Multiprotocol Label Switching

warmersafternoonNetworking and Communications

Oct 23, 2013 (3 years and 9 months ago)

79 views

Multiprotocol Label Switching
(MPLS)

NETE0514

Presented by

Dr.Apichan Kanjanavapastit

Traditional Routing and Packet Switching


The initial deployment of the Internet addressed the
requirements of data transfer over the network. This
network catered to simple applications such as file
transfer and remote login


To carry out these requirements, a simple software
-
based router platform, with network interfaces to support
the existing T1
/
E1


or T3
/
E3

based backbones, was
sufficient


As the demand for higher speed and the ability to
support higher
-
bandwidth transmission rates emerged,
devices with capabilities to switch at the Level
-
2

(
data
link
)
and the Level
-
3

(
network layer
)
in hardware had to be
deployed

Traditional Routing and Packet Switching (cont.)


These early solutions addressed the need for
wire
-
speed transfer of packets as they traversed
the network, but they did not address the service
requirements of the information contained in the
packets


Also, most of the routing protocols deployed
today are based on algorithms designed to
obtain the shortest path in the network for packet
traversal and do not take into account additional
metrics
(
such as delay, jitter, and traffic
congestion
)
, which can further diminish network
performance

Definition


Multiprotocol label switching

(MPLS) is a
technology for packet forwarding and switching
in network routers by using connection
-
oriented
concept


Multiprotocol means this technology can
transport various protocols such as IPv4 and
IPv6 and protocols in Layer 2 such as Ethernet,
Frame Relay, and ATM


Label switching means the packets are switched
based on an identifier (a label)

Advantages of MPLS


The Use of One Unified Network
Infrastructure


Better IP over ATM Integration


BGP
-
Free Core


The peer
-
to
-
peer model for MPLS VPN


Optimal Traffic Flow


Traffic Engineering

MPLS and Its Components


MPLS is an Internet Engineering Task Force
(
IETF
)

specified
framework that provides for the efficient designation, routing,
forwarding, and switching of traffic flows through the network
.


MPLS performs the following functions
:


specifies mechanisms to manage traffic flows between
different hardware, machines, or different applications



remains independent of the Layer
-
2 and Layer
-
3 protocols



provides a means to map IP addresses to simple, fixed
-
length labels used by different packet
-
forwarding and
packet
-
switching technologies



interfaces to existing routing protocols such as resource
reservation protocol
(
RSVP
)
and open shortest path first
(
OSPF
)


supports the IP, ATM, and frame
-
relay Layer
-
2 protocols

Where does MPLS fits in the OSI
Reference Model?


MPLS is not a Layer 2 protocol because the
Layer 2 encapsulation is still present with
labeled packets


MPLS also is not really a Layer 3 protocol
because the Layer 3 protocol is also still present


Therefore, MPLS does not fit in the OSI layering
too well. Perhaps the easiest thing to do is to
view MPLS as the 2.5 layer and be one with it

MPLS Labels


A label, in its simplest form, identifies the path a packet
should traverse. A label is carried or encapsulated in a
Layer
-
2 header along with the packet


The first 20 bits are the label value. However, the first 16
values are exempted from normal use. The bit 20
-
22 are
3 experimental bits. These bits are used solely for QoS.
Bit 23 is the Bottom of Stack (BoS) bit. It is 0, unless this
is the bottom label in the stack. Bit 24
-
31 are the eight
bits used for Time To Live (TTL).

Label Stacking


MPLS
-
capable routers might need more than one label on top
of the packet to route that packet through the MPLS network


This is done by packing the labels into a stack. The first label
in the stack is called the
top label
, and the last label is called
the
bottom label
. In between, you can have any number of
labels.


Some MPLS applications actually need more than one label in
the label stack to forward the label packets. Such applications
are MPLS VPN and AToM (Any Transport over MPLS).

Encoding of MPLS Labels


The label stack sits in front of the Layer 3 packet

that
is, before the header of the transported protocol, but
after the Layer 2 header. Often, the MPLS label stack is
called the
shim header

