You are on page 1of 56

MPLS Architecture

Gautham Pamu CS590F - Design of MultiService Networks

Goals of MPLS

Scalability of network layer routing. Using labels as a means to aggregate forwarding information,while working in the presence of routing hierarchies. Greater flexibility in delivering routing services. Using labels to identify particular traffic which are to receive special services, e.G. QoS. Increased performance. Using the label-swapping paradigm to optimize network performance.

Goals of MPLS

Simplify integration of routers with cell switching based technologies. Making cell switches behave as routers. By making information about physical topology available to network layer routing procedures.

Motivation Behind MPLS

MPLS improves internet scalability by eliminating the need for each router and switch in a packet's path to perform traditionally redundant address lookups and route calculation. Improves scalability through better traffic engineering. MPLS also permits explicit backbone routing, which specifies in advance the hops that a packet will take across the network. This should allow more deterministic, or predictable, performance that can be used to guarantee QoS.

Introduction to MPLS

These paths function at layer 3 or can even be mapped directly to layer 2 transport such as ATM or frame relay. Explicit routing will give IP traffic a semblance of end-to-end connections over the backbone. The MPLS definition of IP QoS parameters is limited. Out of 32 bits total, an MPLS label reserves just three bits for specifying QoS.

Introduction to MPLS

Label-switching routers (LSRs) will examine these bits and forward packets over paths that provide the appropriate QoS levels. But the exact values and functions of these so-called 'experimental bits remain to be defined. The MPLS label could specify whether traffic requires constant bit rate (CBR) or variable bit rate (VBR) service, and the ATM network will ensure that guarantees are met.

MPLS Architecture

MPLS Ingress Node

MPLS Egress Node


A label is short, fixed length physically continuous identifier which is used to identify a FEC ( forwarding equivalence class), usually of local significance. Ru can transmits a packet labeled L to Rd, if they can agree to a binding between label L and FEC F for packets moving from Ru to Rd.

Ru (upstream LSR) Rd (downstream LSR with respect to a given binding). L becomes Rus outgoing label representing FEC F, and L becomes rds incoming label representing FEC F. Rd must make sure that the binding from label to FEC is one-to-one.


Rd must not agree with Ru1 to bind L to FEC F1, while agreeing with some other LSR Ru2 to bind L to a different FEC F2, unless rd can always tell, when it receives a packet with incoming label L, whether the label was put on the packet by Ru1 or Ru2.
Ru1 L for FEC F1 Rd Ru2 L for FEC F2

Labeled Packet

A packet into which a label has been encoded. The label resides in an encapsulation header which exists specifically for this purpose. Or the label may reside in a existing data link or network layer header. The particular encoding technique which is used must be agreed to by both the entities which encodes the label and the entity which decodes the label.

Label Assignment and Distribution

The decision to bind a particular label L to a particular FEC F is made by the LSR which is downstream with respect to that binding. The downstream LSR informs the upstream LSR of the binding. The labels are downstream assigned and label binding are distributed in the downstream to upstream direction.

Label Distribution Protocols

It is set of procedures by which one LSR informs another LSRs of the bindings (label/FEC) it has made. Two LSRs which use a distribution protocol to exchange label/FEC binding information are known as label distributing peers with respect to the binding information they exchange. There exists many different distribution protocols ( [MPLS- BGP], [MPLS-RSVP], [MPLS-RVSP-TUNNELS], [MPLS-CR-LDP]).

Unsolicited Downstream Vs. Downstream-on-demand

Downstream-on-demand label distribution.

An LSR explicitly request (a label binding for that FEC ),from its next hop for a particular FEC.
LSR distribute bindings to LSRs that have not explicitly requested them.

Unsolicited downstream label distribution.

Both these label distribution techniques can be used in the same network at the same time. Which protocol is provided by the MPLS implementation depends on the characteristics of the interfaces which are supported by a particular implementation.

Label Retention Mode

An LSR Ru receives a label binding for a particular FEC from an LSR Rd, even though Rd is not Rus next hop. Ru then has the choice of whether to keep track or discard it. Liberal label retention mode.

It maintains the bindings. Allows for quicker adaptation to routing changes.

Conservative label retention mode.

It discards such bindings. Requires an LSR to maintain many few labels.

The Label Stack

Label stack carries a number of labels organized as a last-in, first out stack. The processing is always based on the top label. An unlabeled packet can be thought as a packet whose label stack is empty.
Packet L3 L2 L1


NHLFE (Next Hop Label Forwarding Entry) is used when forwarding a labeled packet. It contains the following information.

