- L2VPN Protocol-Based CLIs
- Any Transport over MPLS
- L2VPN Interworking
- L2VPN Pseudowire Preferential Forwarding
- L2VPN Multisegment Pseudowires
- MPLS Quality of Service
- QoS Policy Support on L2VPN ATM PVPs
- MPLS Pseudowire Status Signaling
- L2VPN VPLS Inter-AS Option B
- IEEE 802.1Q Tunneling (QinQ) for AToM
- Configuring the Managed IPv6 Layer 2 Tunnel Protocol Network Server
- L2VPN Pseudowire Redundancy
- Pseudowire Group Switchover
- L2VPN Pseudowire Switching
- Xconnect as a Client of BFD
- H-VPLS N-PE Redundancy for QinQ Access
- H-VPLS N-PE Redundancy for MPLS Access
- VPLS MAC Address Withdrawal
- Configuring Virtual Private LAN Services
- Routed Pseudo-Wire and Routed VPLS
- VPLS Autodiscovery BGP Based
- N:1 PVC Mapping to PWE with Nonunique VPIs
- QoS Policies for VFI Pseudowires
- VPLS BGP Signaling L2VPN Inter-AS Option A
- VPLS BGP Signaling L2VPN Inter-AS Option B
- Frame Relay over L2TPv3
- Loop-Free Alternate Fast Reroute with L2VPN
Contents
- MPLS Quality of Service
- Prerequisites for MPLS Quality of Service
- Information About MPLS Quality of Service
- MPLS Quality of Service Overview
- Tag Switching and MPLS Terminology
- LSRs Used at the Edge of an MPLS Network
- LSRs Used at the Core of an MPLS Network
- Benefits of MPLS CoS in IP Backbones
- How to Configure MPLS Quality of Service
- Configuring WRED
- Verifying WRED
- Configuring CAR
- Verifying the CAR Configuration
- Configuring CBWFQ
- Verifying the CBWFQ Configuration
- Configuration Examples for MPLS Quality of Service
- Example: Configuring Cisco Express Forwarding
- Example: Running IP on Device 1
- Example: Running MPLS on Device 2
- Example: Running MPLS on Device 3
- Example: Running MPLS on Device 4
- Example: Running MPLS on Device 5
- Example: Running IP on Device 6
- Additional References for MPLS Quality of Service
- Feature Information for MPLS Quality of Service
MPLS Quality of Service
The MPLS Quality of Service feature (formerly named as the MPLS CoS feature) enables you to provide differentiated services across an MPLS network. To satisfy a wide range of networking requirements, you can specify the class of service applicable to each transmitted IP packet. Different classes of service can be established for IP packets by setting the IP precedence bit in the header of each packet.
- Prerequisites for MPLS Quality of Service
- Information About MPLS Quality of Service
- How to Configure MPLS Quality of Service
- Configuration Examples for MPLS Quality of Service
- Additional References for MPLS Quality of Service
- Feature Information for MPLS Quality of Service
Prerequisites for MPLS Quality of Service
To use MPLS CoS to full advantage in your network, the following functionality must be supported:
- Multiprotocol Label Switching (MPLS)—MPLS is the standardized label switching protocol defined by the Internet Engineering Task Force (IETF).
- Cisco Express Forwarding—Cisco Express Forwarding is an advanced Layer 3 IP switching technology that optimizes performance and scalability in networks that handle large volumes of traffic and that exhibit dynamic traffic patterns.
- Asynchronous Transfer Mode (ATM)—ATM signaling support is required if you are using ATM interfaces in your network. If you are using only packet interfaces in your network, ATM functionality is not needed.
- QoS features:
- Weighted fair queueing (WFQ)—Used on non-GSR platforms, WFQ is a dynamic scheduling method that allocates bandwidth fairly to all network traffic. WFQ applies priorities, or weights, to traffic to classify the traffic into flows and determine how much bandwidth to allow each flow. WFQ moves interactive traffic to the front of a queue to reduce response time and fairly shares the remaining bandwidth among high-bandwidth flows.
- Weighted random early detection (WRED)—WRED is a congestion avoidance mechanism that extends RED functionality by allowing different RED parameters to be configured per IP precedence value. IP precedence bits, contained in the type of service (ToS) octet in the IP packet header, are used to denote the relative importance or priority of an IP packet. WRED uses these IP precedence values to classify packets into different discard priorities or classes of service.
- Modified deficit round robin (MDRR)—Used only on GSR platforms, MDRR is a traffic class prioritization mechanism that incorporates emission priority as a facet of quality of service. MDRR is similar in function to WFQ on non-GSR platforms. In MDRR, IP traffic is mapped to different classes of service queues. A group of queues is assigned to each traffic destination. On the transmit side of the platform, a group of queues is defined on a per-interface basis; on the receive side of the platform, a group of queues is defined on a per-destination basis. IP packets are then mapped to these queues, based on their IP precedence value. These queues are serviced on a round-robin basis, except for a queue that has been defined to run in either of two ways: strict priority mode or alternate priority mode. In strict priority mode, the high priority queue is serviced whenever it is not empty; this ensures the lowest possible delay for high priority traffic. In this mode, however, the possibility exists that other traffic might not be serviced for long periods of time if the high priority queue is consuming most of the available bandwidth. In alternate priority mode, the traffic queues are serviced in turn, alternating between the high priority queue and the remaining queues.
- Committed access rate (CAR)—CAR is a QoS feature that limits the input or output transmission rate on an interface and classifies packets by setting the IP precedence value or the QoS group in the IP packet header.
Information About MPLS Quality of Service
MPLS Quality of Service Overview
MPLS CoS functionality enables network administrators to provide differentiated services across an MPLS network. Network administrators can satisfy a wide range of networking requirements by specifying the class of service applicable to each transmitted IP packet. Different classes of service can be established for IP packets by setting the IP precedence bit in the header of each packet.
MPLS CoS supports the following differentiated services in an MPLS network:
The table below describes the MPLS CoS services and functions.
Service | CoS Function | Description |
---|---|---|
Packet classification |
Committed access rate (CAR). Packets are classified at the edge of the network before labels are assigned. |
CAR uses the type of service (ToS) bits in the IP header to classify packets according to input and output transmission rates. CAR is often configured on interfaces at the edge of a network in order to control traffic flowing into or out of the network. You can use CAR classification commands to classify or reclassify a packet. |
Congestion avoidance |
Weighted random early detection (WRED). Packet classes are differentiated based on drop probability. |
WRED monitors network traffic to anticipate and prevent congestion at common network and internetwork bottlenecks. WRED can selectively discard lower priority traffic when an interface becomes congested; WRED can also provide differentiated performance characteristics for different classes of service. |
Congestion management |
Weighted fair queueing WFQ) for non-GSR platform. Packet classes are differentiated based on bandwidth requirements and finite delay characteristics. Modified deficit round robin (MDRR) for GSR platforms. |
WFQ is an automated scheduling system that ensures fair bandwidth allocation to all network traffic. WFQ uses weights (priorities) to determine how much bandwidth each class of traffic is allocated. MDRR, similar in function to WFQ for non-GSR platforms, is a traffic prioritization scheme that maps IP traffic to different classes of service queues, based on the IP precedence value of each packet. The queues are then serviced on a round-robin basis. |
MPLS CoS enables you to duplicate Cisco IP CoS (Layer 3) features as closely as possible in MPLS devices, including label edge switch routers (edge LSRs) and label switch routers (LSRs). MPLS CoS functions map nearly one-for-one to IP CoS functions on all types of interfaces.
Tag Switching and MPLS Terminology
The table below lists the existing legacy tag switching terms and the new, equivalent Multiprotocol Label Switching (MPLS) IETF terms used in this document and other related Cisco publications.
Old Designation |
New Designation |
---|---|
Tag switching |
Multiprotocol Label Switching |
Tag (short for tag switching) |
MPLS |
Tag (item or packet) |
Label |
TDP (Tag Distribution Protocol) |
LDP (Label Distribution Protocol). Cisco TDP and LDP (MPLS Label Distribution Protocol) closely parallel each other in function, but differ in detail, such as message formats and the commands required to configure the respective protocols and to monitor their operation |
Tag switched |
Label switched |
TFIB (tag forwarding information base) |
LFIB (label forwarding information base) |
TSR (tag switching router) |
LSR (label switching router) |
TVC (tag VC, tag virtual circuit) |
LVC (label VC, label virtual circuit) |
TSP (tag switch path) |
LSP (label switch path) |
LSRs Used at the Edge of an MPLS Network
Label switching routers (LSRs) used at the edge of a Multiprotocol Label Switching (MPLS) network backbone are devices running MPLS software. The edge LSRs can be at the ingress or the egress of the network.
At the ingress of an MPLS network, devices process packets as follows:
- IP packets enter the edge of the MPLS network at the edge LSR.
- The edge LSR uses a classification mechanism such as the Modular Quality of Service Command-Line Interface (CLI) (MQC) to classify incoming IP packets and set the IP precedence value. Alternatively, IP packets can be received with the IP precedence value already set.
- For each packet, the device performs a lookup on the IP address to determine the next-hop LSR.
- The appropriate label is inserted into the packet, and the IP precedence bits are copied into the MPLS EXP bits in the label header.
- The labeled packets are forwarded to the appropriate output interface for processing.
- The packets are differentiated by class according to one of the following:
In either case, LSRs enforce the defined differentiation by continuing to employ WRED or CBWFQ on every ingress device.
At the egress of an MPLS network, devices process packets as follows:
- MPLS-labeled packets enter the edge LSR from the MPLS network backbone.
- The MPLS labels are removed and IP packets may be (re)classified.
- For each packet, the device performs a lookup on the IP address to determine the packet’s destination and forwards the packet to the destination interface for processing.
- The packets are differentiated by the IP precedence values and treated appropriately, depending on the WRED or CBWFQ drop probability configuration.
LSRs Used at the Core of an MPLS Network
Label switching routers (LSRs) used at the core of a Multiprotocol Label Switching (MPLS) network are devices running MPLS software. These devices at the core of an MPLS network process packets as follows:
- MPLS labeled packets coming from the edge devices or other core devices enter the core device.
- A lookup is done at the core device to determine the next hop LSR.
- An appropriate label is placed (swapped) on the packet and the MPLS EXP bits are copied.
- The labeled packet is then forwarded to the output interface for processing.
- The packets are differentiated by the MPLS EXP field marking and treated appropriately, depending on the weighted early random detection (WRED) and class-based weighted fair queueing (CBWFQ) configuration.
Benefits of MPLS CoS in IP Backbones
You realize the following benefits when you use MPLS CoS in a backbone consisting of IP devices running Multiprotocol Label Switching (MPLS):
- Efficient resource allocation—Weighted fair queueing (WFQ) is used to allocate bandwidth on a per-class and per-link basis, thereby guaranteeing a percentage of link bandwidth for network traffic.
- Packet differentiation—When IP packets traverse an MPLS network, packets are differentiated by mapping the IP precedence bits of the IP packets to the MPLS CoS bits in the MPLS EXP field. This mapping of bits enables the service provider to maintain end-to-end network guarantees and meet the provisions of customer service level agreements (SLAs).
- Future service enhancements—MPLS CoS provides building blocks for future service enhancements (such as virtual leased lines) by meeting bandwidth requirements.
How to Configure MPLS Quality of Service
Configuring WRED
1.
enable
2.
configure terminal
3.
interface type number
4.
random-detect
5.
random-detect precedence min-threshold max-threshold mark-probability
6.
end
DETAILED STEPS
Verifying WRED
To verify weighted random early detection (WRED), use a command of the form shown in the following table. This example is based on “Device2” in the network topology shown in the figure in the configuration examples section.
1.
show queueing interface subinterface
DETAILED STEPS
Configuring CAR
1.
enable
2.
configure terminal
3.
interface name
4.
rate-limit input [access-group [rate-limit] acl-index] bps burst-normal burst-max conform-action conform-action exceed-action exceed-action
5.
end
DETAILED STEPS
Verifying the CAR Configuration
1.
show interfaces slot/port rate-limit
DETAILED STEPS
Configuring CBWFQ
1.
enable
2.
configure terminal
3.
class-map class-map-name
4.
match type number
5.
policy-map policy-map-name
6.
class class-map-name
7.
bandwidth number
8.
interface type number
9.
service-policy output policy-map-name
10.
end
DETAILED STEPS
Verifying the CBWFQ Configuration
1.
show policy-map interface type number
DETAILED STEPS
Configuration Examples for MPLS Quality of Service
The configuration examples are based on the sample network topology shown in the figure below.
- Example: Configuring Cisco Express Forwarding
- Example: Running IP on Device 1
- Example: Running MPLS on Device 2
- Example: Running MPLS on Device 3
- Example: Running MPLS on Device 4
- Example: Running MPLS on Device 5
- Example: Running IP on Device 6
Example: Configuring Cisco Express Forwarding
Cisco Express Forwarding must be running on all devices in the Multiprotocol Label Switching (MPLS) network for MPLS CoS to work. To enable Cisco Express Forwarding, use one of the following commands:
Device(config)# ip cef
or
Device(config)# ip cef distributed
Example: Running IP on Device 1
The following commands enable IP routing on Device 1. All devices in the figure must have IP enabled. Device 1 is not part of the Multiprotocol Label Switching (MPLS) network.
! ip routing ! hostname R1 ! interface Loopback0 ip address 10.1.1.1 255.255.255.255 ! interface FastEthernet0/0/1 ip address 10.0.0.1 255.0.0.0 ! router ospf 100 network 10.0.0.0 0.255.255.255 area 100 network 10.0.0.1 0.255.255.255 area 100
Example: Running MPLS on Device 2
Device 2 is a label edge router. Cisco Express Forwarding and Multiprotocol Label Switching (MPLS) must be enabled on this device. Committed access rate (CAR) is also configured on Device 2 and Fast Ethernet interface 1/1/3. The CAR policy used at Fast Ethernet interface 1/1/0 acts on incoming traffic matching access-list 101. If the traffic rate is less than the committed information rate (in this example, 496000), the traffic will be sent with IP precedence 4. Otherwise, this traffic will be sent with IP precedence 0.
! ip routing ! hostname R2 ! ip cef mpls ip tag-switching advertise-tags ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 ! interface FastEthernet1/1/0 ip address 10.0.0.2 255.0.0.0 rate-limit input access-group 101 496000 32000 64000 conform-action set-prec-transmit 4 exceed-action set-prec-transmit 0 ! interface POS6/0/0 ip address 10.0.0.1 255.0.0.0 mpls label protocol ldp mpls ip random-detect clock source internal ! router ospf 100 network 10.0.0.0 0.255.255.255 area 100 network 10.1.0.0 0.255.255.255 area 100 network 11.0.1.0 0.255.255.255 area 100 ! access-list 101 permit ip host 10.10.1.1 any
Example: Running MPLS on Device 3
Device 3 is running Multiprotocol Label Switching (MPLS). Cisco Express Forwarding and MPLS must be enabled on this device.
! ip routing mpls ip tag-switching advertise-tags ! hostname R3 ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 ! interface POS0/1/0 ip address 10.0.0.2 255.0.0.0 mpls label protocol ldp mpls ip crc 16 ! interface POS3/0/0 ip address 10.0.0.1 255.0.0.0 mpls label protocol ldp mpls ip crc 16 clock source internal tx-cos stm16-rx ! router ospf 100 network 10.0.1.0 0.255.255.255 area 100 network 10.0.0.1 0.255.255.255 area 100 network 10.1.0.0 0.255.255.255 area 100 ! cos-queue-group stm16-rx precedence 0 random-detect-label 0 precedence 0 queue 0 precedence 1 queue 1 precedence 1 random-detect-label 1 precedence 2 queue 2 precedence 2 random-detect-label 2 precedence 3 random-detect-label 2 precedence 4 random-detect-label 2 precedence 5 random-detect-label 2 precedence 6 random-detect-label 2 precedence 7 queue low-latency precedence 7 random-detect-label 2 random-detect-label 0 250 1000 1 random-detect-label 1 500 1250 1 random-detect-label 2 750 1500 1 queue 0 50 queue 1 100 queue 2 150 queue low-latency alternate-priority 500
Example: Running MPLS on Device 4
Device 4 is running Multiprotocol Label Switching (MPLS). Cisco Express Forwarding and MPLS must be enabled on this device.
! ip routing mpls ip tag-switching advertise-tags ! hostname R4 ! interface Loopback0 ip address 10.0.0.0 255.255.255.255 ! interface POS1/2/1 ip address 10.0.0.1 255.0.0.0 mpls label protocol ldp mpls ip crc 16 clock source internal tx-cos stm16-rx ! router ospf 100 network 10.0.0.0 0.255.255.255 area 100 network 10.1.0.0 0.255.255.255 area 100 network 10.0.1.0 0.255.255.255 area 100 ! cos-queue-group stm16-rx precedence 0 queue 0 precedence 0 random-detect-label 0 precedence 1 queue 1 precedence 1 random-detect-label 1 precedence 2 queue 2 precedence 2 random-detect-label 2 precedence 3 random-detect-label 2 precedence 4 random-detect-label 2 precedence 5 random-detect-label 2 precedence 6 random-detect-label 2 precedence 7 queue low-latency random-detect-label 0 250 1000 1 random-detect-label 1 500 1250 1 random-detect-label 2 750 1500 1 queue 0 50 queue 1 100 queue 2 150 queue low-latency alternate-priority 200
Example: Running MPLS on Device 5
Device 5 is running Multiprotocol Label Switching (MPLS). Cisco Express Forwarding and MPLS must be enabled on this device. Device 5 has class-based weighted fair queueing (CBWFQ) enabled on Fast Ethernet interface 5/1/0. In this example, class maps are created, matching packets with various IP precedence values. These class maps are then used in a policy map named “outputmap,” where CBWFQ is assigned to each class. Finally, the policy map is assigned to the outbound Fast Ethernet interface 5/1/0.
! ip routing mpls ip tag-switching advertise-tags ! hostname R5 ! ! class-map match-all prec_01 match ip precedence 0 1 class-map match-all prec_23 match ip precedence 2 3 class-map match-all prec_45 match ip precedence 4 5 class-map match-all prec_67 match ip precedence 6 7 ! ! policy-map outputmap class prec_01 bandwidth 10000 random-detect class prec_23 bandwidth 15000 random-detect class prec_45 bandwidth 20000 random-detect class prec_67 bandwidth 25000 random-detect ! ip cef distributed ! interface Loopback0 ip address 10.0.0.0 255.255.255.255 no ip directed-broadcast ! interface POS1/1/0 ip address 10.0.0.2 255.0.0.0 ip route-cache distributed mpls label protocol ldp mpls ip ! interface FastEthernet5/1/0 ip address 10.0.0.1 255.0.0.0 ip route-cache distributed full-duplex service-policy output outputmap ! router ospf 100 network 10.1.0.0 0.255.255.255 area 100 network 10.0.1.0 0.255.255.255 area 100 network 10.0.0.1 0.255.255.255 area 100
Example: Running IP on Device 6
Device 6 is running IP. Cisco Express Forwarding must be enabled on this device. Device 6 is not part of the Multiprotocol Label Switching (MPLS) network.
! ip routing ! hostname R6 ! ip cef distributed ! interface Loopback0 ip address 10.0.0.0 255.255.255.255 ! interface FastEthernet2/0/0 ip address 10.0.0.2 255.0.0.0 ip route-cache distributed full-duplex ! router ospf 100 network 10.0.0.0 0.255.255.255 area 100 network 10.1.0.0 0.255.255.255 area 100 !
Additional References for MPLS Quality of Service
Related Documents
Related Topic | Document Title |
---|---|
Cisco IOS commands |
|
MPLS QoS commands |
MIBs
MIB | MIBs Link |
---|---|
To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL: |
Technical Assistance
Description | Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
Feature Information for MPLS Quality of Service
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
MPLS Quality of Service |
12.0(5)T 12.0(11)T 12.0(22)S 12.2(17b)SXA 12.2(8)T Cisco IOS XE Release 2.1 |
The MPLS Quality of Service feature (formerly named as the MPLS CoS feature) enables you to provide differentiated services across an MPLS network. To satisfy a wide range of networking requirements, you can specify the class of service applicable to each transmitted IP packet. Different classes of service can be established for IP packets by setting the IP precedence bit in the header of each packet No new or modified commands were introduced. |