MPLS Report

5
Project Report on “ Traffic Engineering and QoS with MPLS and its applications” Brief Overview Multiprotocol Label Switching (MPLS) is an Internet based technology that uses short, fixed-length labels to forward packets. MPLS has the attributes of both the layer 2 switching and layer 3 routing which makes it a very efficient protocol. Before moving into the topic, let us first define some of the MPLS related terms which will be used frequently in the report: 1. Control Plane- Establishes and maintains routes to label binding information. 2. Data plane- The forwarding of packets is done in the data plane. 3. Label- It is a fixed length tag which is used in forwarding of packets. 4. Label Switch Router(LSR)- A device that switches packets based on the label. 5. Label Edge Router(LER)- Routers at the ingress and egress side of the MPLS network responsible for imposing and removing labels on the packets respectively. 6. Forward Equivalence class(FEC)- A set of packets having the same properties is assigned the same label and belong to the same FEC. Group of packets having some property like any packet with destination IP address in a given range can belong to the same FEC. When a packet enters a MPLS domain, it is put in a set matching with the property of the packet and are forwarded to the same label-switched path(LSP). 7. Label-switched Path: The path that a packet traverses in a MPLS network from the ingress to the egress LSR using label as an identifier at the intermediate nodes. Traffic Engineering with MPLS Every network faces the problem of congestion and under-utilization of the link bandwidth. The reason is that all shortest-path routing protocols (i.e, IGPs) send traffic based on the shortest path without considering other important network parameters like utilization, available bandwidth and congestion etc. So its required that the packets are redistributed uniformly among all the links for proper utilization of the network bandwidth and avoid congestion. This is called Traffic Engineering. Here we will look into how MPLS does Traffic Engineering and what are the protocols involved.? MPLS Traffic Engineering is broadly classified into three parts namely:

description

mpls

Transcript of MPLS Report

Project Report on

“ Traffic Engineering and QoS with MPLS and its applications”

Brief Overview

Multiprotocol Label Switching (MPLS) is an Internet based technology that uses short, fixed-length labels to forward packets. MPLS has the attributes of both the layer 2 switching and layer 3 routing which makes it a very efficient protocol. Before moving into the topic, let us first define some of the MPLS related terms which will be used frequently in the report:

1. Control Plane- Establishes and maintains routes to label binding information.

2. Data plane- The forwarding of packets is done in the data plane.

3. Label- It is a fixed length tag which is used in forwarding of packets.

4. Label Switch Router(LSR)- A device that switches packets based on the label.

5. Label Edge Router(LER)- Routers at the ingress and egress side of the MPLS network responsible for imposing and removing labels on the packets respectively.

6. Forward Equivalence class(FEC)- A set of packets having the same properties is assigned the same label and belong to the same FEC. Group of packets having some property like any packet with destination IP address in a given range can belong to the same FEC. When a packet enters a MPLS domain, it is put in a set matching with the property of the packet and are forwarded to the same label-switched path(LSP).

7. Label-switched Path: The path that a packet traverses in a MPLS network from the ingress to the egress LSR using label as an identifier at the intermediate nodes.

Traffic Engineering with MPLS

Every network faces the problem of congestion and under-utilization of the link bandwidth. The reason is that all shortest-path routing protocols (i.e, IGPs) send traffic based on the shortest path without considering other important network parameters like utilization, available bandwidth and congestion etc. So its required that the packets are redistributed uniformly among all the links for proper utilization of the network bandwidth and avoid congestion. This is called Traffic Engineering.

Here we will look into how MPLS does Traffic Engineering and what are the protocols involved.? MPLS Traffic Engineering is broadly classified into three parts namely:

1. Distribution of Information.

2. Path Calculation and setup.

3. Forwarding traffic down a tunnel.

Distribution of Information

There are mainly three information that are distributed namely available bandwidth, attribute flags and administrative weights per interface. The per-interface bandwidth configuration tells us how much bandwidth is available on an interface. Apart from that, per-tunnel bandwidth is also configured which tells how much of the announced bandwidth to consume. The available bandwidth is prioritized to allow some tunnels to preempt others. This is called tunnel preemption. Tunnel priority is required because some tunnels are more important than others. For example, a tunnel carrying voice traffic is given precedence over a tunnel carrying data traffic. The priority levels are defined from 0 to 7 with higher the priority number lower the precedence.

