TDC 372 Final Project

advertisement
Kevin Gilmartin
TDC 372
MPLS
NetworkWorld.com lists MPLS as one of the “six hot technologies for 2006.”
This was subject of a class presentation as well as lecture, and I felt that because of this, it
was important to learn why MPLS is a “hot” technology and why it is important to learn
about it. MPLS can be broken down into it’s operation, implementation, and
applications. However, the background of MPLS and what exists previous/without it is
also required.
MPLS, which stands for Multiprotocol Label Switching, is not a new technology.
MPLS has existed since the mid-1990’s, and it has had services available since 2000.
However, only now has grown in popularity because of its support of Quality of Service
(QoS), Virtual Private Networks (VPN), and Voice over IP. (VoIP) All of these
technologies have become popular which has led to the popularity of MPLS. MPLS is
not a protocol in and of its own but uses and improves other protocols on Layer 2 and
Layer 3 of the OSI model. This is quite unique because routers by themselves deal only
with Layer 3 and not Layer 2.
A network without MPLS must rely on routers to pass frames from a source to a
destination in a hop-by-hop basis. Usually, routers look at a frame’s Layer 3 header and
determine its next hop address. However, this tends to reduce throughput in a network
because of the intensive CPU requirements to process each frame. As previously stated,
routers themselves have little if no dealing with Layer 2, and because of this, there is a lot
of pressure on the router to send packets as fast as they can out on the network.
However, since there are such high traffic demands, this is becoming more and more
difficult for a router alone to do. Because of this pressure, new traffic solutions needed to
be developed, and MPLS as well as others such as Tag Switching, were created in hopes
of reliving the pressure. Tag Switching itself is a predecessor to MPLS, but is considered
by our textbook to be superceded by MPLS in the near future. MPLS is designed to
change how routers send packets. Instead of sending packets hop-to-hop, MPLS uses
devices to set a clear-cut path in the network that the packets travel based upon QoS and
bandwidth requirements. Basically, MPLS takes into account Layer 2 attributes as well
as Layer 3 attributes.
It is important to understand the operation of MPLS. However, in order to
understand it, one must know certain terminology and devices. The label is a header,
created by an edge label switch router and used by label switch routers to forward
packets. The Label Switch Router (LSR) is basically a router designed for MPLS that
forwards entities based on the label values. The Label Forwarding Information Base
(LFIB) is basically a routing table for the LSR. It says where and how to forward
particular frames with certain label values. The edge Label Switch Router (edge LSR) is
a device that adds labels on packets when they are sent and removes labels when they are
received. A Label Switched Path (LSP) is the path defined between two LSRs for packet
travel. It is necessary to understand all of these components in order to understand the
operation of MPLS. If one is not familiar with the terms, none of the operation will make
sense.
In MPLS operation, a client PC sends a packet. This packet goes to the edge LSR
where a label is added to the packet. Depending upon what service is being used (ATM,
Frame Relay, Ethernet), the label is put in a different part of the packet. The edge LSR
then sends the packet to the LSR where it reads the label and negotiates a LSP with the
destination LSR based on the label, bandwidth requirement, and QoS requirement. Once
this has been reached, the packet is sent out on the next LSR until it reaches the
destination LSR. Once it makes it there, the edge LSR strips the packet of its label and
the packet is delivered. Because the LSRs simply had to look at the LFIB and forward
the packet rather than going through all of the operations a normal router would have to
between each stop, the packet traveled significantly quicker. Although this may seem
simple, it is a bit more complex than this. <<<Figure>>>
MPLS relies on two principal components. One of those components is
forwarding. The other is control. The forwarding component relates to exactly how the
packets are forwarded. The control component creates label bindings and then distributes
the label-binding information.
The forwarding technique used by MPLS is based on the notion of label
swapping. When a packet with a label in it is acknowledged by the LSR, the switch uses
the label as an index in its LFIB. Each entry in the LFIB consists of at least an incoming
label and one or more subentries such as an incoming interface, an outgoing label, an
outgoing interface, and/or outgoing link-level information. If the switch finds an entry
that has the same incoming label to that of the label carried in the packet, then, for each
part of the entry, the switch replaces the label in the packet with the outgoing label from
the LFIB table, replaces the link-level information in the packet with the outgoing link-
level information from the LFIB table, and forwards the packet over the outgoing
interface.
A packet in MPLS is forwarded according to its Forwarding Equivalence Class.
(FEC) A FEC is a group of packets that are treated the same way by a router. Several
things can define a packet’s FEC such as destination IP address,
source IP address, TCP/UDP port, class of service (CoS) or type of service (ToS),
application used, or any combination of each. FEC helps provide “flexibility, scalability,
and traffic engineering” (MPLS) for the process of forwarding packets. Basically, FEC
helps simplify and organize the forwarding process in MPLS so it can forward quickly
and more efficiently than its competitors/predecessors.
Because of this method, one can make several assessments of MPLS. First, the
forwarding process is based on the exact-match algorithm using a fixed-length as well as
fairly short label as an index. This creates a “simplified forwarding procedure, relative to
longest-match forwarding traditionally used at the network layer.” (MPLS) This helps
enables higher packets per second. The forwarding procedure is simple enough to allow a
pretty much straightforward hardware implementation as opposed to a complex system of
organization that is hard to understand and slower to route.
Another assessment made of MPLS made is “the forwarding decision is
independent of the label's forwarding granularity.” (MPLS) What this means is that
forwarding decisions does not rely on router functions to forward the packets but rather
it’s own independent function. If one needs to update a router or add more functions to
it, the forwarding process is not disturbed by it. This also lessens the complexity of
forwarding and helps Network Administrators manage their equipment. This also allows
Networks to run whatever type of technology they want since the forwarding is
independent of it.
An important idea to note when discussing the forwarding process is Label
Encapsulation. Because MPLS can support a variety of technologies such as Frame
Relay, ATM, or Ethernet, the Label Encapsulation is different for each.
For Layer 2 technologies, MPLS has a “shim header” which is located between
the Layer 2 and network layer headers. The shim header consists of 4 bytes. (Which is
32 bits) The first 20 bits is for the label itself. The next 3 bits is for “Experimental Use.”
The next bit is called the “Bottom of Stack” which is set to 1 if it is the last packet to be
sent. The final 8 bits is used for the “Time To Live” which is important in IP, PPP, and
Ethernet but not present in ATM. However, this field overall is needed because MPLS
may not necessarily run on a MPLS network. It can also run on a non-MPLS network.
The other principal component of MPLS is control. The control component refers
to the idea of binding between a label and network layer routes. Basically, labels can be
bound to routes, and this can be done several ways. One way is a label can be bound to a
specific route, which is similar to the legacy routing. Another way is a label could be
bound to a group of routes. Yet another way is a label could be bound to an individual
application flow, such as VoIP. Finally, It could also be bound to a multicast tree. It is
the control component that creates label bindings and then distributes the label binding
information to the LSRs. It does so using the Label Distribution Protocol (LDP).
With destination-based routing, a router makes a forwarding decision based on
two criteria. The first is the Layer 3 destination address carried in a packet. The other is
information stored in the forwarding information base (FIB) maintained by the router. A
router constructs its FIB by “using the information that the router receives from other
routing protocols, such as OSPF and BGP.” (MPLS) The FIB basically uses other
protocols to make its own table. In order to support destination-based routing with
MPLS, an LSR contribute to routing protocols and constructs its LFIB by using the
information that it takes from these protocols. It is this action that makes it comparable to
a router. However, an LSR has to deliver and use allocated labels for LSR peers to
forward the frame in the correct fashion. In order to do this, LSRs distribute labels using
the LDP.
A label binding links a destination subnet to a locally significant label. Whenever an
LSR discovers a neighboring LSR, the two establish a TCP connection to transfer their
label bindings. LDP then exchanges “subnet/label bindings” (MPLS) using one of two
methods. One of those methods is downstream-unsolicited distribution. The other is
downstream-on-demand distribution. In order for anything to work, both LSRs must
agree as to which method they will use.
Downstream-unsolicited distribution scatters labels if a downstream LSR has to establish
a new binding with its neighboring upstream LSR. The LSR then announces to the
upstream router a binding so it can reach this network.
The other method, downstream-on-demand distribution, a downstream LSR sends “a
binding upstream only if the upstream LSR requests it. If it does not, then there is no
binding sent.” (MPLS) For each different route in its route table, the LSR identifies the
next hop for that route. It then issues “a request using LDP to the next hop for a label
binding for that particular route.” (MPLS) When the next hop receives that request, it first
assigns a label, then creates an entry in its LFIB with the incoming label set to the
allocated label, and finally returns the binding between the incoming label and the route
to the LSR that sent the first request. Once the LSR receives the binding information, the
LSR creates “an entry in its LFIB and sets the outgoing label in the entry to the value it
got from the next hop.” (MPLS) What this all basically means is that when a label is
received by the LSR, the LDP gives the packet a label that is only locally significant
because after it makes it next hop, the label loses meaning and is changed.
One important fact, brought up in class in the lecture for MPLS is the fact that many
carriers use a ATM backbone because it was thought to be the final solution in WAN
technologies 15 years ago. These days, this is not the case, but the infrastructure still
exists, and many companies feel it is too expensive to completely replace it. MPLS is a
good alternative to upgrade service without a complete infrastructure overhaul.
However, there are certain things are unique for ATM in MPLS.
In order for MPLS technologies to be applied to ATM switches, the control component
from MPLS must be implemented. The label information from MPLS needed for tag
switching can be inserted into the ATM VCI field. If two levels of labeling are needed,
then “the ATM VPI field could also be used even though the size of the VPI field will
limit the size of networks in which this would be useful.” (MPLS) For the most part, this
is not necessary. Usually, the VCI field is more than enough for most applications. One
advantage of applying MPLS on an ATM switch is that it simplifies the incorporation of
ATM switches and routers. An ATM switch capable of MPLS appears to the router as an
adjacent router. Doing this adds a scalable alternative to the original overlay model and
would remove the necessity for ATM addressing, routing, and signaling schemes that
complex the ATM process. Another important point is that because “destination-based
forwarding is topology-driven rather than traffic-driven, application of this approach to
ATM switches does not involve high call-setup rates, nor does it depend on the longevity
of flows.” (MPLS) This means that the destination-based forwarding not only simplifies
the process but also does not make it totally dependent on the flows.
There are two other important topics in MPLS. One of them is Traffic
Engineering. The other is Quality of Service.
“Traffic engineering allows a network
administrator to make the path deterministic and bypass the normal routed hop-by-hop
paths.” (MPLS) An administrator may need to explicitly define the path between stations
to make sure that they have efficient QoS or to reduce traffic loading across certain hops
in the network. In MPLS, the network administrator “can reduce congestion by forcing a
frame to take a path around the overloaded segments in the network.” (MPLS) Basically,
traffic engineering allows a network administrator to define exactly how a packet should
travel rather than leaving it up to the router to decide. Many people compare traffic
engineering to source routing because in source routing, an explicit path is defined for
the frame to travel. However, MPLS traffic engineering is different because the hop-byhop definition is not carried with every frame like source routing. Instead, the hops are
configured in the LSRs ahead of time along with the appropriate label values to save time
and speed.
The other important MPLS capability is quality of service (QoS) support. The
QoS capability has several mechanisms, but the classification of incoming packets into
different classes and classification based on network characteristics are the most
important two. A label that corresponds to the ensuing class is applied to the packet. The
labeled packets are handled by LSRs in their path without needing to be reclassified.
Then, MPLS enables simple logic to find the state that identifies how the packet should
be scheduled. However, the exact use of MPLS for QoS purposes depends a great deal
on how QoS is deployed. MPLS can support many different QoS protocols, such as
IntServ, DiffServ, and RSVP that were talked about in ATM.
MPLS has many distinct advantages that make it a smart upgrade for any
network. It improves forwarding speed, reduces burdens on routers, allows fexiblity and
scaliablity, provides traffic engineering and QoS, and best of all, does not require a huge
network overhaul. MPLS is an emerging technology that is becoming a billion dollar
business. MPLS is the future of the networking world.
Works Consulted
http://www.webopedia.com/TERM/M/MPLS.html
http://www.iec.org/online/tutorials/mpls/
http://www.networkworld.com/topics/mpls.html
http://www.cisco.com/en/US/products/ps6557/products_ios_technology_home.html
http://en.wikipedia.org/wiki/MPLS
http://searchnetworking.techtarget.com/infoCenter/definition/0,295854,sid7_gci214350_i
id2651,0.html
“MPLS”, Internetworking Technology Handbook, Cisco Systems,
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/
Download