OcNOS-DC : Multi-Protocol Label Switching Guide : Multi-Protocol Label Switching Configuration Guide : MPLS DiffServ Configuration
MPLS DiffServ Configuration
This chapter contains an overview of MPLS DiffServ functionality and terminology, MPLS DiffServ configuration example for a relevant scenario, configuration guidelines, and sample procedures for enabling and configuring MPLS DiffServ.
MPLS Diff-Serv Overview
The initial efforts to provide quality of service (QoS) in IP networks were based on a per application-Flow model (IntServ), in which individual applications requested QoS. With large number of flows traversing IP networks, this approach proved to be un-scalable and overly complex, and a more “coarse-grained” model was developed in the form of DiffServ. DiffServ approaches the problem of QoS by dividing traffic into a small number of classes and allocating network resources on a per-class basis. DiffServ provides differential forwarding treatment to traffic, thus enforcing QoS for different traffic flows. It is a scalable solution that does not require per flow signalling and state maintenance in the core. However, it cannot guarantee QoS if the path followed by the traffic does not have adequate resources to meet the QoS requirements.
DiffServ Tunnelling modes:
RFC 3270 has recommended three QoS models for DiffServ tunneled traffic in MPLS networks:
OcNOS supports two models:
Pipe model (default mode): With the Pipe Model, MPLS tunnels (aka LSPs) are used to hide the intermediate MPLS nodes between LSP Ingress and Egress from the Diff-Serv perspective. In this model, tunneled packets must convey two meaningful pieces of Diff-Serv information:
The Diff-Serv information which is meaningful to intermediate nodes along the LSP span including the LSP Egress (which we refer to as the “LSP Diff-Serv Information”).This LSP Diff-Serv Information is not meaningful beyond the LSP Egress: Whether Traffic Conditioning at intermediate nodes on the LSP span affects the LSP Diff-Serv information or not, this updated Diff-Serv information is not considered meaningful beyond the LSP Egress and is ignored.
The Diff-Serv information which is meaningful beyond the LSP Egress (which we refer to as the “Tunneled Diff-Serv Information”).This information is to be conveyed by the LSP Ingress to the LSP Egress.This Diff-Serv information is not meaningful to the intermediate nodes on the LSP span.
Uniform model: With the Uniform Model, MPLS tunnels (aka LSPs) are viewed as artifacts of the end-to-end path from the Diff-Serv standpoint. MPLS Tunnels may be used for forwarding purposes but have no significant impact on Diff-Serv. In this model, any packet contains exactly one piece of Diff-Serv information which is meaningful and is always encoded in the outer most label entry (or in the IP DSCP where the IP packet is transmitted unlabeled for instance at the egress of the LSP). Any Diff-Serv information encoded somewhere else (e.g., in deeper label entries) is of no significance to intermediate nodes or to the tunnel egress and is ignored. If Traffic Conditioning at intermediate nodes on the LSP span affects the “outer” Diff-Serv information, the updated Diff-Serv information is the one considered meaningful at the egress of the LSP.
The Uniform Model for Diff-Serv over MPLS is such that, from the Diff-Serv perspective, operations are exactly identical to the operations if MPLS was not used. In other words, MPLS is entirely transparent to the Diff-Serv operations.
Use of the Uniform Model allows LSPs to span Diff-Serv domain boundaries without any other measure in place than an inter-domain Traffic Conditioning Agreement at the physical boundary between the Diff-Serv domains and operating exclusively on the “outer” header, since the meaningful Diff-Serv information is always visible and modifiable in the outmost label entry.
Terminology
Following is a brief description of terms and concepts used to describe MPLS Diffserv.
EXP Value
The MPLS experimental bits (EXP) field is a 3-bit field in the MPLS header that you can use to define the QoS treatment (per-hop behavior) that a node should give to a packet. In an IP network, the DiffServ Code Point (DSCP) (a 6-bit field) defines a class and drop precedence. The EXP bits can be used to carry some of the information encoded in the IP DSCP and can also be used to encode the dropping precedence.
By default, OcNOS copies the three most significant bits of the DSCP or the IP precedence of the IP packet to the EXP field in the MPLS header. This action happens when the MPLS header is initially imposed on the IP packet. However, you can also set the EXP field by defining a mapping between the DSCP or IP precedence and the EXP bits. This mapping is configured using the set mpls class command in pmap-class mode or qos map class exp in global mode. For more information, see the “Remarking” section.
DSCP Value
Differentiated Services Code Point (DSCP) is a 6-bit value used to classify the priority of Layer-3 packets upon entry into a network. DSCP values range from 0 to 63, 63 being the highest priority, 0 being best-effort traffic.
Classification
Traffic classification allows the network to recognize traffic as it falls into classes that you have configured. Network traffic must be classified to apply specific QoS to it. Classification can be inclusive (for example, all of the traffic passing through an interface) or classification can be very specific (for example, you can use a class map with match commands that recognize specific aspects of the traffic). You can classify and apply QoS (for example, marking) and then, on another interface or network device, classify again based on the marked value and apply other QoS.
Policing
Policing determines whether a packet is in or out of profile by comparing the internal DSCP to the configured policer. Policer limits the bandwidth consumed by a traffic flow with the results given to the marker.
Policing and policers have the following attributes:
Policers can occur only on a physical port basis.
Policing can occur on ingress interfaces.
Only one policer can be applied to a packet per direction.
Marking
Marking determines how to handle a packet when it is out of profile. It assesses the policer and the configuration data to determine the action required for the packet, and then handles the packet using one of the following methods:
Let the packet through without modification
Drop the packet
Marking can occur on ingress and egress interfaces.
Class Map
A class map names and isolates specific traffic from other traffic. The class map defines the criteria used to match against a specific traffic flow to classify it further. The criteria can include:
Matching the access group defined by the ACL
Matching a specific list of DSCP values
If there is more than one type of traffic to be classified, another class map can be created under a different name. After a packet is matched against the class-map criteria, it is further classified using a policy map.
Policy Map
A policy map specifies on which traffic class to act. This can be implemented as follows:
Set a specific CoS or DSCP value in the traffic class.
Specify the traffic bandwidth limitations for each matched traffic class (policer) and the action to take (marking) when the traffic is out of profile.
Policy maps have the following attributes:
A policy map can contain multiple class statements, each with different match criteria and policers.
A separate policy-map class can exist for each type of traffic received through an interface.
There can be only one policy map per interface per direction. The same policy map can be applied to multiple interfaces and directions.
Before a policy map can be effective, it must be attached to an interface.
MPLS Class
MPLS class or class specifies the class of the frames, for example frames with DSCP 0-7 belongs to class 0, DSCP 8-15 belongs to Class 1, and so on.
In OcNOS, there are 8 classes varying form 0-7. By default, EXP to class is mapped one-to-one.
For more, see Table 12-1
For MPLS Diff-Serv to work, QoS must be enabled at the global level. By default QoS is disabled.
Table 12-1: EXP to class mapping 
CoS
DSCP
EXP
Class
Queue
0
0-7
0
0
0
1
8-15
1
1
1
2
16-23
2
2
2
3
24-31
3
3
3
4
32-39
4
4
4
5
40-47
5
5
5
6
48-55
6
6
6
7
56-63
7
7
7