Attribute flag is a 32-bit bitmap on a link that defines 32 different properties of the link. The different bits are enabled as per the requirement. The administrative weight (cost) of the link is used to change the TE cost without changing the regular IGP SPF costs and this cost is advertised only in the traffic engineering announcements.

Apart from the information flooded by the regular IGPs, MPLS TE floods information when there is asignificant change in the link bandwidth. Other insignificant changes are flooded periodically but more often than the regular IGPs. When OSPF is used as an IGP, link state advertisements (LSA) are sent to all the neighbors in that area. The LSA consists of interface and metric related information like available bandwidth, attribute flags, link type etc.

Path Calculation and Setup

Path calculation is done using Constraint Shortest Path First (CSPF) Algorithm. After the path is calculated, that path needs to be signaled across the network. This is done using Resource Reservation Protocol with TE (RSVP-TE). It is not a routing protocol. Its job is to reserve bandwidth at the control plane layer; there is no policing of traffic at the data forwarding-plane. One important feature of this protocol is that it periodically refresh its reservations by sending signals again after some time interval. This makes it different from other signaling protocols which send signals only once.

The basic function of RSVP is path setup and maintenance. There are other functionalities like path teardown and error signaling which are also taken care of by this protocol.

Sender MPLS node Destination MPLS node RESV Msg RESV Msg

Ingress LSR Egress LSR Transit LSR

The above figure shows the RSVP reservation message. The reservation message is sent in response to the PATH message (the message sent to setup path) to verify whether the LSP tunnel has been setup properly. There are other message types which are not covered here. For more details about the different message types, please see the references.

Let us take an example to show how path and resv messages are sent during the LSP setup. Lets consider the path R1, R2, R3, and R4 in that order with R1 being one that sends the PATH message. The message will be received by R2 which checks for two things: Whether there is any error in the PATH message or whether the bandwidth requested by R1 is more than the bandwidth R2 can provide. In any of these cases, an error message is sent back to R1. If everything is fine, R2 forwards the packet to R3 which after doing the same verification sends it to R4. R4 being the tunnel tail end, sends back a resv message back to R3 without any label (as it is the tail). R3 will assign some label to its resv message and sends it across to R2. Similarly R2 sends a resv message to R1 with some label. When R1 receives the message, the setup is done and the tunnel interface is up at R1. There will be swapping of labels at all the transit routers when packets are sent on this tunnel. For example, when R2 receives a packet from R1 with some label (as was agreed between the two when the resv message was sent by R2), R2 will swap this label with the label which was sent to it by R3 with the resv message and send it R3. This way the swapping is done at all the intermediate routers and the forwarding of packets is completed.

As mentioned above, RSVP messages are refreshed periodically by sending signals after some point of time. The refresh timers used for the path and resv messages is a 30 second interval with some jitter (50%). As such, the path and resv messages (and every other RSVP messages) are sent every 15 to 45 second interval.

Forwarding traffic down a tunnel

There are basically three ways to forward traffic down to a tunnel. They are:

● Static routes – works just like any other point-to-point interface.

● Policy based Routing – Policy based routing can be used to forward the traffic. Suppose we have two kinds of traffic for the same destination one with a higher precedence than the other. The higher precedence traffic can be sent down a particular tunnel by setting up its interface for this kind of traffic. It doesn't change the routing table at all.

● Autoroute – Autoroute works in the following way. It tells the router to build it routing table such that anything behind the TE tunnel tail end is routed down that tunnel. This is done because IGPs don't run over an MPLS TE tunnel. So when a regular IGP encounters a node that is either a TE tunnel or located beyond that tunnel, it installs the TE tunnel for that node rather than to the regular IGP path on the routing table.

Quality of service with MPLS

IP networks cannot ensure quality of service because it is not connection oriented and the packets doesn't follow the same path. Also there are no resource allocation mechanism for reserving resources at each hop of the network. DiffServ and RSVP were used but they were unsuccessful in handling voice related applications like VoIP. Diffserv can prioritize traffic but cannot deal with issues like congestion and queuing in the network. RSVP can reserve resources. It cannot guarantee that the packets will follow the same path as it is upto the intermediate routers where to forward the packets.