because of its placement.

MPLS Label Encoding in ATM Cell

Label Switch Router (LSR)


Three kinds of LSRs exist in an MPLS network:
ingress LSRs, egress LSRs, and intermediate LSRs


Ingress LSRs

receive a packet that is not labeled
yet, insert a label (stack), and send it on a data link


Egress LSRs

receive labeled packets, remove the
label(s), and send them on a data link. Ingress and
egress LSRs are edge LSRs


Intermediate LSRs

receive an incoming labeled
packet, perform an operation on it, switch the
packet, and send the packet on the correct data link


An LSR can do 3 operations: pop, push, or swap

Label Switch Router (LSR) (cont.)


It must be able to pop labels (remove) before
switching the packet out


An LSR must also be able to push (insert) labels
onto the received packet


An LSR must also be able to swap a label


An LSR that pushes labels onto a packet that
was not labeled yet is called an
imposing LSR

which normally is an ingress LSR


An LSR that removes all labels from the labeled
packet before switching out the packet is a
disposing LSR

which normally is an egress LSR

Label Switch Router (LSR)

(cont.)

Label Switched Path (LSP)


A LSP is a sequence of LSRs that switch a labeled packet through
an MPLS network or part of an MPLS network


The first LSR of an LSP is the ingress LSR for that LSP, whereas
the last LSR of the LSP is the egress


All the LSRs in between the ingress and egress LSRs are the
intermediate LSRs

Label Switched Path (LSP) (cont.)


The ingress LSR of an LSP is not necessarily the first
router to label the packet if the packet might have been
labeled by a preceding LSR


Such a case would be a nested LSP

that is an LSP
inside another LSP

Forward Equivalence Class
(
FEC
)


The forward equivalence class
(
FEC
)
is a
group of packets that are forwarded along
the same path and are treated the same
with regard to the forwarding treatment


The router that decides which packets
belong to which FEC is the ingress LSR
because the ingress LSR classifies and
labels the packets


Some Examples of FECs


Packets with Layer 3 destination IP addresses matching a certain
prefix


Multicast packets belonging to a certain group


Packets with the same forwarding treatment, based on the
precedence or IP DiffServ Code Point (DSCP) field


Packet with Layer 3 destination IP addresses that belong to a set of
Border Gateway Protocol (BGP) prefixes, all with the same BGP
next hop

Label Distribution


The first label is imposed on the ingress LSR and the
label belongs to one LSP. The path of the packet
through the MPLS network is bound to that one LSP


All that changes is that the top label in the label stack is
swapped at each hop


The ingress LSR imposes one or more labels on the
packet. The intermediate LSRs swap the top label (the
incoming label) of the received labeled packet with
another label (the outgoing label) and transmit the
packet on the outgoing link


The egress LSR of the LSP strips off the labels of this
LSP and forwards the packet

Label Distribution (cont.)


Labels are local to each pair of adjacent
routers. They have no global meaning
across the network


For adjacent routers to agree which label
to use for which prefix, they need some
form of communication mechanism: a
label distribution protocol

Ways of Labels Distribution


There are two ways of labels distribution


Piggyback the labels on an existing IP routing
protocol


Have a separate protocol distribute labels

Piggyback the Labels on an
Existing IP Routing Protocol


In this way, every existing IP routing protocol
needs to be extended to carry the labels


The advantage of having the routing protocol
carry the labels is that the routing and label
distribution are always in sync, which means that
you cannot have a label if the prefix is missing or
vice versa


The implementation for distance vector routing
protocol is straightforward, since each router
originates a prefix from its routing table. The
router then just binds a label to that prefix

Piggyback the Labels on an
Existing IP Routing Protocol (cont.)


Link state routing protocol do not function in this way
since each router originates link state updates that are
then forwarded unchanged by all routers inside one
area


The problem is that for MPLS to work, each router
needs to distribute a label for each prefix even the
routers that are not originators of that prefix


