Multi Protocol Label Switching
Multi Protocol Label Switching
telecommunications networks which directs and carries data from one network node to the
next. MPLS makes it easy to create "virtual links" between distant nodes. It can encapsulate
packets of various network protocols.
MPLS operates at an OSI Model layer that is generally considered to lie between traditional
definitions of Layer 2 (Data Link Layer) and Layer 3 (Network Layer), and thus is often
referred to as a "Layer 2.5" protocol. It was designed to provide a unified data-carrying
service for both circuit-based clients and packet-switching clients which provide a datagram
service model. It can be used to carry many different kinds of traffic, including IP packets, as
well as native ATM, SONET, and Ethernet frames.
A number of different technologies were previously deployed with essentially identical goals,
such as frame relay and ATM. MPLS technologies have evolved with the strengths and
weaknesses of ATM in mind. Many network engineers agree that ATM should be replaced
with a protocol that requires less overhead, while providing connection-oriented services for
variable-length frames. MPLS is currently replacing some of these technologies in the
marketplace. It is highly possible that MPLS will completely replace these technologies in the
future, thus aligning these technologies with current and future technology needs.[1]
At the same time, MPLS attempts to preserve the traffic engineering and out-of-band control
that made frame relay and ATM attractive for deploying large-scale networks.
While the traffic management benefits of migrating to MPLS are quite valuable (better
reliability, increased performance), there is a significant loss of visibility and access into the
MPLS cloud for IT departments.[2]
MPLS Layer
Contents
[hide]
1 History
2 How MPLS works
3 Installing and removing MPLS paths
4 MPLS and IP
o 4.1 MPLS local protection (Fast Reroute)
5 MPLS and Multicast
6 Comparison of MPLS versus Frame Relay
7 Comparison of MPLS versus ATM
8 MPLS deployment
9 Competitors to MPLS
10 Access to MPLS networks
11 See also
12 References
13 Books
14 External links
[edit] History
MPLS was originally proposed by a group of engineers from Ipsilon Networks, but their "IP
Switching" technology, which was defined only to work over ATM, did not achieve market
dominance. Cisco Systems, Inc., introduced a related proposal, not restricted to ATM
transmission, called "Tag Switching".[3] It was a Cisco proprietary proposal, and was renamed
"Label Switching". It was handed over to the IETF for open standardization. The IETF work
involved proposals from other vendors, and development of a consensus protocol that
combined features from several vendors' work.
One original motivation was to allow the creation of simple high-speed switches, since for a
significant length of time it was impossible to forward IP packets entirely in hardware.
However, advances in VLSI have made such devices possible. Therefore the advantages of
MPLS primarily revolve around the ability to support multiple service models and perform
traffic management. MPLS also offers a robust recovery framework[4] that goes beyond the
simple protection rings of synchronous optical networking (SONET/SDH).
These MPLS-labeled packets are switched after a label lookup/switch instead of a lookup into
the IP table. As mentioned above, when MPLS was conceived, label lookup and label
switching were faster than a routing table or RIB (Routing Information Base) lookup because
they could take place directly within the switched fabric and not the CPU.
The entry and exit points of an MPLS network are called label edge routers (LER), which,
respectively, push an MPLS label onto an incoming packet and pop it off the outgoing
packet. Routers that perform routing based only on the label are called label switch routers
(LSR). In some applications, the packet presented to the LER already may have a label, so
that the new LER pushes a second label onto the packet. For more information see
penultimate hop popping.
Labels are distributed between LERs and LSRs using the “Label Distribution Protocol”
(LDP).[5] Label Switch Routers in an MPLS network regularly exchange label and
reachability information with each other using standardized procedures in order to build a
complete picture of the network they can then use to forward packets. Label Switch Paths
(LSPs) are established by the network operator for a variety of purposes, such as to create
network-based IP virtual private networks or to route traffic along specified paths through the
network. In many respects, LSPs are not different from PVCs in ATM or Frame Relay
networks, except that they are not dependent on a particular Layer 2 technology.
In the specific context of an MPLS-based virtual private network (VPN), LSRs that function
as ingress and/or egress routers to the VPN are often called PE (Provider Edge) routers.
Devices that function only as transit routers are similarly called P (Provider) routers. See
RFC 2547.[6] The job of a P router is significantly easier than that of a PE router, so they can
be less complex and may be more dependable because of this.
When an unlabeled packet enters the ingress router and needs to be passed on to an MPLS
tunnel, the router first determines the forwarding equivalence class (FEC) the packet should
be in, and then inserts one or more labels in the packet's newly-created MPLS header. The
packet is then passed on to the next hop router for this tunnel.
When a labeled packet is received by an MPLS router, the topmost label is examined. Based
on the contents of the label a swap, push (impose) or pop (dispose) operation can be
performed on the packet's label stack. Routers can have prebuilt lookup tables that tell them
which kind of operation to do based on the topmost label of the incoming packet so they can
process the packet very quickly.
In a swap operation the label is swapped with a new label, and the packet is forwarded along
the path associated with the new label.
In a push operation a new label is pushed on top of the existing label, effectively
"encapsulating" the packet in another layer of MPLS. This allows hierarchical routing of
MPLS packets. Notably, this is used by MPLS VPNs.
In a pop operation the label is removed from the packet, which may reveal an inner label
below. This process is called "decapsulation". If the popped label was the last on the label
stack, the packet "leaves" the MPLS tunnel. This is usually done by the egress router, but see
Penultimate Hop Popping (PHP) below.
During these operations, the contents of the packet below the MPLS Label stack are not
examined. Indeed transit routers typically need only to examine the topmost label on the
stack. The forwarding of the packet is done based on the contents of the labels, which allows
"protocol-independent packet forwarding" that does not need to look at a protocol-dependent
routing table and avoids the expensive IP longest prefix match at each hop.
At the egress router, when the last label has been popped, only the payload remains. This can
be an IP packet, or any of a number of other kinds of payload packet. The egress router must
therefore have routing information for the packet's payload, since it must forward it without
the help of label lookup tables. An MPLS transit router has no such requirement.
In some special cases, the last label can also be popped off at the penultimate hop (the hop
before the egress router). This is called Penultimate Hop Popping (PHP). This may be
interesting in cases where the egress router has lots of packets leaving MPLS tunnels, and
thus spends inordinate amounts of CPU time on this. By using PHP, transit routers connected
directly to this egress router effectively offload it, by popping the last label themselves.
MPLS can make use of existing ATM network infrastructure, as its labeled flows can be
mapped to ATM virtual circuit identifiers, and vice versa.
An MPLS header does not identify the type of data carried inside the MPLS path. If one
wants to carry two different types of traffic between the same two routers, with different
treatment by the core routers for each type, one has to establish a separate MPLS path for
each type of traffic.
In a pure IP network, the shortest path to a destination is chosen even when it becomes more
congested. Meanwhile, in an IP network with MPLS Traffic Engineering CSPF routing,
constraints such as the RSVP bandwidth of the traversed links can also be considered, such
that the shortest path with available bandwidth will be chosen. MPLS Traffic Engineering
relies upon the use of TE extensions to OSPF or IS-IS and RSVP. Besides the constraint of
RSVP bandwidth, users can also define their own constraints by specifying link attributes and
special requirements for tunnels to route (or not to route) over links with certain attributes.[12]
In the event of a network element failure when recovery mechanisms are employed at the IP
layer, restoration may take several seconds which is unacceptable for real-time applications
such as VoIP.[13][14][15] In contrast, MPLS local protection meets the requirements of real-time
applications with recovery times comparable to those of SONET rings of less than 50 ms.[13]
[15][16]
Telcos often sell frame relay to businesses looking for a cheaper alternative to dedicated
lines; its use in different geographic areas depended greatly on governmental and
telecommunication companies' policies.
AT&T is currently (as of June 2007) the largest frame relay service provider in the United
States, with local networks in 22 states, plus national and international networks. This
number is expected to change between 2007 and 2009 when most of these frame relay
contracts expire. Many customers are likely to migrate from frame relay to MPLS over IP or
Ethernet within the next two years, which in many cases will reduce costs and improve
manageability and performance of their wide area networks.[18]
[edit] Comparison of MPLS versus ATM
While the underlying protocols and technologies are different, both MPLS and ATM provide
a connection-oriented service for transporting data across computer networks. In both
technologies, connections are signaled between endpoints, connection state is maintained at
each node in the path, and encapsulation techniques are used to carry data across the
connection. Excluding differences in the signaling protocols (RSVP/LDP for MPLS and
PNNI:Private Network-to-Network Interface for ATM) there still remain significant
differences in the behavior of the technologies.
The most significant difference is in the transport and encapsulation methods. MPLS is able
to work with variable length packets while ATM transports fixed-length (53 byte) cells.
Packets must be segmented, transported and re-assembled over an ATM network using an
adaptation layer, which adds significant complexity and overhead to the data stream. MPLS,
on the other hand, simply adds a label to the head of each packet and transmits it on the
network.
Differences exist, as well, in the nature of the connections. An MPLS connection (LSP) is
unidirectional—allowing data to flow in only one direction between two endpoints.
Establishing two-way communications between endpoints requires a pair of LSPs to be
established. Because 2 LSPs are required for connectivity, data flowing in the forward
direction may use a different path from data flowing in the reverse direction. ATM point-to-
point connections (virtual circuits), on the other hand, are bidirectional, allowing data to flow
in both directions over the same path (only SVC ATM connections are bidirectional; PVC
ATM connections are unidirectional).
Both ATM and MPLS support tunneling of connections inside connections. MPLS uses label
stacking to accomplish this while ATM uses virtual paths. MPLS can stack multiple labels to
form tunnels within tunnels. The ATM virtual path indicator (VPI) and virtual circuit
indicator (VCI) are both carried together in the cell header, limiting ATM to a single level of
tunnelling.
The biggest single advantage that MPLS has over ATM is that it was designed from the start
to be complementary to IP. Modern routers are able to support both MPLS and IP natively
across a common interface allowing network operators great flexibility in network design and
operation. ATM's incompatibilities with IP require complex adaptation, making it
comparatively less suitable for today's predominantly IP networks.
In practice, MPLS is mainly used to forward IP datagrams and Ethernet traffic. Major
applications of MPLS are telecommunications traffic engineering and MPLS VPN.
[edit] Competitors to MPLS
MPLS can exist in both IPv4 environment (IPv4 routing protocols) and IPv6 environment
(IPv6 routing protocols). The major goal of MPLS development - the increase of routing
speed - is no longer relevant because of the usage of ASIC, TCAM and CAM-based
switching. Therefore the major usage of MPLS is to implement limited traffic engineering
and Layer 3/Layer 2 “service provider type” VPNs over existing IPv4 networks. The main
competitors to MPLS are Provider Backbone Bridges (PBB), and MPLS-TP that also provide
services such as service provider Layer 2 and Layer 3 VPNs. L2TPv3 has been suggested as a
competitor, but has not reached any wider success.
IEEE 1355 is a completely unrelated technology that does something similar in hardware.
IPv6 references: Grossetete, Patrick, IPv6 over MPLS, Cisco Systems 2001; Juniper
Networks IPv6 and Infranets White Paper; Juniper Networks DoD's Research and
Engineering Community White Paper.