Transcript mpls

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
Labels


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 Ru’s “outgoing label” representing FEC F, and L
becomes rd’s “incoming label” representing FEC F.
Rd must make sure that the binding from label to FEC is
one-to-one.
Labels

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.


Unsolicited downstream 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.
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 Ru’s 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


NHLFE (Next Hop Label Forwarding Entry) is used
when forwarding a labeled packet.
It contains the following information.


The packet’s next hop.
The operation to perform on the packet’s 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.
Label

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.
FEC-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.
FEC
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 packet’s 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
packet’s 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 packet’s 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
P’s 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 P’s 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.
Aggregation




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.
Granularity

If Ru has coarser granularity than Rd, it has two
choices.
 It may adopt Rd’s 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
Rd’s 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 packet’s 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.
TTL




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 LSR’s 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
VPI.in
VCI.in
Port.in
VPI.out
VCI.out
Port.out
ATM Switching example
(VPI,VCI,Port)
2,1,1 -> 3,1,2
Port 1
Port 1
(2,1)
2,1,2 -> 1,1,2
2,2,2 -> 1,2,2
Port 1
Port 1
(1,1)
(2,1)
(1,2)
(1,3)
(2,2)
(4,1)
(3,1)
(2,1)
(1,1)
(2,2)
(1,2)
Port 2
Port 1
(2,1)
(4,2)
Port 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
Port 1
(1,1)
(4,1)
(2,1)
4,1,1 -> 1,1,1
4,2,1 -> 4,2,2
1,3,2 -> 2,1,1
1,9,2 -> 3,1,1
(4,2)
(4,2)
(1,3)
Port 2
(VPI,VCI,Port)
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
LSR
The LSR may swap off an
MPLS shim encoded label stack on the
Incoming interface and replace
With ATM encoded label
The LSR may swap off an
ATM encoded label stack on the
Incoming interface and replace
With MPLS shim header
LSR with ATM Interface
LSR
Label Merging

With label merging, the no of outgoing labels per FEC
need only be one.
L1 for FEC F
LSR
LSR
L1
L2 for FEC F
L2
LSR
L4
L4
L4
LSR
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




MPLS
MPLS
MPLS
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.
Diff-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 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.
Conclusion



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.
Conclusion



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.
Conclusion

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.
56