- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
02-QoS configuration | 634.9 KB |
Contents
QoS processing flow in a device
Configuration procedure diagram
Applying the QoS policy to an interface
Applying the QoS policy to a VLAN
Applying the QoS policy globally
Displaying and maintaining QoS policies
Priority mapping configuration tasks
Configuring a colored priority map
Configuring an uncolored priority map
Configuring a port to trust packet priority for priority mapping
Changing the port priority of an interface
Displaying and maintaining priority mapping
Priority trust mode configuration example
Configuring traffic policing and GTS
Traffic evaluation and token buckets
Configuring GTS for all traffic
Displaying and maintaining traffic policing and GTS
Traffic policing and GTS configuration example
Configuring hardware congestion management
Congestion management techniques
Configuring queue scheduling profiles
Configuring a queue scheduling profile
Displaying and maintaining queue scheduling profiles
Queue scheduling profile configuration example
Configuring low-latency queuing
Configuring traffic redirecting
Displaying and maintaining global CAR configuration
Configuring class-based accounting·
Configuring traffic accounting
Displaying and maintaining traffic accounting
Appendix B Default priority maps
Appendix C Introduction to packet precedences
The switch operates in IRF or standalone (the default) mode. For information about the IRF mode, see IRF Configuration Guide.
In data communications, Quality of Service (QoS) is a network's ability to provide differentiated service guarantees for diversified traffic in terms of bandwidth, delay, jitter, and drop rate, all of which can affect QoS.
Network resources are scarce. The contention for resources requires that QoS prioritize important traffic flows over trivial ones. For example, when bandwidth is fixed, more bandwidth for one traffic flow means less bandwidth for the other traffic flows. When making a QoS scheme, you must consider the characteristics of various applications to balance the interests of diversified users and to utilize network resources.
The following section describes some typical QoS service models and widely used, mature QoS techniques.
QoS service models
This section describes several typical QoS service models.
Best-effort service model
The best-effort model is a single-service model and is also the simplest service model. In this service model, the network does its best to deliver packets, but does not guarantee delay or reliability.
The best-effort service model is the default model in the Internet and applies to most network applications. It uses the First In First Out (FIFO) queuing mechanism.
IntServ model
The integrated service (IntServ) model is a multiple-service model that can accommodate diverse QoS requirements. This service model provides the most granularly differentiated QoS by identifying and guaranteeing definite QoS for each data flow.
In the IntServ model, an application must request service from the network before it sends data. IntServ signals the service request with the RSVP. All nodes receiving the request reserve resources as requested and maintain state information for the application flow.
The IntServ model demands high storage and processing capabilities because it requires all nodes along the transmission path to maintain resource state information for each flow. This model is suitable for small-sized or edge networks, but not large-sized networks, for example, the core layer of the Internet, where billions of flows are present.
DiffServ model
The differentiated service (DiffServ) model is a multiple-service model that can satisfy diverse QoS requirements. It is easy to implement and extend. DiffServ does not signal the network to reserve resources before sending data, as IntServ does.
All QoS techniques in this document are based on the DiffServ model.
QoS techniques overview
The QoS techniques include traffic classification, traffic policing, traffic shaping, line rate, congestion management, and congestion avoidance. The following section briefly introduces these QoS techniques.
Deploying QoS in a network
Figure 1 Position of the QoS techniques in a network
As shown in Figure 1, traffic classification, traffic shaping, traffic policing, congestion management, and congestion avoidance mainly implement the following functions:
· Traffic classification—Uses certain match criteria to assign packets with the same characteristics to a traffic class. Based on traffic classes, you can provide differentiated services.
· Traffic policing—Polices flows entering or leaving a device, and imposes penalties on traffic flows to prevent aggressive use of network resources. You can apply traffic policing to both incoming and outgoing traffic of a port.
· Traffic shaping—Proactively adapts the output rate of traffic to the network resources available on the downstream device to eliminate packet drops. Traffic shaping usually applies to the outgoing traffic of a port.
· Congestion management—Provides a resource scheduling policy to determine the packet forwarding sequence when congestion occurs. Congestion management usually applies to the outgoing traffic of a port.
· Congestion avoidance—Monitors the network resource usage, and is usually applied to the outgoing traffic of a port. When congestion worsens, congestion avoidance reduces the queue length by dropping packets.
QoS processing flow in a device
Figure 2 briefly describes how the QoS module processes traffic:
1. Traffic classifier identifies and classifies traffic for subsequent QoS actions.
2. The QoS module takes various QoS actions on classified traffic as configured, depending on the traffic processing phase and network status. For example, you can configure the QoS module to perform traffic policing for incoming traffic, traffic shaping for outgoing traffic, congestion avoidance before congestion occurs, and congestion management when congestion occurs.
You can configure QoS by using the MQC approach or non-MQC approach. Some features support both approaches, but some support only one.
Non-MQC approach
In the non-MQC approach, you configure QoS service parameters without using a QoS policy. For example, you can use the traffic shaping feature to set a rate limit on an interface without using a QoS policy.
MQC approach
In the modular QoS configuration (MQC) approach, you configure QoS service parameters by using QoS policies. A QoS policy defines the shaping, policing, or other QoS actions to take on different classes of traffic. It is a set of class-behavior associations.
A traffic class is a set of match criteria for identifying traffic, and it uses the AND or OR operator:
· If the operator is AND, a packet must match all the criteria to match the traffic class.
· If the operator is OR, a packet matches the traffic class if it matches any of the criteria in the traffic class.
A traffic behavior defines a set of QoS actions to take on packets, such as priority marking and redirect.
By associating a traffic behavior with a traffic class in a QoS policy, you apply the specific set of QoS actions to the traffic class.
Configuration procedure diagram
Figure 3 shows how to configure a QoS policy.
Figure 3 QoS policy configuration procedure
Defining a traffic class
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
By default, no traffic class is configured. |
3. Configure match criteria. |
if-match match-criteria |
By default, no match criterion is configured. For more information, see the if-match command in ACL and QoS Command Reference. |
Defining a traffic behavior
A traffic behavior is a set of QoS actions (such as traffic filtering, shaping, policing, and priority marking) to take on a traffic class of traffic.
To define a traffic behavior:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
By default, no traffic behavior is configured. |
3. Configure actions in the traffic behavior. |
See the subsequent chapters, depending on the purpose of the traffic behavior: traffic policing, traffic filtering, priority marking, traffic accounting, and so on. |
By default, no action is configured for a traffic behavior. |
Defining a QoS policy
You associate a traffic behavior with a traffic class in a QoS policy to perform the actions defined in the traffic behavior for the traffic class of packets.
To associate a traffic class with a traffic behavior in a QoS policy:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
By default, no QoS policy is configured. |
3. Associate a traffic class with a traffic behavior to create a class-behavior association in the QoS policy. |
classifier classifier-name behavior behavior-name |
By default, a traffic class is not associated with a traffic behavior. Repeat this step to create more class-behavior associations. |
|
IMPORTANT: When an ACL is referenced by a QoS policy for traffic classification, the deny action in an ACL rule means not executing the behavior of the corresponding class-behavior association, and the permit action in an ACL rule means executing the behavior of the corresponding class-behavior association. |
Applying the QoS policy
You can apply a QoS policy to the following destinations:
· An interface—The QoS policy takes effect on the traffic sent or received on the interface.
· A VLAN—The QoS policy takes effect on the traffic sent or received on all ports in the VLAN.
· Globally—The QoS policy takes effect on the traffic sent or received on all ports.
You can modify traffic classes, traffic behaviors, and class-behavior associations in a QoS policy even after it is applied. If a traffic class references an ACL for traffic classification, you can delete or modify the ACL (such as add rules to, delete rules from, and modify rules of the ACL).
Global QoS policies, interface QoS policies, and VLAN QoS policies are in the descending order of priority when being used to match packets.
Applying the QoS policy to an interface
A QoS policy can be applied to multiple interfaces, but only one QoS policy can be applied in one direction (inbound or outbound) of an interface.
The QoS policy applied to the outgoing traffic on an interface does not regulate local packets, which are critical protocol packets sent by the local system for operation maintenance. The most common local packets include link maintenance, routing (IS-IS, BGP, and OSPF for example), RIP, LDP, RSVP, and SSH packets.
You can apply QoS policies to all physical interfaces but X.25- or LAPB-enabled interfaces.
To apply the QoS policy to an interface:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
QoS policies cannot be applied to VLAN or aggregate interfaces. |
3. Apply the QoS policy to the interface. |
qos apply policy policy-name { inbound | outbound } |
By default, no QoS policy is applied to an interface. |
Applying the QoS policy to a VLAN
You can apply a QoS policy to a VLAN to regulate traffic of the VLAN.
Configuration restrictions and guidelines
· QoS policies cannot be applied to dynamic VLANs, including VLANs created by GVRP.
· When you apply a QoS policy to VLANs, the QoS policy is applied to the specified VLANs on all interface cards. If the hardware resources of an interface card are insufficient, applying a QoS policy to VLANs may fail on the interface card. The system does not automatically roll back the QoS policy configuration already applied to the main processing unit or other interface cards. To ensure consistency, use the undo qos vlan-policy vlan command to manually remove the QoS policy configuration applied to them.
Configuration procedure
To apply the QoS policy to a VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Apply the QoS policy to VLANs. |
qos vlan-policy policy-name vlan vlan-id-list { inbound | outbound } |
By default, no QoS policy is applied to a VLAN. |
Applying the QoS policy globally
You can apply a QoS policy globally to the inbound or outbound direction of all ports.
If the hardware resources of an interface card are insufficient, applying a QoS policy globally may fail on the interface card. The system does not automatically roll back the QoS policy configuration already applied to the main processing unit or other interface cards. To ensure consistency, you must use the undo qos apply policy global command to manually remove the QoS policy configuration applied to them.
To apply the QoS policy globally:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Apply the QoS policy globally. |
qos apply policy policy-name global { inbound | outbound } |
By default, no QoS policy is applied globally. |
Displaying and maintaining QoS policies
Execute display commands in any view and reset commands in user view.
Task |
Command |
Display traffic class configuration. |
display traffic classifier user-defined [ classifier-name ] |
Display traffic behavior configuration. |
display traffic behavior user-defined [ behavior-name ] |
Display QoS and ACL resource usage (in standalone mode). |
display qos-acl resource [ slot slot-number ] |
Display QoS and ACL resource usage (in IRF mode). |
display qos-acl resource [ chassis chassis-number slot slot-number ] |
Display user-defined QoS policy configuration. |
display qos policy user-defined [ policy-name [ classifier classifier-name ] ] |
Display QoS policy configuration on the specified or all interfaces. |
display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] |
Display information about QoS policies applied to VLANs (in standalone mode). |
display qos vlan-policy { name policy-name | vlan vlan-id } [ slot slot-number ] [ inbound | outbound ] |
Display information about QoS policies applied to VLANs (in IRF mode). |
display qos vlan-policy { name policy-name | vlan [ vlan-id ] } [ chassis chassis-number slot slot-number ] [ inbound | outbound ] |
Display information about QoS policies applied globally (in standalone mode). |
display qos policy global [ slot slot-number ] [ inbound | outbound ] |
Display information about QoS policies applied globally (in IRF mode). |
display qos policy global [ chassis chassis-number slot slot-number ] [ inbound | outbound ] |
Clear the statistics of the QoS policy applied in a certain direction of a VLAN. |
reset qos vlan-policy [ vlan vlan-id ] [ inbound | outbound ] |
Clear the statistics for a QoS policy applied globally. |
reset qos policy global [ inbound | outbound ] |
Overview
When a packet arrives, depending on your configuration, a device assigns a set of QoS priority parameters to the packet based on either a certain priority field carried in the packet or the port priority of the incoming port. This process is called "priority mapping." During this process, the device can modify the priority of the packet according to the priority mapping rules. The set of QoS priority parameters decides the scheduling priority and forwarding priority of the packet.
Priority mapping is implemented with priority maps and involves priorities such as 802.11e priority, 802.1p priority, DSCP, EXP, IP precedence, local precedence, and drop priority.
Introduction to priorities
Priorities fall into the following types: priorities carried in packets, and priorities locally assigned for scheduling only.
Packet-carried priorities include 802.1p priority, DSCP precedence, IP precedence, and EXP. These priorities have global significance and affect the forwarding priority of packets across the network. For more information about these priorities, see "Appendix."
Locally assigned priorities only have local significance. They are assigned by the device only for scheduling. These priorities include the local precedence, drop priority, and user priority, as follows:
· Local precedence—Used for queuing. A local precedence value corresponds to an output queue. A packet with higher local precedence is assigned to a higher priority output queue to be preferentially scheduled.
· Drop priority—Used for making packet drop decisions. Packets with the highest drop priority are dropped preferentially.
· User priority—Precedence that the device automatically extracts from a certain priority field of the packet according to its forwarding path, and is a parameter for determining the scheduling priority and forwarding priority of the packet. The user priority represents the 802.1p priority for Layer-2 packets, the IP precedence for Layer-3 packets, and the EXP for MPLS packets.
Priority maps
The device provides various types of priority maps. By looking through a priority map, the device decides which priority value to assign to a packet for subsequent packet processing.
The default priority maps (as shown in Appendix B Default priority maps) are available for priority mapping. They are adequate in most cases. If a default priority map cannot meet your requirements, you can modify the priority map as required.
Priority mapping configuration tasks
You can configure priority mapping by using any of the following approaches:
· Configuring priority trust mode—In this approach, you can configure a port to look up a certain trusted priority type (802.1p, for example) in incoming packets in the priority maps and map the trusted priority to the target priority types and values.
· Changing port priority—If no packet priority is trusted, the port priority of the incoming port is used. By changing the port priority of a port, you change the priority of the incoming packets on the port.
· Configuring a QoS policy containing the priority mapping (simply called "primap") action with the primap command.
To configure priority mapping, perform the following tasks:
Tasks at a glance |
(Optional.) Configuring a priority map |
(Required.) Perform one of the following tasks: · Configuring a port to trust packet priority for priority mapping |
Configuring a priority map
The device provides the following types of priority map:
Priority map |
Description |
dot1p-dot1p |
802.1p-802.1p priority map. |
dot1p-dp |
802.1p-drop priority map. |
dot1p-dscp |
802.1p-DSCP priority map. |
dot1p-exp |
802.1p-EXP priority map. |
dot1p-lp |
802.1p-local priority map. |
dscp-dot1p |
DSCP-802.1p priority map. |
dscp-dp |
DSCP-drop priority map. |
dscp-dscp |
DSCP-DSCP priority map. |
dscp-exp |
DSCP-EXP priority map. |
dscp-lp |
DSCP-local priority map. |
exp-dot1p |
EXP-802.1p priority map. |
exp-dp |
EXP-drop priority map. |
exp-dscp |
EXP-DSCP priority map. |
exp-exp |
EXP-EXP priority map. |
exp-lp |
EXP-local priority map. |
Configuring a colored priority map
Packets processed by traffic policing are colored green, yellow, or red. To perform priority mapping for packets in different colors, the device provides colored priority maps. For how traffic policing processes and colors packets, see "Configuring traffic policing and GTS."
To configure a colored priority map:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter colored priority map view. |
qos map-table color { green | yellow | red } { inbound { dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p| dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-exp | exp-lp } | outbound { dot1p-dot1p | dot1p-dscp | dot1p-exp | dscp-dot1p| dscp-dscp | dscp-exp | exp-dot1p | exp-dscp | exp-exp } } |
N/A |
3. Configure mappings for the colored priority map. |
import import-value-list export export-value |
By default, the default colored priority maps are used. For more information, see "Appendix." Newly configured mappings overwrite the old ones. |
Configuring an uncolored priority map
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter priority map view. |
qos map-table { inbound { dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p| dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-lp } } |
N/A |
3. Configure mappings for the priority map. |
import import-value-list export export-value |
By default, the default priority maps are used. For more information, see "Appendix." Newly configured mappings overwrite the old ones. |
Configuring a port to trust packet priority for priority mapping
You can configure the device to trust a particular priority field carried in packets for priority mapping on ports or globally.
When you configure the trusted packet priority type on an interface, use the following available keywords:
· auto—Automatically selects the priority of each received packet according to packet type for mapping. For Layer 2 packets, 802.1p priority is used; for Layer 3 packets, DSCP precedence is used; for MPLS packets, EXP is used.
· dot1p—Uses the 802.1p priority of received packets for mapping.
· dscp—Uses the DSCP precedence of received IP packets for mapping.
· exp—Uses the EXP value of received MPLS packets for mapping.
To configure the trusted packet priority type on an interface:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure the trusted packet priority type. |
qos trust { auto | dot11e | dot1p | dscp | exp | none } [ override ] |
By default, the port priority is trusted for priority mapping. If the override keyword is configured, the original priority carried in the packet is first mapped to the trusted priority, and then the mapped value is used for other priority mappings. Without this keyword, the original priority carried in the packet is directly used for priority mapping. This keyword is incompatible with the exp keyword. |
Changing the port priority of an interface
If an interface does not trust any packet priority, the device uses its port priority to look for the set of priority parameters for the incoming packets. By changing port priority, you can prioritize traffic received on different interfaces.
To change the port priority of an interface:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Set the port priority of the interface. |
qos priority { dot1p | dp | dscp | exp | lp } priority-value |
The default setting is 2 for local precedence and 0 for other priority types. |
Configuring primap
By configuring a primap traffic behavior and associating it with a traffic class, you can re-assign priority parameters for the traffic class according to the specified priority mapping table.
To configure primap:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
N/A |
3. Configure match criteria. |
if-match match-criteria |
N/A |
4. Return to system view. |
quit |
N/A |
5. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
N/A |
6. Configure a CAR action. |
car cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peak-information-rate ] [ red action ] |
By default, no CAR action is configured. |
7. Configure the action of assigning priority values to packets using a specified colored priority mapping table. |
primap pre-defined color { dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-exp | exp-lp } |
By default, no priority mapping action is configured. |
8. Return to system view. |
quit |
N/A |
9. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
N/A |
10. Associate the traffic behavior with the traffic class. |
classifier classifier-name behavior behavior-name |
N/A |
11. Return to system view. |
quit |
N/A |
12. Apply the QoS policy. |
· Applying the QoS policy to an interface |
Choose one of the application destinations as needed. |
Displaying and maintaining priority mapping
Execute display commands in any view.
Task |
Command |
Display priority map configuration. |
display qos map-table [ inbound [ dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p| dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-lp ] ] |
Display colored priority map configuration. |
display qos map-table color [ green | yellow | red ] { inbound [ dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p| dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-exp | exp-lp ] | outbound [ dot1p-dot1p | dot1p-dscp | dot1p-exp | dscp-dot1p| dscp-dscp | dscp-exp | exp-dot1p | exp-dscp | exp-exp ] } |
Display the trusted packet priority type on a port. |
display qos trust interface [ interface-type interface-number ] |
Priority trust mode configuration example
Network requirements
As shown in Figure 4, the DSCP value of traffic from Device A to Device C is 20, and the DSCP value of traffic from Device B to Device C is 2.
Configuration procedure
(Approach 1) Configuring Device C to trust DSCP
# Configure GigabitEthernet 3/0/1 and GigabitEthernet 3/0/2 to automatically select DSCP for priority mapping.
<DeviceC> system-view
[DeviceC] interface gigabitethernet 3/0/1
[DeviceC-GigabitEthernet3/0/1] qos trust dscp
[DeviceC-GigabitEthernet3/0/1] quit
[DeviceC] interface gigabitethernet 3/0/2
[DeviceC-GigabitEthernet3/0/2] qos trust dscp
[DeviceC-GigabitEthernet3/0/2] quit
(Approach 2) Configuring Device C to trust local precedence
# Assign local precedence to GigabitEthernet 3/0/1 and GigabitEthernet 3/0/2. Make sure the local precedence of GigabitEthernet 3/0/1 is higher than that of GigabitEthernet 3/0/2, and no trusted packet priority type is configured on GigabitEthernet 3/0/1 and GigabitEthernet 3/0/2.
<DeviceC> system-view
[DeviceC] interface gigabitethernet 3/0/1
[DeviceC-GigabitEthernet3/0/1] qos priority lp 3
[DeviceC-GigabitEthernet3/0/1] quit
[DeviceC] interface gigabitethernet 3/0/2
[DeviceC-GigabitEthernet3/0/2] qos priority lp 1
[DeviceC-GigabitEthernet3/0/2] quit
Primap configuration example
Network requirements
As shown in Figure 5, Device A is connected through its GigabitEthernet 3/0/1 port to Device C. The DSCP value of traffic sent out of the port is 11. Device B is connected through its GigabitEthernet 3/0/2 port to Device C. The DSCP value of traffic sent out of the port is 13.
Police traffic from Device A and Device B on Device C as follows:
· Set the CIR for traffic from Device A to 300 kbps and permit traffic beyond the CIR.
· Set the CIR for traffic from Device B to 200 kbps and permit traffic beyond the CIR.
When GigabitEthernet 3/0/3 of Device C is congested, Device C schedules first the green packets from Device A, then the green packets from Device B, and finally the red packets from Device A and Device B. Configure priority mapping to achieve this as follows:
· Mark the green packets from Device A with local precedence 4 and the red packets with local precedence 0.
· Mark the green packets from Device B with local precedence 2 and the red packets with local precedence 0.
Configuration procedure
# Configure the DSCP-to-local precedence mapping table.
<DeviceC> system-view
[DeviceC] qos map-table color green inbound dscp-lp
[DeviceC-maptbl-green-in-dscp-lp] import 11 export 4
[DeviceC-maptbl-green-in-dscp-lp] import 13 export 2
[DeviceC-maptbl-green-in-dscp-lp] quit
[DeviceC] qos map-table color red inbound dscp-lp
[DeviceC-maptbl-red-in-dscp-lp] import 11 export 0
[DeviceC-maptbl-red-in-dscp-lp] import 13 export 0
[DeviceC-maptbl-red-in-dscp-lp] quit
# Create traffic classes named classifier_t1 and classifier_t2, and use DSCP 11 and DSCP 13 as the match criteria, respectively.
[DeviceC] traffic classifier t1
[DeviceC-classifier-t1] if-match dscp 11
[DeviceC-classifier-t1] quit
[DeviceC] traffic classifier t2
[DeviceC-classifier-t2] if-match dscp 13
[DeviceC-classifier-t2] quit
# Create traffic behaviors named behavior_t1 and behavior_t2, and configure the primap actions.
[DeviceC] traffic behavior t1
[DeviceC-behavior-t1] car cir 300 red pass
[DeviceC-behavior-t1] primap pre-defined color dscp-lp
[DeviceC-behavior-t1] quit
[DeviceC] traffic behavior t2
[DeviceC-behavior-t2] car cir 200 red pass
[DeviceC-behavior-t2] primap pre-defined color dscp-lp
[DeviceC-behavior-t2] quit
# Create a QoS policy named p1, and associate traffic classes t1 with traffic behavior t1 in the QoS policy.
[DeviceC] qos policy p1
[DeviceC-qospolicy-p1] classifier t1 behavior t1
[DeviceC-qospolicy-p1] quit
# Create a QoS policy named p2, and associate traffic classes t2 with traffic behavior t2 in the QoS policy.
[DeviceC] qos policy p2
[DeviceC-qospolicy-p2] classifier t2 behavior t2
[DeviceC-qospolicy-p2] quit
# Apply QoS policy p1 to the incoming traffic of GigabitEthernet 3/0/3.
[DeviceC] interface GigabitEthernet 3/0/1
[DeviceC-GigabitEthernet3/0/1] qos apply policy p1 inbound
[DeviceC-GigabitEthernet3/0/1] quit
# Apply QoS policy p2 to the incoming traffic of GigabitEthernet 3/0/2.
[DeviceC] interface GigabitEthernet 3/0/2
[DeviceC-GigabitEthernet3/0/2] qos apply policy p2 inbound
[DeviceC-GigabitEthernet3/0/2] quit
Configuring traffic policing and GTS
Overview
Traffic policing helps assign network resources (including bandwidth) and increase network performance. For example, you can configure a flow to use only the resources committed to it in a certain time range. This avoids network congestion caused by burst traffic.
Traffic policing and Generic Traffic Shaping (GTS) limit the traffic rate and resource usage according to traffic specifications. You can use token buckets for evaluating traffic specifications.
Traffic evaluation and token buckets
Token bucket features
A token bucket is analogous to a container that holds a certain number of tokens. Each token represents a certain forwarding capacity. The system puts tokens into the bucket at a constant rate. When the token bucket is full, the extra tokens cause the token bucket to overflow.
Evaluating traffic with the token bucket
A token bucket mechanism evaluates traffic by looking at the number of tokens in the bucket. If the number of tokens in the bucket is enough for forwarding the packets, the traffic conforms to the specification, and is called "conforming traffic." Otherwise, the traffic does not conform to the specification, and is called "excess traffic."
A token bucket has the following configurable parameters:
· Mean rate at which tokens are put into the bucket, which is the permitted average rate of traffic. It is usually set to the committed information rate (CIR).
· Burst size or the capacity of the token bucket. It is the maximum traffic size permitted in each burst. It is usually set to the committed burst size (CBS). The set burst size must be greater than the maximum packet size.
Each arriving packet is evaluated. In each evaluation, if the number of tokens in the bucket is enough, the traffic conforms to the specification and the tokens for forwarding the packet are taken away. If the number of tokens in the bucket is not enough, the traffic is excessive.
Complicated evaluation
You can set two token buckets, bucket C and bucket E, to evaluate traffic in a more complicated environment and achieve more policing flexibility. For example, traffic policing uses the following parameters:
· CIR—Rate at which tokens are put into bucket C. It sets the average packet transmission or forwarding rate allowed by bucket C.
· CBS—Size of bucket C, which specifies the transient burst of traffic that bucket C can forward.
· PIR—Rate at which tokens are put into bucket E, which specifies the average packet transmission or forwarding rate allowed by bucket E.
· EBS—Size of bucket E, which specifies the transient burst of traffic that bucket E can forward.
CBS is implemented with bucket C, and EBS with bucket E. In each evaluation, packets are measured against the following bucket scenarios:
· If bucket C has enough tokens, packets are colored green.
· If bucket C does not have enough tokens but bucket E has enough tokens, packets are colored yellow.
· If neither bucket C nor bucket E has sufficient tokens, packets are colored red.
Traffic policing
Traffic policing supports policing the inbound traffic and the outbound traffic.
A typical application of traffic policing is to supervise the specification of certain traffic entering a network and limit it within a reasonable range, or to "discipline" the extra traffic to prevent aggressive use of network resources by a certain application. For example, you can limit bandwidth for HTTP packets to less than 50% of the total. If the traffic of a certain session exceeds the limit, traffic policing can drop the packets or reset the IP precedence of the packets. Figure 6 shows an example of policing outbound traffic on an interface.
Traffic policing is widely used in policing traffic entering the networks of ISPs. It can classify the policed traffic and take pre-defined policing actions on each packet depending on the evaluation result:
· Forwarding the packet if the evaluation result is "conforming."
· Dropping the packet if the evaluation result is "excess."
· Forwarding the packet with its precedence re-marked if the evaluation result is "conforming."
· Delivering the packet to next-level traffic policing with its precedence re-marked if the evaluation result is "conforming."
GTS
GTS supports shaping the outbound traffic. GTS limits the outbound traffic rate by buffering exceeding traffic. You can use GTS to adapt the traffic output rate on a device to the input traffic rate of its connected device to avoid packet loss.
The differences between traffic policing and GTS are as follows:
· Packets to be dropped with traffic policing are retained in a buffer or queue with GTS, as shown in Figure 7. When enough tokens are in the token bucket, the buffered packets are sent at an even rate.
· GTS can result in additional delay and traffic policing does not.
For example, in Figure 8, Router B performs traffic policing on packets from Router A and drops packets exceeding the limit. To avoid packet loss, you can perform GTS on the outgoing interface of Router A so that packets exceeding the limit are cached in Router A. Once resources are released, GTS takes out the cached packets and sends them out.
Configuring traffic policing
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
By default, no traffic class is configured. |
3. Configure match criteria. |
if-match match-criteria |
By default, no match criterion is configured. For more information about the if-match command, see ACL and QoS Command Reference. |
4. Return to system view. |
quit |
N/A |
5. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
By default, no traffic behavior is configured. |
6. Configure a traffic policing action. |
car cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peak-information-rate ] [ red action ] |
By default, no traffic policing action is configured. |
7. Return to system view. |
quit |
N/A |
8. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
By default, no QoS policy is configured. |
9. Associate the traffic class with the traffic behavior in the QoS policy. |
classifier classifier-name behavior behavior-name |
By default, a traffic class is not associated with a traffic behavior. |
10. Return to system view. |
quit |
N/A |
11. Apply the QoS policy. |
· Applying the QoS policy to an interface |
Choose one of the application destinations as needed. By default, no QoS policy is applied. |
12. (Optional.) Display traffic policing configuration information. |
display traffic behavior user-defined [ behavior-name ] |
Available in any view. |
Configuring GTS
You can configure the following types of GTS:
· Queue-based GTS—Configures GTS parameters for packets of a certain queue.
· GTS for all traffic—Configures GTS parameters for all traffic.
Configuring queue-based GTS
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure GTS for a queue. |
qos gts queue queue-number cir committed-information-rate [ cbs committed-burst-size ] |
By default, GTS is not configured on an interface. |
Configuring GTS for all traffic
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure GTS on the interface. |
qos gts any cir committed-information-rate [ cbs committed-burst-size ] |
By default, GTS is not configured on an interface. |
Displaying and maintaining traffic policing and GTS
Execute display commands in any view.
Task |
Command |
Display QoS and ACL resource usage (in standalone mode). |
display qos-acl resource [ slot slot-number ] |
Display QoS and ACL resource usage (in IRF mode). |
display qos-acl resource [ chassis chassis-number slot slot-number ] |
Display traffic behavior configuration information. |
display traffic behavior user-defined [ behavior-name ] |
Display GTS configuration and statistics on an interface. |
display qos gts interface [ interface-type interface-number ] |
Traffic policing and GTS configuration example
Network requirements
As shown in Figure 9:
· Server, Host A, and Host B can access the Internet through Router A and Router B.
· Server, Host A, and GigabitEthernet 3/0/1 of Device A are in the same network segment.
· Host B, and GigabitEthernet 3/0/2 of Device A are in the same network segment.
Perform traffic control on packets received on GigabitEthernet 3/0/1 of Device A from Server and Host A respectively as follows:
· Limit the rate of packets from Server to 54 kbps. When the traffic rate is below 54 kbps, the traffic is forwarded properly. When the traffic rate exceeds 54 kbps, the excess packets are dropped.
· Limit the rate of packets from Host A to 8 kbps. When the traffic rate is below 8 kbps, the traffic is forwarded properly. When the traffic rate exceeds 8 kbps, the excess packets are dropped.
Limit the outgoing traffic rate on GigabitEthernet 3/0/2 of Device B to 1000 kbps.
Configuration procedure
1. Configure Device A:
# Configure ACLs to permit the packets from Server and Host A.
[DeviceA] acl number 2001
[DeviceA-acl-basic-2001] rule permit source 1.1.1.1 0
[DeviceA-acl-basic-2001] quit
[DeviceA] acl number 2002
[DeviceA-acl-basic-2002] rule permit source 1.1.1.2 0
[DeviceA-acl-basic-2002] quit
# Create traffic classes named classifier_t1 and classifier_t2, and use basic ACLs 2001 and 2002 as the match criteria, respectively.
[DeviceA] traffic classifier t1
[DeviceA-classifier-t1] if-match acl 2001
[DeviceA-classifier-t1] quit
[DeviceA] traffic classifier t2
[DeviceA-classifier-t2] if-match acl 2001
[DeviceA-classifier-t2] quit
# Create traffic behaviors named behavior_t1 and behavior_t2 for traffic control.
[DeviceA] traffic behavior t1
[DeviceA-behavior-t1] car cir 54 cbs 4000 ebs 0 red discard
[DeviceA-behavior-t1] quit
[DeviceA] traffic behavior t2
[DeviceA-behavior-t2] car cir 8 cbs 1875 ebs 0 red discard
[DeviceA-behavior-t2] quit
# Create a QoS policy named t, and associate traffic classes t1 and t2 with traffic behaviors t1 and t2 respectively in the QoS policy.
[DeviceA] qos policy t
[DeviceA-qospolicy-t] classifier t1 behavior t1
[DeviceA-qospolicy-t] classifier t2 behavior t2
[DeviceA-qospolicy-t] quit
# Apply QoS policy t to the incoming traffic of GigabitEthernet 3/0/1.
[DeviceA] interface gigabitethernet 3/0/1
[DeviceA-GigabitEthernet3/0/1] qos apply policy t inbound
[DeviceA-GigabitEthernet3/0/1] quit
2. Limit the outgoing traffic rate on GigabitEthernet 3/0/2 of Device B to 1000 kbps.
[DeviceB] interface gigabitethernet 3/0/2
[DeviceB-GigabitEthernet3/0/2] qos gts any cir 1000
Overview
Congestion occurs on a link or node when traffic size exceeds the processing capability of the link or node. It is typical of a statistical multiplexing network and can be caused by link failures, insufficient resources, and various other causes.
Impacts and countermeasures
Figure 10 shows two typical congestion scenarios.
Figure 10 Traffic congestion scenarios
Congestion brings the following negative results:
· Increased delay and jitter during packet transmission
· Decreased network throughput and resource use efficiency
· Network resource (memory in particular) exhaustion and even system breakdown
Congestion is unavoidable in switched networks and multi-user application environments. To improve the service performance of your network, take measures to manage and control it.
The key to congestion management is defining a resource dispatching policy to prioritize packets for forwarding when congestion occurs.
Congestion management techniques
Congestion management uses queuing and scheduling algorithms to classify and sort traffic leaving a port.
The following section describes several common scheduling algorithms.
SP queuing
SP queuing is designed for mission-critical applications that require preferential service to reduce the response delay when congestion occurs.
In Figure 11, SP queuing classifies eight queues on a port into eight classes, numbered 7 to 0 in descending priority order.
SP queuing schedules the eight queues in the descending order of priority. SP queuing sends packets in the queue with the highest priority first. When the queue with the highest priority is empty, it sends packets in the queue with the second highest priority, and so on. You can assign mission-critical packets to a high priority queue to make sure they are always served first, and common service packets to the low priority queues to be transmitted when the high priority queues are empty.
The disadvantage of SP queuing is that packets in the lower priority queues cannot be transmitted if packets exist in the higher priority queues. In the worst case, lower priority traffic might never get serviced.
WRR queuing
WRR queuing schedules all the queues in turn to ensure every queue is served for a certain time, as shown in Figure 12.
Assume a port provides eight output queues. WRR assigns each queue a weight value (represented by w7, w6, w5, w4, w3, w2, w1, or w0) to decide the proportion of resources assigned to the queue. On a 100 Mbps port, you can configure the weight values of WRR queuing to 50, 30, 10, 10, 50, 30, 10, and 10 (corresponding to w7, w6, w5, w4, w3, w2, w1, and w0, respectively). In this way, a queue with a weight of 10 can get a minimum of 5 Mbps of bandwidth. WRR solves the problem that SP queuing may fail to serve packets in low-priority queues for a long time.
Another advantage of WRR queuing is that when the queues are scheduled in turn, the service time for each queue is not fixed. If a queue is empty, the next queue will be scheduled immediately. This improves bandwidth resource use efficiency.
WRR queuing falls into the following types:
· Basic WRR queuing—Contains multiple queues. You can configure the weight for each queue and WRR schedules these queues based on the user-defined parameters in a round robin manner.
· Group-based WRR queuing—All the queues are scheduled by WRR. You can divide the output queue to WRR priority queue group 1 and WRR priority queue group 2. Round robin queue scheduling is first performed for the group which has the highest-numbered queue. If this group is empty, round robin queue scheduling is performed for the other group.
Configuring queue scheduling profiles
In a queue scheduling profile, you can configure scheduling parameters for each queue. By applying the queue scheduling profile to an interface, you can implement congestion management on the interface.
Queue scheduling profiles support two queue scheduling algorithms: SP and WRR. In a queue scheduling profile, you can configure a single scheduling algorithm or a combination of them. When the three queue scheduling algorithms are configured, SP queues, WRR groups, and WFQ groups are scheduled in descending order of queue ID. In a WRR or WFQ group, queues are scheduled based on their weights. When SP and WRR groups are configured in a queue scheduling profile, Figure 13 shows the scheduling order.
Figure 13 Queue scheduling profile configured with both SP and WRR
· Queue 7 has the highest priority. Its packets are sent preferentially.
· Queue 6 has the second highest priority. Packets in queue 6 are sent when queue 7 is empty.
· Queue 3, queue 4, and queue 5 are scheduled according to their weights. When both queue 6 and queue 7 are empty, WRR group 1 is scheduled.
· Queue 1 and queue 2 are scheduled according to their weights. WRR group 2 is scheduled when queue 7, queue 6, queue 5, queue 4, and queue 3 are all empty.
· Queue 0 has the lowest priority, and it is scheduled when all the other queues are empty.
Configuring a queue scheduling profile
To configure a queue scheduling profile, create the queue scheduling profile first, and then enter the queue scheduling profile view to configure its queue scheduling parameters. At last, apply the queue scheduling profile to the specified interface.
When you configure a queue scheduling profile, follow these guidelines:
· Only one queue scheduling profile can be applied to an interface.
· You can modify the scheduling parameters in a queue scheduling profile already applied to an interface.
· To guarantee accurate scheduling, make sure the queues in a WRR group have consecutive numbers.
To configure a queue scheduling profile:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a queue scheduling profile and enter queue scheduling profile view. |
qos qmprofile profile-name |
By default, no queue scheduling profile exists. |
3. Configure queue scheduling parameters. |
·
Configure a queue to use SP: ·
Configure a queue to use WRR: |
Use one of the commands. By default, a newly created queue scheduling profile uses SP scheduling for all queues. One queue can use only one queue scheduling algorithm. In a queue scheduling profile, you can configure different queue scheduling algorithms for different queues. |
4. Return to system view. |
quit |
N/A |
5. Enter interface view. |
interface interface-type interface-number |
N/A |
6. Apply the queue scheduling profile to the interface. |
qos apply qmprofile profile-name |
By default, an interface uses SP queuing for its output queues. |
Displaying and maintaining queue scheduling profiles
Execute display commands in any view.
Task |
Command |
Display the configuration of the specified or all queue scheduling profiles (in standalone mode). |
display qos qmprofile configuration [ profile-name ] [ slot slot-number ] |
Display the configuration of the specified or all queue scheduling profiles (in IRF mode). |
display qos qmprofile configuration [ profile-name ] [ chassis chassis-number slot slot-number ] |
Display the queue scheduling profiles already applied to interfaces. |
display qos qmprofile interface [ interface-type interface-number ] |
Queue scheduling profile configuration example
Network requirements
Configure a queue scheduling profile to satisfy the following requirements on interface GigabitEthernet 3/0/1:
· Queue 7 has the highest priority, and its packets are sent preferentially.
· Queue 4, queue 5, and queue 6 are in WRR group 1 and scheduled according to their weights, which are 1, 5, and 10, respectively. When queue 7 is empty, WRR group 1 is scheduled.
· Queue 1, queue 2, and queue 3 are in WRR group 2 and scheduled according to their weights, which are 1, 10, and 20, respectively. When queue 4, queue 5, queue 6, and queue 7 are all empty, WRR group 2 is scheduled.
· Queue 0 has the lowest priority. Queue 0 is scheduled when all the other queues are empty.
Configuration procedure
# Enter system view.
<Sysname> system-view
# Create queue scheduling profile qm1.
[Sysname] qos qmprofile qm1
[Sysname-qmprofile-qm1]
# Configure queue 7 to use SP queuing.
[Sysname-qmprofile-qm1] queue 7 sp
# Assign queue 4, queue 5, and queue 6 to WRR group 1, with the weight of 1, 5, and 10, respectively.
[Sysname-qmprofile-qm1] queue 4 wrr group 1 weight 1
[Sysname-qmprofile-qm1] queue 5 wrr group 1 weight 5
[Sysname-qmprofile-qm1] queue 6 wrr group 1 weight 10
# Assign queue 1, queue 2, and queue 3 to WRR group 2, with the weight of 1, 10, and 20, respectively.
[Sysname-qmprofile-qm1] queue 1 wrr group 2 weight 1
[Sysname-qmprofile-qm1] queue 2 wrr group 2 weight 10
[Sysname-qmprofile-qm1] queue 3 wrr group 2 weight 20
# Configure queue 0 to use SP queuing.
[Sysname-qmprofile-qm1] queue 0 sp
[Sysname-qmprofile-qm1] quit
# Apply queue scheduling profile qm1 to interface GigabitEthernet 3/0/1.
[Sysname] interface gigabitethernet 3/0/1
[Sysname-GigabitEthernet3/0/1] qos apply qmprofile qm1
After the configuration is completed, interface GigabitEthernet 3/0/1 performs queue scheduling as specified in queue scheduling profile qm1.
Configuring low-latency queuing
In the scenario requiring a low forwarding delay, you can enable low-latency queuing, so that the device can reduce the forwarding delay.
On a device that supports MDC, this feature is supported by only the default MDC. For more information about MDC, see Fundamentals Configuration Guide.
To configure low-latency queuing:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable low-latency queuing. |
queue low-latency enable |
By default, low-latency queuing is disabled. |
You can filter in or filter out traffic of a class by associating the class with a traffic filtering action. For example, you can filter packets sourced from a specific IP address according to network status.
Configuration procedure
To configure traffic filtering:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
By default, no traffic class is configured. |
3. Configure match criteria. |
if-match match-criteria |
By default, no match criterion is configured. |
4. Return to system view. |
quit |
N/A |
5. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
By default, no traffic behavior is configured. |
6. Configure the traffic filtering action. |
filter { deny | permit } |
By default, no traffic filtering action is configured. With filter deny configured for a traffic behavior, the other actions (except class-based accounting) in the traffic behavior do not take effect. |
7. Return to system view. |
quit |
N/A |
8. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
By default, no QoS policy is configured. |
9. Associate the traffic class with the traffic behavior in the QoS policy. |
classifier classifier-name behavior behavior-name |
By default, a traffic class is not associated with a traffic behavior. |
10. Return to system view. |
quit |
N/A |
11. Apply the QoS policy. |
· Applying the QoS policy to an interface |
Choose one of the application destinations as needed. By default, no QoS policy is applied. |
12. (Optional.) Display the traffic filtering configuration. |
display traffic behavior user-defined [ behavior-name ] |
Available in any view. |
Configuration example
Network requirements
As shown in Figure 14, configure traffic filtering to filter the packets with source port not being 21, and received on GigabitEthernet 3/0/1.
Configuration procedure
# Create advanced ACL 3000, and configure a rule to match packets whose source port number is not 21.
<Device> system-view
[Device] acl number 3000
[Device-acl-adv-3000] rule 0 permit tcp source-port neq 21
[Device-acl-adv-3000] quit
# Create a traffic class named classifier_1, and use ACL 3000 as the match criterion in the traffic class.
[Device] traffic classifier classifier_1
[Device-classifier-classifier_1] if-match acl 3000
[Device-classifier-classifier_1] quit
# Create a traffic behavior named behavior_1, and configure the traffic filtering action to drop packets.
[Device] traffic behavior behavior_1
[Device-behavior-behavior_1] filter deny
[Device-behavior-behavior_1] quit
# Create a QoS policy named policy, and associate traffic class classifier_1 with traffic behavior behavior_1 in the QoS policy.
[Device] qos policy policy
[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1
[Device-qospolicy-policy] quit
# Apply the QoS policy named policy to the incoming traffic of GigabitEthernet 3/0/1.
[Device] interface gigabitethernet 3/0/1
[Device-GigabitEthernet3/0/1] qos apply policy policy inbound
Priority marking sets the priority fields or flag bits of packets to modify the priority of packets. For example, you can use priority marking to set IP precedence or DSCP for a traffic class of IP packets to control the forwarding of these packets.
Configuration procedure
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
By default, no traffic class is configured. |
3. Configure match criteria. |
if-match match-criteria |
By default, no match criterion is configured. For more information about the if-match command, see ACL and QoS Command Reference. |
4. Return to system view. |
quit |
N/A |
5. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
By default, no traffic behavior is configured. |
6. Configure a priority marking action. |
·
Set the DSCP value for packets: · Set the 802.1p priority for packets: · Set the drop priority for packets: · Set the local precedence for packets: ·
Set the SVLAN ID for packets: |
Use one of the commands. By default, no priority marking action is configured. The remark drop-precedence command applies to only the incoming traffic. |
7. Return to system view. |
quit |
N/A |
8. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
By default, no QoS policy is configured. |
9. Associate the traffic class with the traffic behavior in the QoS policy. |
classifier classifier-name behavior behavior-name |
By default, a traffic class is not associated with a traffic behavior. |
10. Return to system view. |
quit |
N/A |
11. Apply the QoS policy. |
· Applying the QoS policy to an interface |
Choose one of the application destinations as needed. By default, no QoS policy is applied. |
12. (Optional.) Display the priority marking configuration. |
display traffic behavior user-defined [ behavior-name ] |
Available in any view. |
Configuration example
Network requirements
As shown in Figure 15, configure priority marking on Device to satisfy the following requirements:
Traffic source |
Destination |
Processing priority |
Host A, B |
Data server |
High |
Host A, B |
Mail server |
Medium |
Host A, B |
File server |
Low |
Configuration procedure
# Create advanced ACL 3000, and configure a rule to match packets with destination IP address 192.168.0.1.
<Device> system-view
[Device] acl number 3000
[Device-acl-adv-3000] rule permit ip destination 192.168.0.1 0
[Device-acl-adv-3000] quit
# Create advanced ACL 3001, and configure a rule to match packets with destination IP address 192.168.0.2.
[Device] acl number 3001
[Device-acl-adv-3001] rule permit ip destination 192.168.0.2 0
[Device-acl-adv-3001] quit
# Create advanced ACL 3002, and configure a rule to match packets with destination IP address 192.168.0.3.
[Device] acl number 3002
[Device-acl-adv-3002] rule permit ip destination 192.168.0.3 0
[Device-acl-adv-3002] quit
# Create a traffic class named classifier_dbserver, and use ACL 3000 as the match criterion in the traffic class.
[Device] traffic classifier classifier_dbserver
[Device-classifier-classifier_dbserver] if-match acl 3000
[Device-classifier-classifier_dbserver] quit
# Create a traffic class named classifier_mserver, and use ACL 3001 as the match criterion in the traffic class.
[Device] traffic classifier classifier_mserver
[Device-classifier-classifier_mserver] if-match acl 3001
[Device-classifier-classifier_mserver] quit
# Create a traffic class named classifier_fserver, and use ACL 3002 as the match criterion in the traffic class.
[Device] traffic classifier classifier_fserver
[Device-classifier-classifier_fserver] if-match acl 3002
[Device-classifier-classifier_fserver] quit
# Create a traffic behavior named behavior_dbserver, and configure the action of setting the local precedence value to 4.
[Device] traffic behavior behavior_dbserver
[Device-behavior-behavior_dbserver] remark local-precedence 4
[Device-behavior-behavior_dbserver] quit
# Create a traffic behavior named behavior_mserver, and configure the action of setting the local precedence value to 3.
[Device] traffic behavior behavior_mserver
[Device-behavior-behavior_mserver] remark local-precedence 3
[Device-behavior-behavior_mserver] quit
# Create a traffic behavior named behavior_fserver, and configure the action of setting the local precedence value to 2.
[Device] traffic behavior behavior_fserver
[Device-behavior-behavior_fserver] remark local-precedence 2
[Device-behavior-behavior_fserver] quit
# Create a QoS policy named policy_server, and associate traffic classes with traffic behaviors in the QoS policy.
[Device] qos policy policy_server
[Device-qospolicy-policy_server] classifier classifier_dbserver behavior behavior_dbserver
[Device-qospolicy-policy_server] classifier classifier_mserver behavior behavior_mserver
[Device-qospolicy-policy_server] classifier classifier_fserver behavior behavior_fserver
[Device-qospolicy-policy_server] quit
# Apply the QoS policy named policy_server to the incoming traffic of GigabitEthernet 3/0/1.
[Device] interface gigabitethernet 3/0/1
[Device-GigabitEthernet3/0/1] qos apply policy policy_server inbound
[Device-GigabitEthernet3/0/1] quit
Traffic redirecting is the action of redirecting the packets matching the specific match criteria to a certain location for processing.
The following redirect actions are supported:
· Redirecting traffic to the CPU—Redirects packets that require processing by the CPU to the CPU.
· Redirecting traffic to an interface—Redirects packets that require processing by an interface to the interface. This action applies to only Layer 2 packets, and the target interface must be a Layer 2 interface.
¡ In IRF mode, the switch does not support redirecting traffic to an aggregate interface.
¡ In IRF mode, the switch does not support redirecting traffic to an outgoing interface that resides on a different IRF member device than the incoming interface (cross-chassis redirecting).
Configuration procedure
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
By default, no traffic class exists. |
3. Configure match criteria. |
if-match match-criteria |
By default, no match criteria are configured for a traffic class. For more information about the match criteria, see the if-match command in ACL and QoS Command Reference. |
4. Return to system view. |
quit |
N/A |
5. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
By default, no traffic behavior exists. |
6. Configure a traffic redirecting action. |
redirect { cpu | interface interface-type interface-number [ vlan vlan-id ] } |
By default, no traffic redirecting action is configured for a traffic behavior. The actions of redirecting traffic to the CPU and redirecting traffic to an interface are mutually exclusive with each other in the same traffic behavior. The last redirecting action configured takes effect. |
7. Return to system view. |
quit |
N/A |
8. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
By default, no QoS policy exists. |
9. Associate the traffic class with the traffic behavior in the QoS policy. |
classifier classifier-name behavior behavior-name |
By default, no class-behavior association is configured for a QoS policy. |
10. Return to system view. |
quit |
N/A |
11. Apply the QoS policy. |
· Applying the QoS policy to an interface |
Choose one of the application destinations as needed. |
12. (Optional.) Display traffic redirecting configuration information. |
display traffic behavior user-defined [ behavior-name ] |
Available in any view. |
Configuration example
|
IMPORTANT: By default, Ethernet, VLAN, and aggregate interfaces are down. To configure such an interface, bring the interface up by executing the undo shutdown command. |
Network requirements
As shown in Figure 16, traffic sourced from 2.2.2.0/24 and 3.3.3.0/24 enters Device A from interface GigabitEthernet 3/0/1.
Redirect the traffic from these two network segments to outgoing interfaces GigabitEthernet 3/0/2 and GigabitEthernet 3/0/3, respectively.
Configuration procedure
# Create basic ACL 2000, and configure a rule to match packets from 2.2.2.0/24.
<DeviceA> system-view
[DeviceA] acl number 2000
[DeviceA-acl-basic-2000] rule permit source 2.2.2.0 255.255.255.0
[DeviceA-acl-basic-2000] quit
# Create basic ACL 2001, and configure a rule to match packets from 3.3.3.0/24.
[DeviceA] acl number 2001
[DeviceA-acl-basic-2001] rule permit source 3.3.3.0 255.255.255.0
[DeviceA-acl-basic-2001] quit
# Create a traffic class named classifier_1 and use ACL 2000 as the match criterion in the traffic class.
[DeviceA] traffic classifier classifier_1
[DeviceA-classifier-classifier_1] if-match acl 2000
[DeviceA-classifier-classifier_1] quit
# Create a traffic class named classifier_2 and use ACL 2001 as the match criterion in the traffic class.
[DeviceA] traffic classifier classifier_2
[DeviceA-classifier-classifier_2] if-match acl 2001
[DeviceA-classifier-classifier_2] quit
# Create a traffic behavior named behavior_1, and configure the action of redirecting traffic to GigabitEthernet 3/0/2.
[DeviceA] traffic behavior behavior_1
[DeviceA-behavior-behavior_1] redirect interface GigabitEthernet 3/0/2
[DeviceA-behavior-behavior_1] quit
# Create a traffic behavior named behavior_2, and configure the action of redirecting traffic to GigabitEthernet 3/0/3.
[DeviceA] traffic behavior behavior_2
[DeviceA-behavior-behavior_2] redirect interface GigabitEthernet 3/0/3
[DeviceA-behavior-behavior_2] quit
# Create a QoS policy named policy, associate traffic class classifier_1 with traffic behavior behavior_1, and associate traffic class classifier_2 with traffic behavior behavior_2 in the QoS policy.
[DeviceA] qos policy policy
[DeviceA-qospolicy-policy] classifier classifier_1 behavior behavior_1
[DeviceA-qospolicy-policy] classifier classifier_2 behavior behavior_2
[DeviceA-qospolicy-policy] quit
# Apply the QoS policy named policy to the incoming traffic of GigabitEthernet 3/0/1.
[DeviceA] interface GigabitEthernet 3/0/1
[DeviceA-GigabitEthernet 3/0/1] qos apply policy policy inbound
Overview
Global committed access rate (CAR) is an approach to policing traffic flows globally. It adds flexibility to common CAR where traffic policing is performed only on a per-traffic class or per-interface basis. In this approach, CAR actions are created in system view and each can be referenced to police multiple traffic flows as a whole.
Global CAR provides only aggregate CAR.
An aggregate CAR action is created globally and can be directly applied to interfaces or referenced in the traffic behaviors associated with different traffic classes to police multiple traffic flows as a whole. The total rate of the traffic flows must conform to the traffic policing specifications set in the aggregate CAR action.
Configuring aggregate CAR
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Configure an aggregate CAR action. |
qos car car-name aggregative cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peek-information-rate ] [ red action ] |
By default, no aggregate CAR action is configured. |
3. Enter traffic behavior view. |
traffic behavior behavior-name |
N/A |
4. Reference the aggregate CAR action in the traffic behavior. |
car name car-name |
By default, no aggregate CAR action is referenced. |
Displaying and maintaining global CAR configuration
Execute display commands in any view and reset commands in user view.
Task |
Command |
Display statistics for global CAR actions. |
display qos car name [ car-name ] |
Clear statistics for global CAR actions. |
reset qos car name [ car-name ] |
Configuration example
# Create an aggregate CAR action named aggcar-1, and configure the following parameters for it: CIR 200, CBS 2000, and dropping red packets. Reference aggregate CAR aggcar-1 in behavior be1.
<Sysname> system-view
[Sysname] qos car aggcar-1 aggregative cir 200 cbs 2000 red discard
[Sysname] traffic behavior be1
[Sysname-behavior-be1] car name aggcar-1
Configuration procedure
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a traffic class and enter traffic class view. |
traffic classifier classifier-name [ operator { and | or } ] |
By default, no traffic class is configured. |
3. Configure match criteria. |
if-match match-criteria |
By default, no match criterion is configured. For more information about the if-match command, see ACL and QoS Command Reference. |
4. Return to system view. |
quit |
N/A |
5. Create a traffic behavior and enter traffic behavior view. |
traffic behavior behavior-name |
By default, no traffic behavior is configured. |
6. Configure the accounting action. |
accounting { byte | packet } |
By default, no traffic accounting action is configured. |
7. Return to system view. |
quit |
N/A |
8. Create a QoS policy and enter QoS policy view. |
qos policy policy-name |
By default, no QoS policy is configured. |
9. Associate the traffic class with the traffic behavior in the QoS policy. |
classifier classifier-name behavior behavior-name |
By default, a traffic class is not associated with a traffic behavior. |
10. Return to system view. |
quit |
N/A |
11. Apply the QoS policy. |
· Applying the QoS policy to an interface |
Choose one of the application destinations as needed. By default, no QoS policy is applied. |
12. Display traffic accounting configuration. |
· In standalone mode: ¡ display qos policy global [ slot slot-number ] [ inbound | outbound ] ¡ display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] ¡ display qos vlan-policy { name policy-name | vlan [ vlan-id ] } [ slot slot-number ] [ inbound | outbound ] · In IRF mode: ¡ display qos policy global [ chassis chassis-number slot slot-number ] [ inbound | outbound ] ¡ display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] ¡ display qos vlan-policy { name policy-name | vlan [ vlan-id ] } [ chassis chassis-number slot slot-number ] [ inbound | outbound ] |
Available in any view. |
Configuration example
|
IMPORTANT: By default, Ethernet, VLAN, and aggregate interfaces are down. To configure such an interface, bring the interface up by executing the undo shutdown command. |
Network requirements
As shown in Figure 17, configure class-based accounting to collect statistics for traffic sourced from 1.1.1.1/24 and received on GigabitEthernet 3/0/1.
Configuration procedure
# Create basic ACL 2000, and configure a rule to match packets with source IP address 1.1.1.1.
<Device> system-view
[Device] acl number 2000
[Device-acl-basic-2000] rule permit source 1.1.1.1 0
[Device-acl-basic-2000] quit
# Create a traffic class named classifier_1, and use ACL 2000 as the match criterion in the traffic class.
[Device] traffic classifier classifier_1
[Device-classifier-classifier_1] if-match acl 2000
[Device-classifier-classifier_1] quit
# Create a traffic behavior named behavior_1, and configure the class-based accounting action.
[Device] traffic behavior behavior_1
[Device-behavior-behavior_1] accounting packet
[Device-behavior-behavior_1] quit
# Create a QoS policy named policy, and associate traffic class classifier_1 with traffic behavior behavior_1 in the QoS policy.
[Device] qos policy policy
[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1
[Device-qospolicy-policy] quit
# Apply the QoS policy named policy to the incoming traffic of GigabitEthernet 3/0/1.
[Device] interface gigabitethernet 3/0/1
[Device-GigabitEthernet3/0/1] qos apply policy policy inbound
[Device-GigabitEthernet3/0/1] quit
# Display traffic statistics to verify the configuration.
[Device] display qos policy interface gigabitethernet 3/0/1
Interface: GigabitEthernet3/0/1
Direction: Inbound
Policy: policy
Classifier: classifier_1
Operator: AND
Rule(s) : If-match acl 2000
Behavior: behavior_1
Accounting enable:
28529 (Packets)
The difference between class-based accounting and traffic accounting lies in that traffic accounting collects statistics according to system-defined statistics collecting rules and class-based accounting collects statistics for user-defined traffic classes.
A device provides two counters to collect outbound and inbound traffic statistics.
You can enable the two counters at the same time. They collect statistics independently.
Configuration procedure
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable traffic accounting and specify the type of traffic (in standalone mode). |
qos traffic-counter { inbound | outbound } { counter0 | counter1 } slot slot-number [ drop-priority drop-priority | interface interface-type interface-number | vlan vlan-id ] * |
By default, traffic accounting is disabled. |
3. Enable traffic accounting and specify the type of traffic (in IRF mode). |
qos traffic-counter { inbound | outbound } { counter0 | counter1 } chassis chassis-number slot slot-number [ drop-priority drop-priority | interface interface-type interface-number | vlan vlan-id ] * |
By default, traffic accounting is disabled. |
Displaying and maintaining traffic accounting
Execute display commands in any view and reset commands in user view.
Task |
Command |
Display traffic statistics collected by the traffic accounting function (in standalone mode). |
display qos traffic-counter { inbound | outbound } { counter0 | counter1 } slot slot-number |
Display traffic statistics collected by the traffic accounting function (in IRF mode). |
display qos traffic-counter { inbound | outbound } { counter0 | counter1 } chassis chassis-number slot slot-number |
Clear the traffic statistics collected by a counter of the traffic accounting function (in standalone mode). |
reset qos traffic-counter { inbound | outbound } { counter0 | counter1 } slot slot-number |
Clear the traffic statistics collected by a counter of the traffic accounting function (in IRF mode). |
reset qos traffic-counter { inbound | outbound } { counter0 | counter1 } chassis chassis-number slot slot-number |
Appendix A Acronym
Table 1 Appendix A Acronym
Acronym |
Full spelling |
AF |
Assured Forwarding |
BE |
Best Effort |
BQ |
Bandwidth Queuing |
CAR |
Committed Access Rate |
CBS |
Committed Burst Size |
CBQ |
Class Based Queuing |
CBWFQ |
Class Based Weighted Fair Queuing |
CE |
Customer Edge |
CIR |
Committed Information Rate |
CQ |
Custom Queuing |
DAR |
Deeper Application Recognition |
DCBX |
Data Center Bridging Exchange Protocol |
DiffServ |
Differentiated Service |
DoS |
Denial of Service |
DSCP |
Differentiated Services Code Point |
EACL |
Enhanced ACL |
EBS |
Excess Burst Size |
ECN |
Explicit Congestion Notification |
EF |
Expedited Forwarding |
FEC |
Forwarding Equivalence Class |
FIFO |
First in First out |
FQ |
Fair Queuing |
GTS |
Generic Traffic Shaping |
IntServ |
Integrated Service |
ISP |
Internet Service Provider |
LFI |
Link Fragmentation and Interleaving |
LLQ |
Low Latency Queuing |
LR |
Line Rate |
LSP |
Label Switched Path |
MPLS |
Multiprotocol Label Switching |
P2P |
Peer-to-Peer |
PE |
Provider Edge |
PHB |
Per-hop Behavior |
PIR |
Peak Information Rate |
PQ |
Priority Queuing |
QoS |
Quality of Service |
QPPB |
QoS Policy Propagation Through the Border Gateway Protocol |
RED |
Random Early Detection |
RSVP |
Resource Reservation Protocol |
RTP |
Real-Time Transport Protocol |
SLA |
Service Level Agreement |
SP |
Strict Priority |
TE |
Traffic Engineering |
ToS |
Type of Service |
TP |
Traffic Policing |
TS |
Traffic Shaping |
VoIP |
Voice over IP |
VPN |
Virtual Private Network |
WFQ |
Weighted Fair Queuing |
WRED |
Weighted Random Early Detection |
WRR |
Weighted Round Robin |
Appendix B Default priority maps
Colored priority maps
Packets processed by CAR are colored green, yellow, or red. To perform priority mapping for packets in different colors, the switch provides multiple colored priority mapping tables, as described in subsections.
The mappings described in this section apply to both directions are the same for the three colors unless otherwise specified.
ot1p-dot1p mapping
By default, the output value equals the input value.
dot1p-dp mapping
Table 2 Default dot1p-dp mapping table
Input value |
dot1p-dp mapping (inbound) |
||
green |
yellow |
red |
|
0 to 7 |
0 |
1 |
2 |
dot1p-dscp
By default, the output value equals the input value multiplied by 8.
dot1p-exp
By default, the output value equals the input value.
dot1p-lp
Table 3 Default dot1p-lp mapping table
Input value |
dot1p-lp mapping (inbound) |
||
green |
yellow |
red |
|
0 |
2 |
2 |
2 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
1 |
3 |
3 |
3 |
3 |
4 |
4 |
4 |
4 |
5 |
5 |
5 |
5 |
6 |
6 |
6 |
6 |
7 |
7 |
7 |
7 |
dscp-dot1p
Table 4 Default dscp-dot1p mapping table
Input value |
dscp-dot1p mapping |
||
green |
yellow |
red |
|
0 to 7 |
0 |
0 |
0 |
8 to 15 |
1 |
1 |
1 |
16 to 23 |
2 |
2 |
2 |
24 to 31 |
3 |
3 |
3 |
32 to 39 |
4 |
4 |
4 |
40 to 47 |
5 |
5 |
5 |
48 to 55 |
6 |
6 |
6 |
56 to 63 |
7 |
7 |
7 |
dscp-dp
Table 5 Default dscp-dp mapping table
Input value |
dscp-dp mapping (inbound) |
||
green |
yellow |
red |
|
0 to 63 |
0 |
1 |
2 |
dscp-dscp
By default, the output value equals the input value.
dscp-exp
Table 6 Default dscp-exp mapping table
Input value |
dscp-exp mapping |
||
green |
yellow |
red |
|
0 to 7 |
0 |
0 |
0 |
8 to 15 |
1 |
1 |
1 |
16 to 23 |
2 |
2 |
2 |
24 to 31 |
3 |
3 |
3 |
32 to 39 |
4 |
4 |
4 |
40 to 47 |
5 |
5 |
5 |
48 to 55 |
6 |
6 |
6 |
56 to 63 |
7 |
7 |
7 |
dscp-lp
Table 7 Default dscp-lp mapping table
Input value |
dscp-lp mapping (inbound) |
||
green |
yellow |
red |
|
0–7 |
0 |
0 |
0 |
8–15 |
1 |
1 |
1 |
16–23 |
2 |
2 |
2 |
24–31 |
3 |
3 |
3 |
32–39 |
4 |
4 |
4 |
40–47 |
5 |
5 |
5 |
48–55 |
6 |
6 |
6 |
56–63 |
7 |
7 |
7 |
exp-dot1p
By default, the output value equals the input value.
exp-dp
Table 8 Default exp-dp mapping table
Input value |
exp-dp mapping (inbound) |
||
green |
yellow |
red |
|
0 to 7 |
0 |
1 |
2 |
exp-dscp
By default, the output value equals the input value multiplied by 8.
exp-exp
By default, the output value equals the input value.
exp-lp (inbound)
By default, the output value equals the input value.
Uncolored priority maps
The switch provides various types of uncolored priority mapping table. For the default dot1p-dot1p, dot1p-exp, dscp-dscp, exp-lp, and exp-dot1p priority maps, an input value yields a target value equal to it. Other default priority maps are as follows:
Table 9 Default dot1p-lp, dot1p-dp, and dot1p-dscp priority maps
Input priority value |
dot1p-lp map |
dot1p-dp map |
dot1p-dscp map |
dot1p |
lp |
dp |
dscp |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
8 |
2 |
1 |
0 |
16 |
3 |
3 |
0 |
24 |
4 |
4 |
0 |
32 |
5 |
5 |
0 |
40 |
6 |
6 |
0 |
48 |
7 |
7 |
0 |
56 |
Table 10 Default dscp-lp, dscp-dp, dscp-dot1p, and dscp-exp priority maps
Input priority value |
dscp-lp map |
dscp-dp map |
dscp-dot1p map |
dscp-exp map |
dscp |
lp |
dp |
dot1p |
exp |
0 to 7 |
0 |
0 |
0 |
0 |
8 to 15 |
1 |
0 |
1 |
1 |
16 to 23 |
2 |
0 |
2 |
2 |
24 to 31 |
3 |
0 |
3 |
3 |
32 to 39 |
4 |
0 |
4 |
4 |
40 to 47 |
5 |
0 |
5 |
5 |
48 to 55 |
6 |
0 |
6 |
6 |
56 to 63 |
7 |
0 |
7 |
7 |
Table 11 Default exp-dscp and exp-dp priority maps
Input priority value |
exp-dscp map |
exp-dp map |
EXP value |
dscp |
dp |
0 |
0 |
0 |
1 |
8 |
0 |
2 |
16 |
0 |
3 |
24 |
0 |
4 |
32 |
0 |
5 |
40 |
0 |
6 |
48 |
0 |
7 |
56 |
0 |
Appendix C Introduction to packet precedences
IP precedence and DSCP values
As shown in Figure 18, the ToS field in the IP header contains 8 bits. The first 3 bits (0 to 2) represent IP precedence from 0 to 7. According to RFC 2474, the ToS field is redefined as the differentiated services (DS) field, where a DSCP value is represented by the first 6 bits (0 to 5) and is in the range 0 to 63. The remaining 2 bits (6 and 7) are reserved.
Table 12 IP precedence
IP precedence (decimal) |
IP precedence (binary) |
Description |
0 |
000 |
Routine |
1 |
001 |
priority |
2 |
010 |
immediate |
3 |
011 |
flash |
4 |
100 |
flash-override |
5 |
101 |
critical |
6 |
110 |
internet |
7 |
111 |
network |
Table 13 DSCP values
DSCP value (decimal) |
DSCP value (binary) |
Description |
46 |
101110 |
ef |
10 |
001010 |
af11 |
12 |
001100 |
af12 |
14 |
001110 |
af13 |
18 |
010010 |
af21 |
20 |
010100 |
af22 |
22 |
010110 |
af23 |
26 |
011010 |
af31 |
28 |
011100 |
af32 |
30 |
011110 |
af33 |
34 |
100010 |
af41 |
36 |
100100 |
af42 |
38 |
100110 |
af43 |
8 |
001000 |
cs1 |
16 |
010000 |
cs2 |
24 |
011000 |
cs3 |
32 |
100000 |
cs4 |
40 |
101000 |
cs5 |
48 |
110000 |
cs6 |
56 |
111000 |
cs7 |
0 |
000000 |
be (default) |
802.1p priority
802.1p priority lies in the Layer 2 header and applies to occasions where Layer 3 header analysis is not needed and QoS must be assured at Layer 2.
Figure 19 An Ethernet frame with an 802.1Q tag header
As shown in Figure 19, the 4-byte 802.1Q tag header consists of the tag protocol identifier (TPID, 2 bytes in length), whose value is 0x8100, and the tag control information (TCI, 2 bytes in length). Figure 20 shows the format of the 802.1Q tag header. The Priority field in the 802.1Q tag header is called the "802.1p priority", because its use is defined in IEEE 802.1p. Table 14 shows the values for 802.1p priority.
Table 14 Description on 802.1p priority
802.1p priority (decimal) |
802.1p priority (binary) |
Description |
0 |
000 |
best-effort |
1 |
001 |
background |
2 |
010 |
spare |
3 |
011 |
excellent-effort |
4 |
100 |
controlled-load |
5 |
101 |
video |
6 |
110 |
voice |
7 |
111 |
network-management |
EXP values
The EXP field is in MPLS labels for MPLS QoS purposes.
Figure 21 MPLS label structure
As shown in Figure 21, the EXP field is 3-bit long and in the range of 0 to 7.