To provide a better quality of service, MPLS along with DiffServ is used. The three-bit EXP field can be used to classify packets. Based on the value of the EXP field, different rules are applied to the packets. EXP bits are used in the same way as IP precedence or the DSCP (DiffServ Codepoint) bits. EXP along with labels can also be used to define different service classes. This is known as L-LSP (Label Only Inferred PSC LSPs) and the work is in under progress.

Cisco's implementation of QoS with MPLS:

Some of the standard QoS mechanisms used in different types of networks are used for the MPLS networks also. They are as follows:

● Policing: Policing involves monitoring of traffic based on the service level agreement or contract. Monitoring is done to make sure the traffic doesn't cross the designed limit. Policing is normally done at the edge of the network.

● Marking: MPLS EXP bits can be used for marking. Based on the bits set, the network devices can apply the required class of service.

● Queuing: Queuing is done by the intermediate nodes. Different queuing techniques can be applied to MPLS like First-in First-out(FIFO), Class Based Weighted Fair Queuing (CBWFQ), Low-Latency Queuing (LLQ).

● Dropping: Dropping of packet is done when the queue becomes full or reaches some threshold. Weighted Random Early Detection (WRED) is one of the technique that can be used with MPLS.

There are three scenarios in which the EXP bits are set. They are:

● When IP packets enter the MPLS network. The ingress LSR adds a label to the IP packet and the MSB of the DiffServ field are copied into the EXP field.

● When a MPLS packet reaches some transit router in the MPLS network, the EXP value from this packet is copied into the swapped label.

● When IP packets leave the network, the labels are removed from the packet.

Voice over MPLS (VoMPLS)

After discussing MPLS TE and QoS with MPLS, we are now in a position to talk about VoMPLS. Whenever we talk about voice, the first thing that comes to our mind is quality of service. Without QoS we cannot provide services like voice or video. MPLS with its Traffic Engineering capability and better quality of service, can provide voice over MPLS. RSVP can be used to reserve resources for voice traffic. RSVP with TE choose the best path based on the available bandwidth, cost and attribute flags for the voice traffic. As such it is better equipped than IP in handling voice traffic.

VoMPLS is a new technology. The labels are used in marking the voice traffic which are used further in the flow. A tunnel can be used to handle one or more bi-directional calls depending on the

bandwidth reserved for this tunnel. All the voice calls within the tunnel are marked with the same label. The intermediate nodes can identify the packets belonging to a particular call by the MPLS label information. In case the bandwidth reserved for a tunnel has been used to its capacity, its bandwidth can be increased to handle excess calls. Alternatively, it can be handled at the call control level. One disadvantage of this approach is the absence of IP header which limits its connectivity to the edge of the MPLS cloud. Thus, MPLS gives an effective way of handling voice traffic and hence provide a high quality voice service.

There is another approach for carrying voice traffic: VoIPoMPLS i.e, Voice over IP over MPLS. The disadvantage here is the extra overhead of the IP header. But with header compression techniques, we can get over this overhead. The advantage with this approach is the vast presence of IP networks which the above approach doesn't have.

Conclusion:

This report mainly talks about MPLS TE, QoS and some approaches for carrying voice like VoMPLS and VoIPoMPLS. MPLS is used extensively with IP and ATM. MPLS is used with ATM mainly for carrying IP traffic over ATM so that IP can use the predefined class of services of ATM. Actually, MPLS provide TE and QoS on the same line as ATM. Because of these capabilities it can be used for carrying voice traffic. There are some scaling and security issues with MPLS TE when used in large networks. Research is going on how to provide better security with MPLS. MPLS is also used in VPNs. With so many benefits and applications, MPLS definitely will increase its market share and will continue to be deployed in the network by the service providers and others in the future.

References:

1. THE MPLS PRIMER: An Introduction to Multiprotocol Label Switching by Sean Harnedy.

2. Traffic Engineering with MPLS by Eric Osborne and Ajay Simha.

3. Voice over MPLS: Planning and Designing Networks by Daniel Minoli.

4. http://www.ietf.org/rfc/rfc3031.txt?number=3031

5. http://www.ietf.org/rfc/rfc2702.txt