For link state routing protocols, a separate protocol is
preferred to distribute the labels


None of the IGPs has been changed to deploy the first
method. However, BGP is a routing protocol that can
carry prefixes and distribute labels at the same time.
However, BGP is not an IGP. BGP is used primarily
for label distribution in MPLS VPN networks.

Running a Separate Protocol for
Label Distribution


The second method has the advantage of
being routing protocol independent


Several varieties of protocols distribute
labels:


Tag Distribution Protocol (TDP)


Label Distribution Protocol (LDP)


Resource Reservation Protocol (RSVP)

Running a Separate Protocol for
Label Distribution (cont.)


TDP was the first protocol for label
distribution developed and implemented
by Cisco. TDP is proprietary to Cisco


IETE later formalized LDP. LDP and TDP
are similar in the way they operate, but
LDP has more functionality


RSVP is used for MPLS TE (traffic
engineering) only

Label Distribution with LDP


For every IGP IP prefix in its IP routing table, each LSR
creates a local binding

that is it binds a label to the IPv4
prefix


The LSR then distributes this binding to all its LDP
neighbors. Those received bindings become remote
bindings


The neighbors then store these remote and local bindings
in a special table, the
label information base (LIB)


Each LSR has only one local binding per prefix, at least
when the label space is per platform. If the label space is
per interface, one local binding can exist per prefix per
interface


The LSR can get more than one remote binding per prefix
because it usually has more than one adjacent LSR

Label Distribution with LDP (cont.)


LSR then needs to pick only one and use that
one to determine the outgoing label for that IP
prefix


The LSR choose the remote binding received
from the downstream LSR, which is the next hop
in the IP routing table for that prefix


It uses this information to set up its
label
forwarding information base (LFIB)
where the
label from the local binding serves the incoming
label and the label from the one remote binding
serves as the outgoing label

Label Distribution with LDP (cont.)

Label Distribution with LDP (cont.)


When an LSR receives a labeled packet, it is
now capable of swapping the incoming label it
assigned, with the outgoing label assigned by
the adjacent next
-
hop LSR

Label Distribution with LDP (cont.)

Label Forwarding Instance Base (LFIB)


The LFIB is the table used to forward labeled
packets


In the example of IPv4
-
over
-
MPLS, the label is
bound on an IPv4 prefix. However, the LFIB can
be populated with labels that LDP does not
assign


In the case of MPLS TE, the labels are
distributed by RSVP


In the case of MPLS VPN, the VPN label is
distributed by BGP

MPLS Payload


The MPLS label has no Network Level Protocol
identifier field


This field is present in all Layer 2 frames to
indicate what the Layer 3 protocol is


How does the LSR know what the MPLS
payload is?


Most LSRs especially for
intermediate LSRs don’t need to know, because
they will receive a labeled packet, swap the top
label, and send the packet on the outgoing link

MPLS Payload (cont.)


However, an egress LSR that is removing all
labels must know what the MPLS payload is,
because it must forward the MPLS payload
further on


That egress LSR is the one that made the local
binding, which means that that LSR assigned a
local binding to that FEC, and it is that label that
is used as an incoming label on the packet


Thus, the egress LSR knows what the MPLS
payload is by looking at the incoming label of
which the egress LRS has created local binding
for that FEC

Label Spaces


The labels used by an LSR for FEC

label
bindings are categorized as follows
:


per platform

The label values are unique across
the whole LSR. The labels are allocated from a
common pool. No two labels distributed on different
interfaces have the same value.


per interface

The label ranges are associated with
interfaces
.
Multiple label pools are defined for
interfaces, and the labels provided on those
interfaces are allocated from the separate pools
.
The
label values provided on different interfaces could be
the same


Label Spaces (cont.)

Per
-
Interface Label Space

Per
-
Platform Label Space

Different MPLS Modes


An LSR can use different modes which
have their own characteristics when
distributing labels to other LSRs which
include:


Label distribution mode


Label retention mode


LSP control mode

Label Distribution Modes


