Вы находитесь на странице: 1из 9

In an ever evolving technological world where routers and switches are quickly

becoming so similar that they are built into one another, technology that allows for

the cooperation of the technologies is often encouraged and becomes a popular

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].

MPLS or MultiProtocol Label Switching is a technology first proposed and

implemented by IETF in 2001 to address an inconsistency and a large overhead

when it came to forwarding packets within a network. MPLS addresses the

inconsistency of routing decisions in which each router within a network will read a

packet’s header, which contains a large amount of information, but most

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

belongs, but this will be addressed in subsequent paragraphs [2].

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

the MPLS labels [4].

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

packet to each subnet that it is aware of and receives advertisements for,

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

speed is needed to transfer such a small file.

Similar to the point previously made, MPLS also allows for the specification of all

traffic to follow a given path in a network, used mostly in traffic engineering.

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

the maximum count has been reached.

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

process of administrators looking to use older existing hardware, specifically layer 2

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

acquired information [4].

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

previous paragraph, utilizes a separate IP based protocol to establish the paths

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

domain. MPLS itself does calculations as an extension of these protocols by

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

signaling protocols. Depending on how an administrator sets up MPLS, one of two

protocols can be used to establish the path through which traffic will flow. The first

is RSVP-TE (Resource Reservation Protocol) which is used when an administrator

chooses to implement some sort of traffic engineering. Otherwise, LDP (Label

Distribution Protocol) can be used, which tends to be a simpler protocol and

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

label to the cells and send as needed [5].

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

especially useful in optical backbone networks where packets are converted

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

pathways a packet could take in parallel to the others in transit.

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

mechanism, MATE or multipath adaptive traffic engineering, does exactly this by

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

upon for the traffic.

MPLS is a powerful and useful networking technology to any systems administrator

or network administrator who runs a large network and is need of traffic


engineering or at least the ability to speed up routing time within the network. With

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

networking world. Even though it is a relatively new technology, it is starting to be

widely implemented and has proven itself to be a formidable contender and

successor to ATM technology from which it has evolved.

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

Algorithms and Architectures." Lecture. Proceedings of the fifteenth annual


ACM symposium on Parallel algorithms and architectures. SESSION: Routing

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>.

[3] "MPLS Buyers Guide | OneStopClick." Networking | White Papers, Research,

Buyers Guides and Networking News | OneStopClick. One Stop Click. Web. 12

Oct. 2009. <http://networking.onestopclick.com/topic/83/277/mpls-buyers-

guide.html>.

[4] "MPLS (Multi-Protocol Label Switching) stack software, a mechanism for packet

forwarding in network routers." Metaswitch Networks - Carrier-class VoIP and

IMS Systems and Software Solutions. Metaswitch Networks. Web. 12 Oct.

2009. <http://www.metaswitch.com/mpls/what-is-mpls.aspx?dcredir=true>.

[5] "Multiprotocol Label Switching." Wikipedia, the free encyclopedia. Wikipedia, 12

Oct. 2009. Web. 12 Oct. 2009.

<http://en.wikipedia.org/wiki/Multiprotocol_Label_Switching>.

[6] Rosen, E., A. Viswanathan, and R. Callon. "Multiprotocol Label Switching

Architecture." Network Working Group. Network Working Group, Jan. 2001.

Web. 12 Oct. 2009. <http://www.ietf.org/rfc/rfc3031.txt>.

[7] Widjaja, Indra. "Exploiting Parallelism to Boost Data-Path Rate in High-Speed

IP/MPLS Networking." Bell Laboratories, Lucent Technologies 2003. Print.

Вам также может понравиться