The packets next hop. The operation to perform on the packets label stack. Replace the label at the top of the label stack with a specified new label. Pop the label stack. Replace the label at the top of the label stack with a specified new label, and then push one or more specified new labels onto the label stack.

Incoming Label Map (ILM)

Maps each incoming label to a set of NHLFEs. Used when forwarding packets that arrive as labeled packets.
Set of NHFLE

Exactly one element of set must be chosen before the packet is forwarded. It is used to load balance over multiple equal-cost paths.


FTN maps each FEC to a set of NHFLEs. It is used when forwarding packets that arrive unlabeled, but are labeled before being forwarded.


Set of NHFLE

Label Swapping

In order to forward a labeled packet, a LSR examines the label at the top of the label stack. It uses the ILM to map this label to an NHLFE. Using the information in the NHFLE, it determines where to forward the packet, and performs an operation on the packets label stack. It then encodes the new label stack into the packet, and forwards the result.

Label Swapping

In order to forward an unlabeled packet, a LSR analyzes the network layer header, to determine the packets FEC. It then uses FTN to map this label to an NHFLE. Using the information in the NHFLE, it determines where to forward the packet, and performs an operation on the packets label stack. It then encodes the new label stack into the packet, and forwards the result.

Uniqueness of Labels

A given LSR Rd may bind label L to FEC F1, and distribute that binding to label distribution peer Ru1. Rd may also bind a label to FEC F2, and distribute that binding to label distribution peer Ru2. If RD can tell when it receives a packet whose top label is L, whether the label was put there by RU1 or RU2, then the architecture does not require that F1==F2. Rd may be using different label space for the labels it distributed to Ru1 than to Ru2.

LSP, LSP Ingress, LSP Egress

A label switched path (LSP) of level m for a particular packet P is a sequence of routers.

<R1, ., Rn> With following properties R1, the LSP ingress, is an LSR which pushes a label onto Ps label stack, resulting in a label stack of depth m. For all I, 1< I < n, P has a label stack of depth m when received by LSR Ri. At no time during Ps transit from R1 to r[n-1] does it label stack ever have a depth of less than m.

LSP, LSP Ingress, LSP Egress

A label switched path (LSP) of level m for a particular packet P is a sequence of routers.

Which begins with an LSR ( an LSP ingress) that pushes on a level m label. All of whose intermediate LSRs make their forwarding decision by label switching on a level m label. Which ends ( at an LSP egress) when a forwarding decision is made by label switching on a level m-k label, where k > 0 or when a forwarding decision is made by ordinary, non-MPLS forwarding procedures.

Penultimate Hop Popping

If <R1, , Rn> is level m LSP for packet P, P may be transmitted from r[n-1] to Rn with a label stack of depth m-1. That is, the label stack may be popped at the penultimate LSR of the LSP, rather than at the LSP egress.

Once r[n-1] has decided to send the packet to Rn, the label no longer has any function, and need no longer be carried. Allows the egress to do a single lookup, and also requires only a single lookup by the penultimate node. In this case, LSP egress need not even be an LSR.

Penultimate Hop Popping

There may be situations when penultimate hop popping is not desirable. Therefore the penultimate node pops the label stack only if this is specifically requested by the egress node. Or If the next node in the LSP does not support MPLS.

LSP Next Hop

The LSP next hop for a particular labeled packet in a particular LSR is the LSR which is the next hop, as selected by the NHFLE entry used for forwarding that packet. The LSP next hop for a particular FEC is the next hop as selected by the NHFLE entry indexed by the label which corresponds to that FEC. The LSP next hop may differ from the next hop which would be chosen by the network layer routing algorithm.

Invalid Incoming Labels

What should an LSR do if it receives a labeled packet with a particular incoming label, but has no binding for that label ? It must be discarded. It is not safe to strip off the label and the packet is forwarded as an unlabeled packet. It could cause a loop.

Independent LSP Control

Independent LSP control each LSR, upon noting that it recognizes a particular FEC, make an independent decision to bind a label to that FEC and to distribute that binding to its label distribution peers. Similar to conventional IP datagram routing, where each node makes an independent decision as to how to treat each packet, and relies on the routing algorithm to converge rapidly so as to ensure that each datagram is correctly delivered.

Ordered LSP Control

Ordered LSP Control an LSR only binds a label to a particular FEC if it is the egress LSR for that FEC, or if it has already received a label binding for that FEC from its next hop for that FEC. To ensure that traffic in a particular FEC follow a path with some specified set of properties, ordered control must be used. It has to be initiated either by the egress or the ingress LSR.