The MPLS architecture has two modes to distribute label
bindings:


Downstream
-
on
-
Demand (DoD) label distribution mode


Unsolicited Downstream (UD) label distribution mode


In the DoD mode, each LSR requests its next
-
hop LSR
on an LSP, a label binding for that FEC. Each LSR
receives one binding per FEC only from its downsteam


In the UD mode, each LSR distributes a binding to its
adjacent LSRs, without those LSRs requesting a label


In the case of DoD, the LIB shows only one remote
binding, whereas in the case of UD, you are likely to see
more than one

Label Retention Modes


Two label retention modes are possible:


Liberal Label Retention (LLR) mode


Conservative Label Retention (CLR) mode


In LLR mode, an LSR keeps all received remote
bindings in the LIB. However, the label from the
remote binding which received from the downstream
for that FEC is only used in the LFIB


Why keep the labels around that are not used?


anytime the routing topology changes due to a link
going down or a router being removed, the LFIB can
be quickly updated with the new outgoing label

Label Retention Modes (cont.)


The second label retention mode is CLR
mode. An LSR that is running this mode
does not store all remote bindings in the
LIB, but it stores only the remote binding
that is associated with the next
-
hop LSR
for a particular FEC

LSP Control Modes


LSRs can create a local binding for a FEC in 2 ways:


Independent LSP Control mode


Ordered LSP Control mode


In Independent LSP Control mode, each LSR creates
a local binding for a particular FEC which is in its
routing table


In Ordered LSP Control mode, an LSR only crates a
local binding for a FEC if it recognizes that it is the
egress LSR for the FEC or if the LSR has received a
label binding from the next hop for this FEC


The disadvantage of Independent LSP Control is that
some LSRs begin to label switch packets before the
complete LSP is set up end to end


Summary of MPLS Operation


The following steps must be taken for a data packet to
travel through an MPLS domain
.


label creation and distribution



table creation at each router



label
-
switched path creation



label insertion
/
table lookup



packet forwarding

Label Creation and Label
Distribution


Before any traffic begins the routers make the
decision to bind a label to a specific FEC and
build their tables
.


In LDP, downstream routers initiate the
distribution of labels and the label
/
FEC binding
.


In addition, traffic
-
related characteristics and
MPLS capabilities are negotiated using LDP
.


A reliable and ordered transport protocol should
be used for the signaling protocol
.
LDP uses
TCP
.

Table Creation


On receipt of label bindings each LSR
creates entries in the label information
base
(
LIB
).


The contents of the table will specify the
mapping between a label and an FEC
.


mapping between the input port and input
label table to the output port and output label
table.


The entries are updated whenever
renegotiation of the label bindings occurs.

Label Switched Path Creation


As shown by the dashed blue lines
,

the
LSPs are created in the reverse direction
to the creation of entries in the LIBs
.

Label Insertion
/
Table
-
Lookup


The first router
(
LER1
)
uses the LIB table
to find the next hop and request a label for
the specific FEC



Subsequent routers just use the label to
find the next hop



Once the packet reaches the egress LSR
(
LER4
)
, the label is removed and the
packet is supplied to the destination

Packet Forwarding


Packet forwarding then occur after the
previous operations have completed


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.


Excluding differences in the signaling protocols 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.

Comparison of MPLS versus ATM (cont.)


Differences exist, as well, in the nature of the
connections. An MPLS connection (LSP) is uni
-
directional
-

allowing data to flow in only one direction


Establishing two
-
way communications between
endpoints requires a pair of LSPs to be established.
Thus data flowing in the forward direction may use a
different path from data flowing in the reverse direction


ATM Virtual Circuits, on the other hand, are bi
-
directional, allowing data to flow in both directions over
the same path (only SVC ATM connections are bi
-
directional; PVC ATM connections are uni
-
directional)

Comparison of MPLS versus ATM (cont.)


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 tunneling

Comparison of MPLS versus ATM (cont.)


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

MPLS and ATM

MPLS and ATM (cont.)