IP over MPLS
Overview This module focuses on the IP QoS mechanisms available in combination with Multiprotocol Label Switching (MPLS).
Objectives Upon completion of this module, you will be able to perform the following tasks: n
Describe and configure QoS Mechanisms Mechanisms in Frame-mode MPLS networks
n
Describe and configure QoS Mechanisms in Cell-mode MPLS networks
MPLS Introduction Objectives Upon completion of this lesson, you will be able to perform the following tasks:
23-2
n
Describe basic features of MPLS
n
Describe Frame-mode MPLS
n
Describe Cell-mode MPLS
World Wide Training Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Introduction Objectives Upon completion of this lesson, you will be able to perform the following tasks:
23-2
n
Describe basic features of MPLS
n
Describe Frame-mode MPLS
n
Describe Cell-mode MPLS
World Wide Training Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Basic MPLS Concepts • Multi-protocol Label Switching (MPLS MPLS)) is a new forwarding mechanism in which packets are forwarded based on labels • Labels may correspond to IP destination networks (equal to traditional IP forwarding) • Labels can also correspond to other parameters (QoS (QoS,, sour source ce addr address, ess, ...) • MPLS was designed to support forwarding of other protocols as well
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Multi-protocol Label Switching (MPLS) is a switching mechanism that uses labels (numbers) to forward packets. Labels usually correspond to layer-3 destination addresses (equal to destination based based routing routing). ). Labels Labels can also correspond correspond to to other paramete parameters rs (QoS, source source address, etc.). MPLS was designed to support other protocols as well. Label switching is performed performed regardle regardless ss of the layer-3 layer-3 prot protoco ocol. l.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-3
MPLS Example 10.1.1.1
10.1.1.1
L = 3
Label removal and routing lookup L=3
5 L =
Routing lookup and label assignment 10.0.0.0/8 à L=5 Label swapping L=5 à L=3
• Only edge routers must must perform a routing lookup. • Core routers switch packets based on simple label lookups and swap labels. © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The example in the figure illustrates a situation where the intermediary router does not have to perform a time-consuming routing lookup. Instead this router simply swaps a label with another label (5 is replaced by 3) and forwards the packet based on on the received received label label (5). (5). In larger networks, the result of MPLS labeling is that only the edge routers perform perform a routin routing g lookup. lookup. All All the core core routers routers forwar forward d packets packets based based on the the labels. labels.
23-4
World Wide Training Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS vs. IP-over-ATM 10.1.1.1
L=17
L= 3
L=5
10.1.1.1
Layer-2 devices run a layer3 routing protocol and establish virtual circuits dynamically based on layer3 information
• Layer-2 devices are IP-aware and run a routing protocol • There is no need to manually establish virtual circuits • MPLS provides a virtual full-mesh topology © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The example in the figure shows how MPLS is used in ATM networks to provide optimal routing across layer-2 ATM switches. In order for MPLS to work with ATM switches, the switches must be layer-3 aware (ATM switches must run a layer-3 routing protocol). Another benefit of this setup is that there is no longer a need to manually establish virtual circuits. ATM switches automatically create a full mesh of virtual circuits based on layer-3 routing information.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-5
Traffic Engineering with MPLS Primary OC192 link
Large site A
Large site B
Secondary OC48 link
Small site C
• Traffic can be forwarded based on other parameters (QoS, source, ...) • Load sharing across unequal paths can be achieved © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
MPLS also supports traffic engineering. Traffic engineered tunnels can be created based on a traffic analysis to provide load balancing across unequal paths. Multiple traffic engineering tunnels can lead to the same destination but can use different paths. Traditional IP forwarding would force all traffic to use the same path based on the destination-based forwarding decision. Traffic engineering determines the path at the source based on additional parameters (available resources and constraints in the network).
23-6
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Architecture • MPLS has two major components: • Control plane – exchanges layer-3 routing information and labels • Data plane – forwards packets based on labels
• Control plane contains complex mechanisms to exchange routing information (OSPF, EIGRP, IS -IS, BGP,...) and labels (TDP, LDP, BGP, RSVP, ...) • Control plane maintains the contents of the label switching table (label forwarding information base or LFIB) • Data plane has a simple forwarding engine
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
To better understand the inner workings of MPLS, its two major components should be clarified: n
n
Control plane, which takes care of the routing information exchange and the label exchange between adjacent devices Data plane, which takes care of forwarding either based on destination addresses or labels.
There is a large number of different routing protocols such as OSPF, IGRP, EIGRP, IS-IS, RIP, BGP, etc. that can be used in the control plane. The control plane also requires protocols such as TDP (MPLS), LDP (MPLS), BGP (MPLS/VPNs), RSVP (Traffic Engineering), CR-LDP (Traffic Engineering), etc. to exchange labels. The data plane however, is a simple label-based forwarding engine that is independent of the type of routing protocol or label exchange protocol. A Label Forwarding Information Base (LFIB) is used to forward packets based on labels. The LFIB table is populated by the control plane.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-7
MPLS Architecture
Control plane OSPF: 10.0.0.0/8
LDP: 10.0.0.0/8 Label 17
OSPF
LDP
OSPF: 10.0.0.0/8
LDP: 10.0.0.0/8 Label 4
Data plane Labeled packet Label 17
LFIB 4à17
Labeled packet Label 4
• Router’s functionality is divided into two major parts: control plane and data plane © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
A simple MPLS-enabled network implements destination-based forwarding that uses labels to make forwarding decisions. A layer-3 routing protocol is still needed to propagate layer-3 routing information. A label exchange mechanism is simply an add-on to propagate labels that are used for layer-3 destinations. The example in the figure illustrates the two components of the control plane: n
n
OSPF that receives and forwards IP network 10.0.0.0/8, and places that prefix into the routing table. LDP that receives label 17 to be used for packets with a destination address 10.x.x.x. A local label 4 is generated and sent to upstream neighbors so these neighbors can label packets with the appropriate label. LDP inserts an entry into the Data Plane’s LFIB table where label 4 is mapped to label 17.
The data plane then forwards all packets with label 4 through the appropriate interfaces and replaces the label with label 17.
23-8
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Modes of Operation • MPLS technology is designed to be Layer-1 and Layer-2 independent • MPLS uses a 32-bit label field which is inserted between Layer-2 and Layer-3 headers (frame mode) • MPLS over ATM uses the ATM header as the label (cell mode)
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
MPLS is designed for use on virtually any media and layer-2 encapsulation. Most layer-2 encapsulations are frame -based and MPLS simply inserts a 32-bit label between the layer-2 and layer-3 headers (“frame-mode” MPLS). ATM is a special case where fixed-length cells are used and a label cannot be inserted on every cell. MPLS uses the VPI/VCI fields in the ATM header as a label (“cell-mode” MPLS).
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-9
Label Format
LABEL 0
EXP 19 20
S
22 23 24
TTL 31
MPLS uses a 32-bit label field that contains the following information: • 20-bit label • 3-bit experimental field • 1-bit bottom-of-stack indicator • 8-bit time-to-live field (TTL)
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
A 32-bit label contains the following fields: n
20-bit label: the actual label
n
3-bit experimental field: used to define a class of service (i.e. IP precedence)
n
n
23-10
Bottom-of-stack bit: MPLS allows multiple labels to be inserted; this bit is used to determine if this is the last label in the packet 8-bit time-to-live (TTL) field: has the same purpose as the TTL field in the IP header
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Frame Mode MPLS Frame header Layer 2
IP header
Payload
Layer 3
Routing lookup and label assignment
Frame header Layer 2
Label
IP header
Layer 2½
Payload
Layer 3
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The example in the figure shows an edge router that receives a normal IP packet. The router then performs the following actions: A routing lookup to determine the outgoing interface
n
n
A label is assigned and inserted between layer-2 frame header and layer-3 packet header if the outgoing interface is enabled for MPLS and a next-hop label for the destination exists
n
The labeled packet is sent
Other routers in the core simply forward the packet based on the label.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-11
Cell mode MPLS Frame header
IP header
Layer 2
Frame header Layer 2
Payload
Layer 3
Label
IP header
Layer 2½
Payload
Layer 3
VPI/VCI fields are used for label switching
Cell 1
ATM header
AAL5 header
Layer 2
Cell 2
ATM header
© 2001, Cisco Systems, Inc.
Label Layer 2½
IP header
Payload
Layer 3
Payload
IP QoS IP over MPLS
Cell-mode MPLS uses the ATM header’s VPI/VCI fields to make forwarding decisions while the 32-bit label is still preserved in the frame but not used in the ATM network. The original label is only present in the first cell of a packet.
23-12
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Label Switch Router
MPLS Domain 10.1.1.1
20.1.1.1
Edge LSR
L=3
L=5
L=31
L=43
10.1.1.1
20.1.1.1
LSR
• Label Switch Router (LSR) primarily forwards labeled packets (label swapping) • Edge LSR primarily labels IP packets and forwards them into the MPLS domain, or removes labels and forwards IP packets out of the MPLS domain © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Before proceeding with a detailed description of MPLS, some of the terminology that is used in this course is presented: n
n
Label Switch Router (LSR): a device that primarily forwards packets based on labels. Edge LSR: a device that primarily labels packets or removes labels.
LSRs and Edge LSRs are usually devices that are capable of doing both label switching and IP routing. Their names are based on their position in an MPLS domain. Routers that have all interfaces enabled for MPLS are called LSRs because they mostly forward labeled packets. Routers that have some interfaces that are not enabled for MPLS are usually at the edge of an MPLS domain (autonomous system). These routers also forward packets based on IP destination addresses and label them if the outgoing interface is enabled for MPLS.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-13
ATM Label Switch Router
MPLS Domain 10.1.1.1
20.1.1.1
L=1/3
L=1/3
L=1/3
L=1/6 L =1 /6
L=1/6
ATM Edge LSR
L=1/5
L=1/5
L=1/5
L =1/ 9 L=1/ 9 L=1/9
10.1.1.1
20.1.1.1
ATM LSR
• ATM LSR can only forward cells • ATM Edge LSR segments packets into cells and forwards them into an MPLS ATM domain, or reassembles cells into packets and forwards them out of an MPLS ATM domain © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Label Switch Routers that perform cell-mode MPLS are called: n
n
23-14
ATM LSR if they are ATM switches. All interfaces are enabled for MPLS and forwarding is done based only on labels. ATM Edge LSR if they are routers connected to an MPLS-enabled ATM network.
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Architecture of LSRs LSRs, regardless of the type, perform the following three functions: • Exchange routing information • Exchange labels • Forward packets (LSRs and edge LSRs) or cells (ATM LSRs and ATM edge LSRs)
The first two functions are part of the control plane The last function is part of the data plane © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
LSRs of all types must perform the following functions: n
Exchange layer-3 routing information (ATM LSRs must also exchange layer-3 routing information)
n
Exchange labels
n
Forward packets or cells
Frame-mode and cell-mode MPLS use a different data plane: n
n
Frame-mode MPLS forwards packets based on the 32-bit label Cell-mode MPLS forwards packets based on labels encoded into the VPI/VCI fields in the ATM header
The control plane performs the following functions: n
Exchange routing information regardless of the type of LSR;
n
Exchange labels according to the type of MPLS (frame-mode or cell-mode);
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-15
Architecture of LSRs LSR Exchange of routing information
Control plane Routing protocol IP routing table
Exchange of labels
Incoming labeled packets
Label distribution protocol
Data plane Label forwarding table
Outgoing labeled packets
LSRs primarily forward labeled packets or cells (ATM LSRs) © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The primary function of an LSR is to forward labeled packets. Therefore, every LSR needs a layer-3 routing protocol (OSPF, EIGRP, IS-IS, etc.) and a label exchange protocol (LDP, TDP, etc.). The label exchange protocol populates the LFIB table in the data plane that is used to forward labeled packets.
Note
23-16
LSRs may not be able to forward unlabeled packets either because they are ATM LSRs, or they do not have all the routing information.
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Architecture of Edge LSRs Edge LSR Exchange of routing information
Control plane Routing protocol IP routing table
Exchange of labels
Incoming IP packets Incoming labeled packets
Label distribution protocol
Data plane IP forwarding table Label forwarding table
Outgoing IP packets Outgoing labeled packets
Note: ATM edge LSRs can only forward cells © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Edge LSRs also forward IP packets based on their IP destination addresses and optionally label them if a label exists. The following combinations are possible: n
n
n
A received IP packet is forwarded based on the IP destination address and sent as an IP packet. A received IP packet is forwarded based on the IP destination address and sent as a labeled packet. A received labeled packet is forwarded based on the label; the label is changed and the packet is sent.
The following scenarios are possible if the network is misconfigured: n
n
Copyright © 1999, Cisco Systems, Inc.
A received labeled packet is dropped if the label is not found in the LFIB table even if the IP destination exists in the FIB table. A received IP packet is dropped if the destination is not found in the FIB table even if there is a label-switched path available for the destination.
Release Date: 2/1/99
23-17
Summary MPLS architecture is divided into two parts: n
Control plane that takes care of routing information and label propagation.
n
Data plane that takes care of the forwarding of packets.
MPLS has two modes: n
Frame-mode MPLS that is used on all frame-based media.
n
Cell-mode MPLS that is used in MPLS-enabled ATM networks.
MPLS networks use the following devices: n
Label Switch Router (LSR) to forward packets based on a 32-bit label
n
Edge LSR to forward labeled packets or label IP packets or remove labels.
n
n
ATM LSRs to forward cells based on labels encoded into the VPI/VCI fields in the ATM header. ATM Edge LSRs that segment labeled or unlabeled packets into ATM cells where a label is encoded into VPI/VCI fields in the ATM header.
Review Questions 1. What are the main benefits of MPLS? 2. How is an MPLS label encoded into IP packets? 3. How are labels propagated?
23-18
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Frame-mode MPLS Objectives Upon completion of this lesson, you will be able to perform the following tasks: n
Describe the QoS possibilities in networks using Frame-mode MPLS
n
Use MQC to implement QoS with Frame-mode MPLS
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-19
MPLS QoS • MPLS uses labels to make a forwarding decision • The MPLS label is inserted between Layer-2 (frame) and Layer-3 (IP packet) headers • All Layer-3 information becomes invisible to routers in an MPLS domain • Classification in MPLS-enabled networks can be performed on: • MPLS experimental bits • MPLS labels (future enhancement)
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Frame-mode MPLS uses 32-bit labels primarily to make a forwarding decision. Three bits in the label are used for experimental purposes. When an IP packet enters an MPLS domain a label is inserted between the frame and the IP header. The MPLS experimental bits can be used for classification and marking purposes when implementing QoS in an MPLS domain. Future enhancements will allow multiple labels to be used to describe the quality of service.
23-20
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Label Assignment Frame Header
IP
Payload
IP precedece
MPLS exp
Frame Header
LABEL
IP
Payload
• An MPLS label has a three-bit experimental field • Cisco routers automatically copy IP precedence bits into the MPLS experimental bits • The Modular QoS CLI can be used to classify labeled packets based on their MPLS experimental bits © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The figure illustrates the default behavior of Cisco routers. IP precedence is automatically copied from the IP header into MPLS label’s experimental bits. The modular QoS CLI can be used to classify labeled packets based on MPLS experimental bits as well as mark labeled packets with MPLS experimental-bit values.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-21
MPLS-aware QoS Mechanisms • The following QoS mechanisms are MPLS aware: - Weighted Random Early Detection (WRED): MPLS experimental bits are used as weight in the same manner as IP precedence - Committed Access Rate (CAR): marking of MPLS experimental bits - Class-Based Policing: marking of MPLS experimental bits - Class-based Marking: marking of MPLS experimental bits
• If classification is performed based on MPLS experimental bits, other MQC QoS mechanisms can also be used
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The figure lists the QoS mechanisms that can interact with MPLS-specific information: n
n
n
n
WRED performs random drops based on MPLS experimental values. CAR can mark labeled packets with MPLS experimental values. Conforming and exceeding packets can be marked with different MPLS experimental values. Class-based Policing can mark labeled packets with MPLS experimental values. Conforming, exceeding and violating packets can be marked with different MPLS experimental values. Class-based Marking can statically mark labeled packets with an MPLS experimental value.
Other QoS mechanisms (for example: CB-WFQ, CB-LLQ) can be used in combination with classification that is based on the value of the MPLS experimental bits.
23-22
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Configuring CB-WFQ for MPLS Router(config-cmap)#
match mpls experimental exp
• Classifies packets based on MPLS experimental bits class-map class-map match-any match-any Gold Gold match match ip ip precedence precedence 3 3 4 4 match match mpls mpls experimental experimental 33 44 ! ! class-map class-map match-any match-any Silver Silver match match ip ip precedence precedence 1 1 2 2 match match mpls mpls experimental experimental 11 22 ! ! policy-map policy-map IP+MPLS class class Gold bandwidth bandwidth 3000 3000 class class Silver Silver bandwidth bandwidth 1000 1000 ! ! Interface Interface Ethernet0/0 Ethernet0/0 ip ip address address 10.1.1.1 255.255.255.0 255.255.255.0 mpls mpls ip ip service-policy IP+MPLS service-policy output output IP+MPLS ! ! © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Classification based on MPLS experimental bits is performed by using the match mpls experimental command in the class-map configuration mode. Up to eight values can be used within one class map. The sample configuration shows a generic class map using the match-any classification strategy to classify IP packets and labeled packets with the same IP precedence or MPLS experimental value.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-23
CAR Diagram Meter Meter
Conforms? Conforms?
Conform or exceed marking value
Transmit? Transmit?
Yes
Forward or Enqueue
No
Mark? Mark? Set Set IP IP prec? prec? Set Set DSCP? DSCP? Set Set MPLS MPLS exp? exp? Set Set QoS QoS grp? grp?
Continue? Continue? Yes
Yes
Yes
Yes
Set Set IP IP Precedence Precedence
Set Set DSCP DSCP
Yes
Go to Next CAR command
No
Drop Drop
Set SetMPLS MPLSExperimental Experimental
Set Set QoS QoS Group Group
• Marking depends on whether the packet conforms to or exceeds the policy © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Committed Access Rate (CAR) can be used to differentially mark packets based on the arrival rate of packets within the selected class. If a packet conforms (is within contract) it is marked with one value, if it exceeds it is marked with a different value. CAR also supports recursive processing of packets. One packet can be processed by multiple rate-limit commands.
23-24
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Configuring Configuring CAR CAR for MPLS Router(config-if)# B rate-limit {input | output} acl} rate B BC BE output} {access-group {access-group rate-limit rate-limit acl } rate C E conform-act exp | set-mpls-exp-continue exp} conform-act {set-mpls-exp-transmit { set-mpls-exp-transmit exp set-mpls-exp-continue exp } exceed-act exp | exp} exceed-act {set-mpls-exp-transmit {set-mpls-exp-transmit exp | set-mpls-exp-continue set-mpls-exp-continue exp
• CAR can mark MPLS packets based on their arrival rate • CAR supports recursive processing of rate-limit comma nds • CAR supports classification based on MPLS experimental bit values by using rate-limit acce ss list • Both conform and exceed actions support other actions: transmit, continue, drop, set-prec-transmit, set-prec-continue, … interface interface Serial0/0 Serial0/0 ip ip address address 10.1.1.1 10.1.1.1 255.255.255.252 255.255.255.252 rate-limit rate-limit input input 64000 64000 2000 2000 2000 conform conform set-mpls-exp-tr set-mpls-exp-tr 5 5 exceed exceed setset mpls-exp-tr mpls-exp-tr 0 0 rate-limit rate-limit output output 64000 64000 2000 2000 2000 2000 conform conform set-mpls-exp-tr set-mpls-exp-tr 5 5 exceed exceed setset mpls-exp-tr mpls-exp-tr 0 0 !!
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
CAR also supports a special rate-limit access list that can match labeled packets based on their MPLS experimental values. The action options include the two that can set MPLS experimental values: n
n
Copyright © 1999, Cisco Systems, Inc.
set-mpls-exp-continue: sets the MPLS experimental bits (0 to 7) and evaluates the next rate-limit command. set-mpls-exp-transmit: set the MPLS experimental bits (0 to 7) and transmits the packet.
Release Date: 2/1/99
23-25
Configuring CAR for MPLS Router(config)# access-list e-limit acl access-list rat rate-limit {exp | mask mask mask acl { exp | mask}}
• The acl index must be between 200 and 299 to select the rate limit access list for MPLS experimental bits • Rate limit access lists can be used to match on one or more MPLS experimental values • Set one value ( exp) to be matched or use the mask option to match on more values • Each access list can have only one line interface interface Serial0/0 Serial0/0 rate-limit rate-limit output access-group access-group rate-limit rate-limit 200 200 64000 640002000 2000 2000 2000 conform conform transmit transmit exceed exceed drop drop rate-limit rate-limit input input access-group access-group rate-limit rate-limit 201 20164000 640002000 20002000 2000 conform conform setset mpls-exp-tr mpls-exp-tr 0 0 exceed exceed set-mpls-exp-tr set-mpls-exp-tr 0 0 !! access-list access-list rate-limit rate-limit 200 200 22 access-list access-list rate-limit rate-limit 201 201 mask FE !! © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Special rate-limit access lists allow high-performance classification based on the following parameters: n
n
n
IP precedence value if the number of the access list is in the range from 1 to 99 MAC address if the number of the access list is in the range from 100 to 199 MPLS experimental bits if the number of the access list is in the range from 200 to 299
A rate limit access list can have only one line. A single MPLS experimental value can be matched by setting the exp value. Multiple values can be matched by using the mask keyword and applying a mask in hex. This mask is an 8 bit value where each bit corresponds to one experimental value 0 through 7. The low order bit corresponds to value 0 and the high-order bit corresponds to value 7. Setting the bit value to 1 indicates that the corresponding experimental value is a match; setting the value to 0 indicates that the corresponding value is not a match. A combination of bits in the mask can be used to match on any number of MPLS experimental values. For example, to match an experimental value of 0, the mask would be 01 (0000 0001 binary). To match a value of 5, the mask would be 20 (0010 0000 binary). The second rate-limit command in the sample configuration above uses the mask FE (1111 1110 binary) to match all MPLS experimental values except value 0.
23-26
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
CB-Policing • CB-Policing is similar to CAR except: - It uses the Modular QoS CLI for classification - It supports three different actions (conform, exceed and violate) - It does not support recursive processing of packets
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Class-based Policing is used for the same purpose as CAR. CB-Policing differs from CAR in the following ways: n
n
n
Copyright © 1999, Cisco Systems, Inc.
The Modular QoS CLI is used to classify packets. It can use two token buckets to determine whether a packet conforms to, exceeds or violates the policy. It does not support recursive processing of packets (the continue option is not available).
Release Date: 2/1/99
23-27
Configuring CB-Policing for MPLS Router(config-pmap-c)#
police avg-rate [ BE ]] [conform-action avg-rate [BC [conform-action [action] C [exceed-action [[action action] [violate-action [ [action action]]]]
• avg-rate – traffic rate in bps (8.000 to 200.000.000) • BC – normal burst size dimensions the first token bucket in bytes (default is 1500 or avg-rate/32; whatever is higher) • BE – excess burst size dimensions the second token bucket in bytes (equals BC if not configured) • action – can be: -
transmit (default conform action) drop (default exceed and violate action) set-prec-transmit ip-precedence set-dscp-transmit dscp set-qos-transmit qos-group set-mpls-exp-transmit mple-exp set frde-transmit set-clp-transmit
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The figure shows that one of several actions can be used to mark labeled packets with an MPLS experimental value. Three different values can be used within a single class depending on whether a packet conforms to, exceeds or violates the policy.
23-28
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
CB Marking • Class-based Marking can be used to mark labeled packets by setting the MPLS experimental bits • MPLS experimental bits can currently only be set on input • DSCP should be translated to IP precedence prior to entry into an MPLS domain
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Class-based Marking can use the classification options available in the Modular QoS CLI and statically mark classes with the MPLS experimental values. Implementation limitations should be considered when translating between any pair of parameters on MPLS domain borders (DSCP to MPLS, IP precedence to MPLS). MPLS marking is currently only supported on input. Inbound IP packets can be directly marked with MPLS experimental values. Using the QoS group parameter is necessary when translating MPLS experimental values back to IP precedence or DSCP (for example: MPLS to QoS group translation on input and QoS group to DSCP translation on output). This functionality and these limitations may change with new IOS versions.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-29
Configuring MPLS Marking Router(config-pmap-c)#
set mpls experimental exp-bits
• Mark labeled packets with the specified value (0 to 7) • MPLS marking can only be used on input policy-map policy-map SetMPLS class class Class1 Class1 qos-group qos-group set mpls experimental mpls experimental class class Class2 Class2 qos-group qos-group set mpls experimental mpls experimental class class Class3 Class3 qos-group qos-group set mpls mpls experimental experimental !!
© 2001, Cisco Systems, Inc.
11 11 22 22 22 33
IP QoS IP over MPLS
Use the set mpls experimental command in the policy-map class configuration mode to mark inbound packets with MPLS experimental values. The sample configuration shows how a QoS group parameter can be translated into MPLS experimental bits.
23-30
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Translation Case Study IP Domain MPLS Domain
• IP domain is using the DiffServ model: -
EF – Class Premium AF1 – Class Gold AF2 – Class Silver Default – Best effort class
• Translate IP DSCP values to and from MPLS experimental bits to achieve a similar result in the MPLS domain © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The QoS design in the case study uses DSCP to mark packets. Four classes must also be managed in the MPLS domain. A translation between DSCP and MPLS is needed to implement a similar QoS solution in the MPLS domain. Although standard DSCP values for AF classes seamlessly map to IP precedence values for backward compatibility it is sometimes necessary to manually translate markers between DSCP an IP precedence or DSCP and MPLS. For example: n
n
A QoS design based on IP precedence is using two IP precedence values to mark packets belonging to one class: -
Class Premium is marked with IP precedence 5 and is guaranteed low latency
-
Class Gold is using IP precedence 4 for conforming (low-drop) packets and IP precedence 3 for exceeding (high-drop) packets
-
Class Silver is using IP precedence 2 for conforming (low-drop) packets and IP precedence 1 for exceeding (high-drop) packets
-
Best effort traffic is marked with IP precedence 0
When migrating to DSCP-based implementation it is necessary to still support the old QoS design until the entire network is migrated to support DSCP.
The case study shows how this translation can be done manually. If the original IP-precedence-based design did not use multiple IP precedence values per class there should be no need to configure the translation manually. All class-maps, however, should include class selectors in their match options to support backward compatibility with IP precedence: n
Copyright © 1999, Cisco Systems, Inc.
Matching packets for AF1 requires af11, af12, af13 and cs1 to be matched
Release Date: 2/1/99
23-31
n
Matching packets for AF2 requires af21, af22, af23 and cs2 to be matched
n
Matching packets for AF3 requires af31, af32, af33 and cs3 to be matched
n
Matching packets for AF4 requires af41, af42, af43 and cs4 to be matched
n
Matching packets for EF requires ef and cs5 to be matched
The solution shown on the following pages illustrates how default behavior can be changed by manually configuring the translation between IP precedence (MPLS experimental bits) and the DSCP.
23-32
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Translation Case Study Design DSCP
IP precedence QoS group
IP Domain
© 2001, Cisco Systems, Inc.
MPLS exp MPLS Domain
IP DSCP
MPLE experimental
EF AF1 low-drop AF1 medium -drop AF1 high-drop AF2 low-drop AF2 medium -drop AF2 high-drop Default
5 4 4 3 2 2 1 0 IP QoS IP over MPLS
The figure illustrates how DSCP values should be mapped to IP precedence or MPLS experimental values. Some information is lost because low-drop and medium-drop packets of AF1 and AF2 are marked as one low-drop class in the MPLS domain. The case study shows how some information about the conforming and exceeding packets within one class can be retained when entering a non-DSCP part of the network (either because routers do not support DSCP or because MPLS experimental bits are used to select Class of Service). The figure illustrates the translation from three drop probability levels on the DSCP layer into two drop probability level in the IP precedence (MPLS experimental) layer. Using this design further limits the network to only use two classes for AF PHB.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-33
MPLS Translation Case Study Implementation IP precedence DSCP IP Domain class-map class-map EF EF match match ip ip dscp dscp ef ef class-map class-map AF1LD AF1LD match match ip ip dscp dscp af11 af11 af12 af12 class-map class-map AF1HD AF1HD match match ip ip dscp dscp af13 af13 ! ! policy-map policy-map DSCP2prec DSCP2prec class class EF EF set set ip ip precedence precedence 5 5 class class AF1LD AF1LD set set ip ip precedence precedence 4 4 class class AF1HD AF1HD set set ip ip precedence precedence 3 3 ! ! © 2001, Cisco Systems, Inc.
MPLS exp MPLS Domain
interface interface Serial5/1/0 Serial5/1/0 service-policy service-policy input DSCP2prec !!
IP QoS IP over MPLS
The first part of the configuration shows how DSCP is translated to IP precedence on ingress into the MPLS network. IP precedence is then automatically copied into MPLS experimental bits. The default DSCP value equals the default IP precedence value and does not need to be translated. The EF class does not need to be translated either because the EF value (101110) is copied as IP precedence into the MPLS experimental field (101), which equals 5. The configuration for AF2 is not shown in the figure.
23-34
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
MPLS Translation Case Study Implementation QoS group DSCP
MPLS exp
IP Domain class-map class-map match-any match-any MPLS5 MPLS5 match match mpls mpls exp exp 5 5 match match ip ip precedence precedence 5 5 class-map class-map match-any match-any MPLS4 MPLS4 match match mpls mpls exp exp 4 4 match match ip ip precedence precedence 4 4 class-map class-map match-any match-any MPLS3 MPLS3 match match mpls mpls exp exp 3 3 match match ip ip precedence precedence 3 3 !! policy-map policy-map MPLS2QoS MPLS2QoS class class MPLS5 set set qos-group qo s-group 5 class class MPLS4 set set qos-group qo s-group 4 4 class class MPLS3 MPLS3 set set qos-group qo s-group 3 © 2001, Cisco Systems, Inc.
MPLS Domain class-map class-map QoS5 match match qos-group qos-group 55 class-map class-map QoS4 QoS4 match match qos-group qos-group 44 class-map class-map QoS3 match match qos-group qos-group 33 !! policy-map policy-map QoS2DSCP QoS2DSCP class class QoS5 QoS5 set set ip ip dscp dscp ef ef class class QoS4 QoS4 set set ip ip dscp dscp af12 af12 class class QoS3 QoS3 set set ip ip dscp dscp af13 af13 !!
interface interface Serial5/1/1 Serial5/1/1 service-policy service-policy input MPLS2QoS MPLS2QoS !! interface interface Serial5/1/0 Serial5/1/0 service-policy service-policy output output QoS2DSCP QoS2DSCP
IP QoS IP over MPLS
The remainder of the configuration is used to translate MPLS experimental values back into DSCP. The class-maps are configured to process IP packets (very likely due to penultimate hop popping) or labeled packets. Low-drop packets are translated into medium-drop packets in the DiffServ domain.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-35
Summary Frame-mode MPLS allows most IP QoS mechanisms to be used. The three MPLS experimental bits are used in the same way as IP precedence. IP precedence is actually copied into MPLS experimental bits.
Review Questions 1. Which MPLS parameter is used for classification and marking? 2. What is the default value of the MPLS experimental bits? 3. Which QoS mechanisms can be used to set MPLS experimental bits?
23-36
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Cell-mode MPLS Objectives Upon completion of this lesson, you will be able to perform the following tasks: n
Describe QoS features available with Cell-mode MPLS
n
Implement QoS on interfaces using Cell-mode MPLS
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-37
Cell-mode MPLS QoS • Classes are encoded with MPLS experimental bits • Cell-mode MPLS uses the VPI/VCI fields as labels for forwarding • ATM switches are not capable of looking into the frame-mode label where the experimental bits are • QoS is implemented using up to four parallel virtual circuits (label-switched paths)
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
ATM is a Layer-2 technology that does not use frames to transmit Layer-3 packets. Packets are fragmented into fixed-length cells. Cell-mode MPLS makes use of the ATM header to encode labels into VPI/VCI fields. These fields are only used to make a forwarding decision. QoS cannot be achieved using MPLS experimental bits because: n
They are only propagated in the first cell of a packet.
n
ATM switches do not look into the payload of cells.
QoS is therefore achieved using multiple labels (up to four).
23-38
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Cell-mode MPLS
Cell-mode MPLS Frame-mode MPLS Native IP
• IP precedence used in IP domain is automatically translated into MPLS experimental bits • MPLS experimental bits are optionally translated into up to four parallel virtual circuits (label-switched paths) © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The figure illustrates how IP packets can be propagated over a native IP network (no MPLS and no ATM or with ATM PVCs), a frame-based MPLS network and a cell-based MPLS network. QoS is retained when IP packets enter a frame-based MPLS network by copying the IP precedence bits into MPLS experimental bits. When labeled packets enter a cell-based MPLS network, QoS is retained by forwarding the packet through one of four VCs, which are based on the value of MPLS experimental bits.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-39
Configuring Multi-VC Router(config-if)#
mpls atm multi-vc
• The command enables Multi-VC operation of cell -mode MPLS • Eight MPLS experimental values are mapped to four virtual circuits • The class is determined by the two least significant MPLS experimental bits • Default mapping is similar to classification of distributed ToS-based WFQ • Default mapping can be replaced using the cos-map command
© 2001, Cisco Systems, Inc.
MPLS exp VC 0 1 2 3 4 5 6 7
Available Standard Premium Control Available Standard Premium Control
IP QoS IP over MPLS
Cell-mode MPLS uses one single VC for each IP destination. Use the mpls atm multi-vc interface command to enable routers to request up to four VCs for each IP destination. Classification is based on the low-order two bits of the MPLS experimental field (like ToS-based dWFQ). The table in the figure shows the default mapping of MPLS values into four VCs: available, standard, premium and control. Default mapping can be changed using the mpls cos-map and mpls prefix-map commands.
23-40
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Configuring CoS Mapping Router(config)#
mpls cos-map number number
• Create a CoS map • Allowed values are from 1 to 255 Router(config-mpls-cos-map)#
class class {available | control | premium | standard}
• Assigns a class to one of four virtual circuits • Class values can be in the range from 0 to 3 Router(config)#
mpls prefix-map pfmap access-list acl cos-map cos-map
• Uses CoS map cos-map for all destinations permitted by access list acl © 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
A CoS map must be configured to change the default behavior of the translation of MPLS experimental values into one of four virtual circuits (available, standard, premium and control). Classes are identified by the two low-order bits of the MPLS experimental field. Use the mpls prefix-map command to bind a cos-map to all destinations permitted by the acl access list.
Note
Most MPLS-related commands are available with the starting keyword mpls or the older tag-switching version. Furthermore, using the mpls keyword results in the command being automa tically translated into the tag-switching version for compatibility with older IOS versions.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-41
Configuration Example tag-switching tag-switching prefix-map prefix-map 10 10 access-list access-list 100 100 cos-map cos-map 10 10 tag-switching tag-switching prefix-map prefix-map 11 11 access-list access-list 101 101 cos-map cos-map 10 10 tag-switching tag-switching prefix-map prefix-map 21 21 access-list access-list 32 32 cos-map cos-map 34 ! ! tag-switching tag-switching cos-map cos-map 10 10 class class 0 0 available class class 1 standard class class 22 premium premium class class 33 control control ! ! interface interface ATM1/0.1 ATM1/0.1 mpls mpls ip unnumbered ip unnumbered Loopback0 no no ip ip mroute-cache mroute-cache mpls mpls atm atm multi-vc multi-vc mpls mpls ip ip ! ! access-list access-list 100 100 permit permit ip ip 10.0.0.0 10.0.0.0 0.255.255.255 0.255.255.255 10.0.0.0 10.0.0.0 0.255.255.255 0.255.255.255
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
The sample configuration shows that all traffic to network 10.0.0.0/8 uses four parallel VCs. MPLS experimental bits are mapped using cos-map 10. Note that only prefix map 10 is properly configured. Prefix map 11 does not have the corresponding access list and prefix map 21 is missing the CoS map as well.
23-42
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Monitoring and Troubleshooting Cell-mode MPLS Router#
show mpls mpls cos-map [ cos-map]
• Lists all configured CoS maps Router#show Router#show mpls mpls cos-map cos-map 10 cos-map class tag-VC cos-map 10 tag-VC 33 control control 22 premium premium 11 standard standard 00 available available Router# Router#
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Use the show mpls cos-map command to verify the parameters assigned to a cos-map.
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-43
Monitoring and Troubleshooting Cell-mode MPLS Router#
prefix-map prefix-map] show mpls prefix-map [
• Lists all configured prefix maps Router# show mpls Router#show mpls prefix-map prefix-map prefix-map list 100 prefix-map 10 10 accessaccess-list 100 cos-map cos-map 10 10 prefix-map list 101 prefix-map 11 11 accessaccess-list 101 cos-map cos-map 10 10 Warning: Warning: In In prefix-map prefix-map 11, acl 101 101 is is not not configured configured prefix-map list 32 cos-map prefix-map 21 21 accessaccess-list cos-map 34 Warning: Warning: In In prefix-map prefix-map 21, acl 32 32 and and cos-map cos-map 34 34 are are not not configured configured Router# Router#
© 2001, Cisco Systems, Inc.
IP QoS IP over MPLS
Use the show mpls prefix-map command to display one or all configured prefix maps with their corresponding access lists and cos-maps. Using this command helps determine if there is a component missing:
23-44
n
Access list 101 is not configured for prefix map 11
n
Prefix map 21 is missing both the access list and the CoS map
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.
Summary Cell-mode MPLS uses up to four virtual circuits to achieve differentiated quality of service. Packets are classified based on the two low-order bits of the MPLS experimental field.
Review Questions 1. How is differentiated QoS implemented on MPLS-enabled ATM interfaces? 2. What information is used for classification in cell-mode MPLS?
Copyright © 1999, Cisco Systems, Inc.
Release Date: 2/1/99
23-45
Summary After completing this module, you should be able to perform the following tasks:
23-46
n
Describe and configure QoS Mechanisms in Frame-mode MPLS networks
n
Describe and configure QoS Mechanisms in Cell-mode MPLS networks
World Wide Training Word Templates v1
Copyright © 1999, Cisco Systems, Inc.