LSP Control

To have ordered control all LSRs in an LSP should use ordered control otherwise the overall effect on the network behavior is largely that of independent control, since one cannot be sure that an LSP is not used until it is fully setup. Both methods interoperate. A given LSR needs support of only one or other.


In MPLS Domain, all the traffic in a set of FECs might follow the same route. Example a set of distinct address prefixes might all have the same egress node. In such case, the union of those FECs it itself a FEC. The procedure of binding a single label to a union of FECs which is itself a FEC, and applying that label to all traffic in the union is known as Aggregation. It reduces the no of labels and reduces the amount of label distribution control traffic needed.

Whose Granularity Is Used ?

In ordered control each LSR should adopt, for a given set of FECs, the granularity used by its next hop for those FECs. In independent control it is possible that there will be two adjacent LSRs, Ru and Rd, which aggregate some of FECs differently.

Granularity of Aggregation

If Ru has finer granularity than Rd, this does not cause a problem. Ru distribute more labels for that set of FECs than Rd does. This means that when Ru needs to forward labeled packets in those FECs to Rd, it may withdraw the set of n labels into m labels, where n > m. Or it may with draw the set of n labels it has distributed and then distribute a set of m labels.


If Ru has coarser granularity than Rd, it has two choices. It may adopt Rds finer level of granularity, This would require it to withdraw m labels it has distributed and distribute n labels. It may simply map its m labels into a subset of Rds n labels, if it can determine that this will not produce the same routing.

Route Selection

Route selection refers to the method used for selecting the LSP for a particular FEC. Hop by Hop Routed LSP each node independently choose the next hop for that FEC. Explicitly routed LSP each LSR does not independently choose the next hop, rather, a single LSR, generally the LSP ingress or the LSP egress, specifies several of the LSRs in the LSP.

Advantages of Explicit Routing

It is useful for policy routing and traffic engineering. The explicit route has to be specified at the time that labels are assigned, but the explicit route does not have to be specified with each IP packet. It makes MPLS explicit routing much more efficient than the alternative of IP source routing.

Lack of Outgoing Label

If a labeled packet reaches an LSR at which the ILM does not map the packets incoming label into an NHFLE, even though the incoming label is valid. Discard the packet to be safe It is unsafe to strip off the label stack and attempt to forward the packet further via conventional forwarding, based on its network layer header.


Provides some level of protection against forwarding loops that exist due to misconfigurations or due to failure or slow convergence of the routing algorithm. It also supports traceroute commands and multicast scoping. The MPLS label values are carried in an MPLS-specific shim header. If the MPLS labels are carried in an L2 header, such as ATM header or a frame relay

Loop Control

On a non-TTL LSP Segment, TTL cannot be used to protect against forwarding loops. It depends on the hardware used to provide the LSR functions along the non-TTL LSP segment. Example : ATM hardware is used to provide MPLS switching function, with the label being carried in the VPI/VCI field. Since ATM switching hardware cannot decrement TTL, there is no protection again loops. If it provides fair access to the buffer pools for incoming labels, this looping may not cause deleterious effect on other traffic otherwise even transient loops may cause severe degradation of the LSRs total performance.

Label Encoding

Architecture supports different encoding techniques, the choice of encoding technique depends on the particular kind of device being used to forward labeled packets. MPLS-specific hardware/software to forward packets. To encode the label stack, we need to define a new protocol to be used as a shim between the data link layer and network layer headers. It is protocol independent, used to encapsulate any network layer.

ATM switches as LSRs

MPLS forwarding procedures are similar to those legacy label swapping switches such as ATM switches. ATM switches use the input port and the incoming VPI/VCI value as the index into a switching table, from which they obtain the output port and an outgoing VPI/VCI value. If one or more labels can be encoded directly into the fields which are accessed by these switches, then the switches can be used as LSRs.

Encoding labels in ATM Cell header

SVC Encoding Use the VPI/VCI to encode the label which is at the top of the label stack. Can be used in any network. Label distribution protocol becomes ATM signaling. ATM LSRs cannot perform push and pop operation on the label stack.

Encoding labels in ATM Cell header

SVP Encoding Use VPI field to encode the label which is at the top of the label stack and VCI field to encode the second label on the stack. Cannot always be used, when the network includes an ATM Virtual path through a non-MPLS ATM network. Since VPI field is not necessarily available for use by MPLS.

Encoding labels in ATM Cell header

SVP Multipoint Encoding

