Title: MPLS Architecture
1MPLS Architecture
- Gautham Pamu
- CS590F - Design of MultiService Networks
2Goals 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.
3Goals 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.
4Motivation 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.
5Introduction 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.
6Introduction 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.
7MPLS Architecture
MPLS Egress Node
MPLS Ingress Node
8Labels
- 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.
9Labels
- 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.
L for FEC F1
Ru1
Rd
L for FEC F2
Ru2
10Labeled 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.
11Label 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.
12Label 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).
13Unsolicited 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. - Unsolicited downstream label distribution.
- LSR distribute bindings to LSRs that have not
explicitly requested them. - 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.
14Label 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.
15The 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.
L1
L2
Packet
L3
16NHLFE
- 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.
17Incoming Label Map (ILM)
- Maps each incoming label to a set of NHLFEs.
- Used when forwarding packets that arrive as
labeled packets. - Exactly one element of set must be chosen before
the packet is forwarded. - It is used to load balance over multiple
equal-cost paths.
Set of NHFLE
Label
18FEC-to-NHFLE Map (FTN)
- 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
FEC
19Label 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.
20Label 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.
21Uniqueness 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 F1F2. - Rd may be using different label space for the
labels it distributed to Ru1 than to Ru2.
22LSP, LSP Ingress, LSP Egress
- A label switched path (LSP) of level m for a
particular packet P is a sequence of routers. - ltR1, ., Rngt
- 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, 1lt I lt n, P has a label stack of depth
m when received by LSR Ri. - At no time during Ps transit from R1 to rn-1
does it label stack ever have a depth of less
than m.
23LSP, 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 gt 0 or when a
forwarding decision is made by ordinary,
non-MPLS forwarding procedures.
24Penultimate Hop Popping
- If ltR1, , Rngt is level m LSP for packet P, P may
be transmitted from rn-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 rn-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.
25Penultimate 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.
26LSP 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.
27Invalid 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.
28Independent 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.
29Ordered 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.
30LSP 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.
31Aggregation
- 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.
32Whose 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.
33Granularity 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 gt m. Or it may with draw the set of n
labels it has distributed and then distribute a
set of m labels.
34Granularity
- 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.
35Route 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.
36Advantages 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.
37Lack 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.
38TTL
- 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
39Loop 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.
40Label 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.
41ATM 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.
42Encoding 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.
43Encoding 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.
44Encoding 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.
45Switching Table
- VPI/VCI label is looked up in switching table
- Output port is chosen
- VPI/VCI is relabeled
- VPI/VCI has local significance only
VPI.in
VCI.in
Port.in
VPI.out
VCI.out
Port.out
46ATM Switching example
Port 1
Port 1
(2,1)
(3,1)
(2,1)
Port 1
Port 1
(1,1)
(2,1)
(1,1)
(2,2)
(1,2)
(1,2)
(2,2)
Port 2
Port 2
(1,3)
(4,1)
Port 1
Port 1
(2,1)
(4,2)
(1,1)
Port 2
Port 2
(4,1)
(2,1)
(4,2)
(4,2)
(1,3)
Port 2
Port 2
47Interoperability Among Encoding Techniques
- If ltR1, R2, R3gt 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.
48Interoperability Among Encoding Techniques
LSR with SHIM interface
LSR
L1
P
P
L2
LSR
The LSR may swap off an ATM encoded label stack
on the Incoming interface and replace With MPLS
shim header
The LSR may swap off an MPLS shim encoded label
stack on the Incoming interface and replace With
ATM encoded label
LSR
LSR with ATM Interface
49Label Merging
- With label merging, the no of outgoing labels per
FEC need only be one.
L1 for FEC F
LSR
L1
L2 for FEC F
LSR
LSR
L2
L4
L4
L4
LSR
L3
With label merging the no of outgoing Labels per
FEC need only be one.
L3 for FEC F
50Merge 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.
51Applications of MPLS
- MPLS and Hop by Hop Routed Traffic
- MPLS and Explicitly Routed LSP
- MPLS and Multicast
- MPLS and Multi-Path Routing
52Diff-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.
53Diff-Serv
- 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
QoS-enhanced 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.
54Conclusion
- 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.
55Conclusion
- 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.
56Conclusion
- 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.