HQoS Overview
Hierarchical Quality of Service (HQoS) is a technology that allows you to specify Quality of Service (QoS) behavior at multiple policy levels. It provides a high degree of granularity in traffic management. It can ensure that each network service gets the network resources it needs. This is achieved by classifying, policing, shaping, and scheduling the traffic based on service types. For example, in a simple QoS, you can differentiate between services (such as voice and video), but using H-QoS, you can apply QoS policies to different users, VLANs, maybe logical interfaces, and so on.
The RtBrick Full Stack (RBFS) uses the following HQoS mechanisms:
-
Classifier: Classifies each incoming packet as belonging to a specific class, based on packet contents. Supported classifiers are: Behavior Aggregate (BA) and Multifield (MF). In the BA classifier, packets are classified according to the CoS field: IEEE 802.1p, IPv4/v6 ToS/TC, or MPLS EXP. In the MF classifier, packets are classified using additional fields in the IP header: source IPv4/IPv6 prefix, destination IPv4/IPv6 prefix, L4 source port, L4 destination port, and/or IP protocol.
-
Queuing: Drop unqualified packets in advance using the Weighted Random Early Detection (WRED) technology in the case of congestion to ensure bandwidth for qualified services. This is performed at the egress.
-
Scheduler: Manage traffic on a device using different algorithms for queue scheduling. Such algorithms include Fair Queuing (FQ), Weighted Round Robin (WRR), and Strict Priority (SP).
-
Policer: Policer is implemented in the ingress to drop the unwanted traffic. Policer supports Committed Information Rate (CIR), the Committed Burst Size (CBS), Peak Information Rate (PIR), and Peak Burst Size (PBS). Drop behavior is to either mark traffic as green, yellow, or drop.
-
Shaper: Shaper is implemented in egress to rate-limit the traffic.
-
Remarking: Remarking allows you to rewrite the outgoing packet’s codepoint. Remarking can be performed in the ingress or the egress side of the hardware pipeline.
MPLS HQoS
The MPLS HQoS has both UNIFORM and PIPE modes. These modes provides the following functionality:
-
During MPLS Encapsulation, MPLS Mode is UNIFORM. MSB 3-bits from 8-bits IPv4-ToS or IPv6-TC are copied to the EXP bits of the newly added MPLS header(s).
-
During MPLS Decapsulation, MPLS Mode is PIPE. 8-bits IPv4-ToS or IPv6-TC will be retained and hence it provides ToS/TC codepoint transparency.
For the Uniform MPLS mode mapping between IPv4-ToS or IPv6-TC to MPLS-EXP see the table below:
IPv4-TOS / IPv6-TC | EXP | DSCP |
---|---|---|
0-31 |
0 |
0-7 |
32-63 |
1 |
8-15 |
64-95 |
2 |
16-23 |
96-127 |
3 |
24-31 |
128-159 |
4 |
32-39 |
160-191 |
5 |
40-47 |
192-223 |
6 |
48-55 |
224-255 |
7 |
56-63 |