Use the VPI field to encode the label which is at the top of the label stack, use part of the VCI field to encode the second label on the stack, if one is present, and use the remainder of the VCI to identify the LSP egress. It enables us to do label merging, without running into cell interleaving problems, on ATM switches which can provide multipoint-to-point VPs, but which do not have the VC merge capability.

Switching Table

VPI/VCI label is looked up in switching table Output port is chosen VPI/VCI is relabeled VPI/VCI has local significance only




ATM Switching example

(VPI,VCI,Port) 2,1,1 -> 3,1,2 2,1,2 -> 1,1,2 2,2,2 -> 1,2,2 (3,1) (2,1) (1,1) (2,2) (1,2)

Port 1

Port 1

Port 1
(1,1) (1,2) (1,3)

Port 1
(2,1) (2,2) (4,1) (4,2)

Port 2 Port 1

Port 2 Port 1
(1,1) (VPI,VCI,Port) 4,1,1 -> 1,1,1 4,2,1 -> 4,2,2

Port 2
(VPI,VCI,Port) 2,1,2 -> 4,2,2 1,1,1 -> 2,1,1 1,2,1 -> 2,2,1 1,3,1 -> 4,1,2

Port 2

(4,1) (4,2)

(2,1) (4,2)

1,3,2 -> 2,1,1

1,9,2 -> 3,1,1


Port 2

Port 2

Interoperability Among Encoding Techniques

If <R1, R2, R3> is a segment of a LSP, it is possible that R1 will use one encoding of the label stack when transmitting packet P to R2 but R2 will use a different encoding when transmitting a packet P to R3. Architecture supports LSPs with different label stack encoding used on different hops. ATM switches have no capability of translating from one encoding technique to another.

Interoperability Among Encoding Techniques

LSR with SHIM interface P L1 LSR P L2 The LSR may swap off an ATM encoded label stack on the Incoming interface and replace With MPLS shim header LSR

The LSR may swap off an MPLS shim encoded label stack on the Incoming interface and replace With ATM encoded label

LSR with ATM Interface

Label Merging

With label merging, the no of outgoing labels per FEC need only be one.
L1 for FEC F

LSR L2 for FEC F L2 L1





L3 L3 for FEC F

With label merging the no of outgoing Labels per FEC need only be one.

Merge over ATM

Methods to eliminate the cell interleaving problem in ATM. VP Merge, using the SVP Multipoint Encoding

Multiple virtual paths are merged into a virtual path, but packets from different sources are distinguished by using different VCIs with the VP.

VC Merge

Switches are required to buffer cells from one packet until the entire packet is received.

Applications of MPLS


and and and and

Hop by Hop Routed Traffic Explicitly Routed LSP Multicast Multi-Path Routing

Diff-Serv and MPLS

Two major IETF standardization efforts are making IP QoS a reality. Sometimes perceived as rivals. Both are in fact complementary developments that approach the QoS challenge from two different network perspectives. DiffServ and MPLS are in fact independent developments that can function with or without each other's help. Neither specification requires the other, but MPLS networks should be able to derive QoS status from DiffServ traffic. There is hope that they can be used together as access (DiffServ) and backbone (MPLS) counterparts.


DiffServ is a layer 3 solution that addresses QoS requirements in a connectionless environment. Its main purpose is to standardize a set of QoS building blocks with which providers can fashion QoSenhanced IP services. DiffServ QoS is meant to be implemented at the network edge by access devices and then supported across the backbone by DiffServ-capable routers. Since it operates purely at layer 3, DiffServ can be deployed on any layer 2 infrastructure. DiffServ and non-DiffServ routers and services can be mixed in the same environment.


MPLS is a strategy for streamlining the backbone transport of IP packets across a layer 3/layer 2 network. Although it does involve QoS issues, that is not its main purpose. MPLS is focused mainly on improving internet scalability through better traffic engineering. MPLS will help to build backbone networks that better support QoS traffic, but it entails significant changes in existing network architecture.


MPLS is essentially a hybrid of the network (layer 3) and transport (layer 2) structure, and may represent an entirely new way of building IP backbone networks. In the near term, DiffServ may have more relevance. It tackles IP QoS head-on, and it provides mechanisms for achieving both access QoS and backbone QoS across the network. The specification is drafted, early implementations of the technology have proven stable for over half a year, and standards-based products will soon be available.


MPLS, on the other hand, is not expected to reach RFC status until some time later this year. Backed by established and emerging players, such as Cisco systems, inc. And juniper networks, inc., MPLS should become a major element of internet backbone growth next year.