Professional Documents
Culture Documents
becoming so similar that they are built into one another, technology that allows for
technology in enterprise. This has been the case with MPLS, a technology that does
exactly the process previously mentioned, in that it combines the ability to route
between networks with the knowledge of a switch label and predicted path [2].
inconsistency of routing decisions in which each router within a network will read a
importantly the source and destination of the packet. Instead, MPLS applies a 32 bit
label to the packet which all forwarding and path decisions can be based upon.
Specified within this 32 bit label, and based on the destination of the packet, the
router will assign what [2] calls a “Forwarding Equivalence Class” or FEC. This FEC
classifies the destination to which the packet is travelling, and will be reassigned as
the packet traverses different networks. The most interesting part of the FEC is that
a stack exists which can be used to assign the path and FEC to which the packet
MPLS works by applying labels to individual packets as they enter a network. These
labels allow for switches and routers to process the labels and “pop” the first label
off of a “stack” of labels [2], similar to how an office worker would use sticky notes
or a daily calendar. Each label was put in place by an ingress router, or a router
which the packet came into contact with when it first came into the network. The
label contains information such as the owner’s source and the destination to which
the packet is to be forwarded to. A path can also be specified for which the packet
to take, and allows for a switch or router to use the MPLS label for the forwarding
decisions, without having to scan the entire packet header, a process which will add
overhead time to the network traversal [2]. When routers or switches receive the
packets as they traverse through the network, the packets are forwarded out on
label switch paths, or LSP’s, as based on their labels. The specific path or LSP to
forward the packet on if originally assigned when it initially enters the network and
is based on the destination of the packets. This allows for different paths to be
taken based on the label, thus giving the ability to do traffic engineering simply on
Contrary to the previous way of routing, in which routers would scan a packet’s
header and discover the source, destination, and path, MPLS also allows for
switches and routers along the way to change the stack, so that they are able to
add a different path if the default one is broken or unavailable. This allows for a
more dynamic and autonomous network to be formed, with less intervention from
applications or human factors, not to mention the cut down on the loss of packets if
an invalid path is specified. When the router examines the packets, it reads the top
most element from the stack, taking the information from it which it needs to route
the packet and forwards it accordingly. If the packet has no top most element,
there is the assumption that the packet belongs to the switch, router or network to
which it has come into contact with [2]. If the top most label is invalid or not
properly formed, the label is discarded as to not cause any more confusion, unless
it is determine by the switch or router to not cause any harm by forward the packet
without a label, in which case the switch or router will forward it as needed [2].
In previous routing algorithms, each router or switch would decide based on the FEC
that it assigns the packet, where to forward it and path for which this forwarding to
take, all based on its routing table and the longest match to the destination address
[2]. In other words, when a packet comes into a router or switch, it will compare the
attempting to find the closest match to the packet’s destination subnet. When the
longest match is found, the packet will be forwarded on that path. This creates a
significant overhead time in which the router or switch has to examine the entire
packet header to discover the source and destination, assign an FEC based on its
own routing tables and classes, and finally forward the packet onto the next switch
or router, in which this process happens all over again. On the other hand, MPLS
allows for a switch or router to read the first element off of the stack of labels,
forward the packet based on the information contained within the stack, and pop a
new element back onto the stack if it has knowledge of the path being broken or
needing modification [2]. The only needed analysis of the packet is done at the
ingress router, where the stack is formed and decisions are made for traversal of
the network, until the packet reaches a new network in which this process happens
again [2].
MPLS has a number of advantages over previous routing algorithms which were
previously used for path selection. First, MPLS has the ability to be used on
switches, with very little modification to the switches other than a software upgrade
which allows them to read and write labels to individual packets. This makes path
selection more fault tolerant because of more hops in the network and the ability to
change which path the packet takes if a better one becomes available. MPLS also
has a large dynamic factor in which packets coming into the network can be
assigned different FEC’s based on how they arrive to the network and the port on
which they arrive at the network over. In this way, traffic shaping can occur to
allow for certain traffic, for example FTP or SFTP traffic, to be routed in such a way
that faster speeds are allowed, compared to HTML traffic, in which not as much
Similar to the point previously made, MPLS also allows for the specification of all
Previously this was done by embedding the path which the administrator wanted
the packet to take, into the packet and have each router identify the point in the
path which the packet is currently at. This is commonly referred to as “source
routing” [2]. MPLS allows for a path to be specified in the stack of labels, thus
cutting down on the processor overhead to calculate the path to send the packet
on, as well as what is needed in the packet header and read by the router. Finally,
MPLS also allows for the assignment of precedence over other traffic, as well as
time to live, thus giving it some ability to do quality of service for packet forwarding
as well. Time to live functions the same as if it had been routed through a number
of routers, with each switch or router that the packet comes into contact with
decrementing the TTL value in the MPLS label, and the packet being discarded when
With all of its advantages, MPLS is not perfect, however. The major disadvantages
of MPLS are that it only supports point to point communications, or it only allows for
a signal to be sent to one client, rather than multiple (point to multipoint). MPLS is
also only suitable for large networks, mainly because of the time that it requires to
examine a packet, apply labels and then forward the packet data to internal routers
and switches from the ingress router or switch. There is also a bit of configuration
that has to be made to the network when MPLS is implemented, mainly that it is
only supported on layer 3 switches or any router, a point which may complicate the
switches. Finally, MPLS only works over IP, it is not supported by other protocols
such as TCP because of its connection oriented versus connectionless state. [6]
With MPLS, there is no actual exchange of routing information for use by the packet
itself. In other words, unlike RIP or OSPF, there is no exchange of routes to routers
and networks to specifically inform routers of the path to take. Instead, MPLS works
alongside RIP, OSPF, IS-IS and BGP to work on top of the IP protocol and allows for
routers to make forwarding decisions as based on the information they acquire from
this information. When the router or switch receives the packet, it will compare the
path specified in the label (if available) and forward as necessary based on its IP
In [4] the authors note that MPLS “defines only the forwarding mechanism; it uses
other protocols to establish the LSPs.” This goes to prove that MPLS is mainly
concerned with forwarding, but is also broken down into two parts which operate to
both calculate the LSPs and inform switches and routers along the path which it
plans to take. The first part is the MPLS routing protocol which, as mentioned in the
through which it can send the packet and thus calculate the LSP. Typical protocols
used are IS-IS and OSPF, both interior gateway protocols that can be used in a
estimating the quality of service on the path, and thus creating a primary and
additional backup paths to use in case this primary path is unavailable. [4]
The second protocol that MPLS uses in practice is the one through which it
distributes the LSP decisions as they relate to individual labels, called the MPLS
protocols can be used to establish the path through which traffic will flow. The first
requires less user interaction when it comes to being managed. Because of its
nature of being so closely paired with IP, MPLS can also work with in combination
with other protocols such as BGP. This pairing is usually used for BGP/MPLS VPN’s
as documented in [4]. It can also be used in conjunction with ATM, in that ATM
already allows for the splitting of packets into cells, and then can apply an MPLS
Another interesting feature about MPLS is it has been simplified from its original
version and therefore can be used in both Ethernet and optical networks. For
example, MPLS allows for not only a label to be added to the packet as it enters the
ingress routers, but also use the time slot or wave length that the packet is
transmitted on to be the actual label as well. For example, similar to time based
multiplexing, when a flow of packets are sent across a network in time slots, the
routers and switches which intercept these packets may have the ability to analyze
when the packet was sent or received, in what order they belong in, and therefore
the path to send the packet down, solely based on this timing and ordering. This is
between Ethernet and optical networks, in that the labels originally assigned can be
transformed into time slots when sent through the optical network [4].
Because MPLS is a relatively new technology, there isn’t much research being done
into it, other than to try to find new ways of increasing speed while using MPLS, or
applying it to an overall network rather than just the core network. The authors of
[7] propose that there is the ability to use multiple label switched routers that are
connected to each other to advertise the multiple routers as a single one and thus
increase the number of parallel paths through which packets can be sent. This
would, in turn, increase the amount of speed with which the packets can be sent
across the network as well as how many could be sent at a time, due to many
While it was discussed earlier in the paper that MPLS allows for traffic to come in on
different routers and thus be forwarded over different paths, the same with ports,
but thus far traffic load balancing has not been discussed. In [1] the authors
address exactly this, in that they propose ingress and egress routers should be
aware of each other and of the separate paths that are available, and use these
paths to balance the traffic load and ensure the best quality possible. Their
using multiple ingress routers to divide the traffic between paths based on either a
round robin technique or a per flow basis. Both of these techniques are affected by
the traffic volume and availability of each of the links, and thus the traffic is
distributed evenly for the fastest possible and most available access. This
technique accounts for delay within the network by using probe packets and
calculating the time it takes from ingress to egress router before paths are decided
its limiting of the amount the packet header that the router has to read by labeling
the packet, and its future of load balancing, it will soon prove itself in the
http://www.hauwaerts.be/wp-content/uploads/mpls_header_big.jpeg
Works Cited
[1] Elwalid, Anwar, Cheng Jin, Steven Low, and Indra Widjaja. "MATE: MPLS Adaptive
Traffic Engineering."
Http://www.ecse.rpi.edu/Homepages/shivkuma/teaching/sp2003/case/CaseSt
udy/mate-te-infocom01.pdf
[2] Gupta, Anupam, Amit Kumar, and Mikkel Thorup. "ACM Symposium on Parallel
II, San Diego, California, USA. 12 Oct. 2009. ACM Portal. Web. 12 Oct. 2009.
<http://portal.acm.org/citation.cfm?
id=777443&coll=GUIDE&dl=GUIDE&CFID=54333598&CFTOKEN=76417312&
ret=1#Fulltext>.
Buyers Guides and Networking News | OneStopClick. One Stop Click. Web. 12
guide.html>.
[4] "MPLS (Multi-Protocol Label Switching) stack software, a mechanism for packet
2009. <http://www.metaswitch.com/mpls/what-is-mpls.aspx?dcredir=true>.
<http://en.wikipedia.org/wiki/Multiprotocol_Label_Switching>.