Multiprotocol Label Switching

warmersafternoonNetworking and Communications

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


Multiprotocol Label Switching


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

or T3

based backbones, was

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

and the Level

network layer
in hardware had to be

Traditional Routing and Packet Switching (cont.)

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

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
such as delay, jitter, and traffic
, which can further diminish network


Multiprotocol label switching

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

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

Better IP over ATM Integration

Free Core

The peer
peer model for MPLS VPN

Optimal Traffic Flow

Traffic Engineering

MPLS and Its Components

MPLS is an Internet Engineering Task Force

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
switching technologies

interfaces to existing routing protocols such as resource
reservation protocol
and open shortest path first

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

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
bottom label
. In between, you can have any number of

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

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)


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

The forward equivalence class
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

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

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

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

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

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

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

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

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

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

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

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
Multiple label pools are defined for
interfaces, and the labels provided on those
interfaces are allocated from the separate pools
label values provided on different interfaces could be
the same

Label Spaces (cont.)

Interface Label Space

Platform Label Space

Different MPLS Modes

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

Label distribution mode

Label retention mode

LSP control mode

Label Distribution Modes

The MPLS architecture has two modes to distribute label

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

switched path creation

label insertion
table lookup

packet forwarding

Label Creation and Label

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

Table Creation

On receipt of label bindings each LSR
creates entries in the label information

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

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

Label Switched Path Creation

As shown by the dashed blue lines

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

Label Insertion

The first router
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
, 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

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)

Packets must be segmented, transported and re
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

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

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 (cont.)