You are on page 1of 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:

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 a
significant 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

Ingress LSR

RESV Msg

Transit LSR

Egress 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

You might also like