MPLS Architecture
MPLS Network Model
MPLS
LSR = Label Switched RouterLER = Label Edge Router
LER
LER
LSR
LER
LSRLSR
IP
MPLS
IP
Internet
LSR
MPLS BenefitsComparing MPLS with existing IP core and
IP/ATM technologies, MPLS has many advantages and benefits:
• The performance characteristics of layer 2 networks
• The connectivity and network services of layer 3 networks
• Improves the price/performance of network layer routing
• Improved scalability
MPLS Benefits (cont’d)
• Improves the possibilities for traffic engineering
• Supports the delivery of services with QoS guarantees
• Avoids need for coordination of IP and ATM address allocation and routing information
Necessity of L3 Forwarding
• For security– To allow packet filtering at firewalls– Requires examination of packet
contents, including the IP header
• For forwarding at the initial router - used when hosts don’t do MPLS
• For Scaling– Forward on a finer granularity than
the labels can provide
MPLS Architecture
• Down stream label assignment for unicast traffic– On demand– Unsolicited
• Path selection– Hop by hop– Explicit
• Ordered vs. independent control• Loop detection and prevention
mechanisms
Label Distribution Protocol (LDP)
• Set of procedures used by LSRs to establish LSPs
• Mapping between network-layer routing information directly to data-link layer switched paths
• LDP peers: – Two LSRs which use LDP to exchange
label/stream mapping – Information exchange known as “LDP Session”
LDP Messages
• Discovery messages – Used to announce and maintain the presence of
an LSR
• Session/Adjacency messages – Used to establish, maintain and terminate
sessions between LDP peers
• Advertisement messages– Used to create, change, and delete label
mappings
• Notification messages– Used to provide advisory information and to
signal error information
Forwarding Equivalence Class (FEC)
• Introduced to denote packet forwarding classes
• Comprises traffic – To a particular destination– To destination with distinct service
requirements
LSP - FEC Mapping
• FEC specified as a set of two elements – IP Address Prefix - any length from 0 – 32– Host Address - 32 bit IP address
• A given packet matches a particular LSP if and only if IP Address Prefix FEC element matches packet’s IP destination address
Label Spaces
• Useful for assignment and distribution of labels
• Two types of label spaces– Per interface label space: Interface-
specific labels used for interfaces that use interface resources for labels
– Per platform label space: Platform-wide incoming labels used for interfaces that can share the same label space
LDP Discovery• A mechanism that enables an LSR to
discover potential LDP peers• Avoids unnecessary explicit configuration
of LSR label switching peers • Two variants of the discovery mechanism
– Basic discovery mechanism: used to discover LSR neighbors that are directly connected at the link level
– Extended discovery mechanism: used to locate LSRs that are not directly connected at the link level
LDP Discovery (Cont’d)• Basic discovery mechanism
– To engage - send LDP Hellos periodically– LDP Hellos sent as UDP packets for all routers
on that subnet
• Extended discovery mechanism– To engage - send LDP targeted Hellos
periodically– Targeted Hellos are sent to a specific address– Targeted LSR decides whether to respond or to
ignore the targeted Hello
Session Establishment
• Exchange of LDP discovery Hellos triggers session establishment
• Two step process– Transport connection establishment
• If LSR1 does not already have a LDP session for the exchange of label spaces LSR1:a and LSR2:b, it attempts to open a TCP connection with LSR2
• LSR1 determines the transport addresses at its end (A1) and LSR2’s end (A2) of the TCP connection
• If A1>A2, LSR1 plays the active role; otherwise it is passive
– Session initialization• Negotiate session parameters by exchanging LDP
initialization messages
Label Distribution and Management
• Two label distribution techniques– Downstream on demand label distribution:
An LSR can distribute a FEC label binding in response to an explicit request
– Downstream Unsolicited label distribution: Allows an LSR to distribute label bindings to LSRs that have not explicitly requested them
• Both can be used in the same network at the same time; however, each LSR must be aware of the distribution method used by its peer
Label Distribution Control Mode
• Independent Label Distribution Control– Each LSR may advertise label mappings to its
neighbors at any time– Independent Downstream on Demand mode -
LSR answers without waiting for a label mapping from next hop
– Independent Downstream Unsolicited mode - LSR advertises label mapping for a FEC whenever it is prepared
– Consequence: upstream label can be advertised before a downstream label is received
Distribution Control Mode (cont’d)
• Ordered Label Distribution Control– Initiates transmission of label mapping for a
FEC only if it has next FEC next hop or is the egress
– If not, the LSR waits till it gets a label from downstream LSR
– LSR acts as an egress for a particular FEC, if• Next hop router for FEC is outside of label switching
network• FEC elements are reachable by crossing a domain
boundary
Label Retention Mode• Conservative Label Retention Mode
– Advertised label mappings are retained only if they are used for forwarding packets
– Downstream on Demand Mode typically used with Conservative Label Retention Mode
– Advantage: only labels required are maintained– Disadvantage: a change in routing causes
delay
• Liberal Retention Mode– All label mappings are retained regardless of
whether LSR is next hop or not– Faster reaction to routing changes
Label Information Base
• LSR maintains learned labels in Label Information Base (LIB)
• Each entry of LIB associates an FEC with an (LDP Identifier, label) pair
• When next hop changes for a FEC, LSR will retrieve the label for the new next hop from the LIB
Domain #3
Domain #2
Domain #1
Hierarchical Routing in MPLS
C
12 3 4 5
6
D
EBA F
•External Routers A,B,C,D,E,F - Talk BGP
•Internal Routers 1,2,3,4,5,6 - Talk OSPF
Note: Internal routers in domains 1 and 3 not shown
Hierarchical Routing (cont’d)
• When IP packet traverses domain #2, it will contain two labels, encoded as a “label stack”
• Higher level label used between routers C and D, which is encapsulated inside a lower level label used within Domain #2
• Operation at C– C needs to swap BGP label to put label that D expects– C also needs to add an OSPF label that 1 expects– C therefore pushes down the BGP label and adds a
lower level label
Explicit Routing in MPLS• Two options for route selection:
– Hop by hop routing– Explicit routing
• Explicit Routing (Source Routing) is a very powerful technique– With pure datagram routing, overhead of
carrying complete explicit route is prohibitive
– MPLS allows explicit route to be carried only at the time the LSP is setup, and not with each packet
– MPLS makes explicit routing practical
Explicit Routing (Cont’d)
• In an explicitly routed LSP – LSP next hop is not chosen by the
local node– Selected by a single node, usually the
ingress• The sequence of LSRs may be
chosen by– Configuration (e.g., by an operator or
by a centralized server)
Loops and Loop Handling
• Routing protocols used in conjunction with MPLS are based on distributed computation which may contain loops
• Loops handling - 3 categories– Loop Mitigation/Survival– Loop Detection– Loop Prevention
Loop Mitigation
• Minimizes the impact of loops by limiting the amount of resources consumed by the loop
• Method– Based on use of TTL field which is
decremented at each hop– Use of dynamic routing protocol
converging rapidly to non-looping paths
Loop Detection
• Loops may be setup but they are subsequently detected
• The detected loop is then broken by dropping label relationship
• Broken loops now necessitates packets to be forwarded using L3 forwarding
Loop Detection (Cont’d)
• Method is based on transmitting a Loop Detection Control Packet (LDCP) whenever a route changes
• LDCP is forwarded towards the destination until– Last MPLS node along the path is reached– TTL of the LDCP expires– It returns to the node which originated it
Loop Prevention
• Ensures that loops are never set up• Labels are not used until it is sure to be
loop free• Methods
– Labels are propagated starting at the egress switch
– Use source routing to set up label bindings from the egress switch to each ingress switch
QoS in MPLS
Strategy
• To support end-to-end QoS as in IP• MPLS not an end-to-end protocol• Efficient ways of mapping QoS to
LSPs• Traffic Engineering key to QoS
QoS Models
• Best effort – Original IP service
• Int-serv.– Fist IP effort to support QoS
• Diff-serv.– Simple, scalable
• Future– Int+ Diff+ TE with e2e SLAs
CISCO QoS Framework
PR
OV
ISIO
NIN
G &
MO
NIT
OR
ING
PR
OV
ISIO
NIN
G &
MO
NIT
OR
ING
VPNsVPNsMultimediaVideo Conference,
Collaborative Computing
MultimediaVideo Conference,
Collaborative Computing
Mission Critical Services
Mission Critical ServicesVoIPVoIP
HybridHybridMPLSMPLSDiffServDiffServIntServIntServ
Signaling Techniques (RSVP, DSCP*, ATM (UNI/NNI))Signaling Techniques (RSVP, DSCP*, ATM (UNI/NNI))
Link Efficiency Mechanisms (Compression, Fragmentation)Link Efficiency Mechanisms (Compression, Fragmentation)
Congestion Avoidance Techniques (WRED)Congestion Avoidance Techniques (WRED)
Congestion Management Techniques (WFQ, CBWFQ, LLQ)Congestion Management Techniques (WFQ, CBWFQ, LLQ)
Classification & Marking Techniques (DSCP, MPLS EXP, NBAR, etc.)Classification & Marking Techniques (DSCP, MPLS EXP, NBAR, etc.)
FrameRelay
FrameRelay
PPPHDLC
PPPHDLC SDLC
SDLCATM, POSATM, POS FE,Gig.E
10GE
FE,Gig.E 10GE
WirelessFixed,Mobile
WirelessFixed,Mobile
BroadBandCable,xDSL
BroadBandCable,xDSL
PO
LIC
Y-B
AS
ED
NETW
OR
KIN
GP
OLIC
Y-B
AS
ED
NETW
OR
KIN
G
Traffic Conditioners (Policing, Shaping)Traffic Conditioners (Policing, Shaping)
Support of RSVP
• Very similar to tag switching• Bind labels to reserved flows
– Label object inside the RESV message– Labels propagate upstream
• Only the edge router need to know the packet to flow mapping– Can aggregate flows instead of micro-
flows
RSVP Scalability
• Aggregation• Refresh reduction
– Use acknowledgements for refresh– Once received, increase the refresh
time– Summary refresh
Diff-Serv Support
– E-LSP
– “Queue” inferred from Label and EXP field
– “Drop priority” inferred from label and EXP field
– L-LSP
– Queue” inferred exclusively from Label
– “Drop priority” inferred from EXP field
E-LSP
E-LSP
LSRLDP/RSVP LDP/RSVP
EF
AF1
•E-LSPs established by various label binding protocols (LDP or RSVP)
•no new Signalling needed.
•EF and AF1 on a single E-LSP
•EF and AF1 packets travel on single LSP (single label) but are enqueued in different queues (different EXP values)
•Queue & Drop Precedence is selected based on EXP
E-LSP
VersionLengthVersionLength
ToSToS1 Byte1 ByteToSToS
1 Byte1 Byte LenLen
Standard IPV4: Bits 0-2 Called IP Precedence (Three MSB)(DiffServ Uses Six ToS bits…: Bits 0-5, with Two Reserved)
IDID offsetoffset TTLTTL ProtoProto FCSFCS IP-SAIP-SA IP-DAIP-DA DataData
Referred to as Packet Classification or Coloring
IP Precedence to Label EXP
E-LSP vs. L-LSP
• PHB from EXP• No additional
signaling• EXP->PHB
configured• Shim header
required• Up to 8 PHBs per LSP
• PHB from label + Exp/CLP
• Signaled at LSP setup
• Label->PHB mapped • Shim or link layer
header used• Arbitrarily large
Explicit Congestion Notification(ECN)
• TCP approach – based on packet drop– May not reflect the status– Resources could have been wasted
• Early notification– Mark packets– Receiver conveys information to sender
• Two bits used to deal with deployment disparity (CE & ECT)
MPLS Support of ECN
• Could use two bits as before– May not be available– Usually 1 bit available– LSRs should have the understanding
on mapping
Traffic Engineering in MPLS
Traffic Engineering Objectives
• Traffic Engineering (TE) concerned with performance optimization
• The key performance objectives – traffic oriented e.g. minimization of
packet loss – resource oriented - optimization of
resource utilization e.g. efficient management of bandwidth
Objectives (cont’d)
• Minimizing congestion is a major traffic and resource oriented performance objective
• Congestion manifest under two scenarios– Network resources insufficient or
inadequate• Solved by capacity expansion or classical
congestion control techniques
– Inefficient mapping of traffic streams onto available resources
• Reduced by adopting load balancing policies
MPLS and Traffic Engineering
• Main components used– Traffic Trunk - aggregation of traffic
flows of the same class which are placed inside a Label Switched Path
– Induced MPLS Graph • Analogous to a virtual topology in an
overlay model• Logically mapped onto the physical
network • Set of LSRs as nodes of the graph • Set of LSPs providing logical point to
point connectivity between LSRs as edges
Constraint Based Routing (CBR)
• Associate each path with set of constraints– Performance, administrative– Local information
• Routing algorithms – Optimizes various metrics– Ensures that the constraints are not
violated
Can IP Routing Do CBR?
• Plain IP routing cannot– CBR has to be source based – each
source may have different constraint to same destination
– Link attributes need to be distributed– Need explicit routing instead of
“destination-based”• Can be augmented to support CBR
– Usually a combination is used
CBR Components
• Mechanism for source based path computing
• Mechanism to collect necessary information– Constraints (local), attributes, topology
• Support forwarding along the computed paths
• Notification of residual resources after allocation
Constrain-Based SPF
24
7
53
1
6
150
45
150
150
150150
150
CSPF• Uses the following inputs
– Link attributes– Topology state information– Path constraints
• Basic approach– Prune resources that do not meet the
constraints– Run a shortest path algorithm on the
residual graph
MPLS for Forwarding
• Ideal to use MPLS explicit routing capability
• Once the path is computed – Need to establish forwarding state along the
path– Reserve resources along the path
• Two approaches– RSVP extensions– CR-LDP
CBR (cont’d)
• Strict & Loose Explicit Routes– Constraint Based LSP (CRLSP) is
calculated at one point at the edge of the network based on certain criteria
– special char. such as assigning certain bandwidth can be supported
– The route is encoded as a series of Explicit routed hops contained in a CR based route TLV
CBR (cont’d)
• Comparison of RSVP and CR-LDP– Scalability– Signaling mechanism– Qos Models
Application of CR in TE
• IP?• ATM• Overlay• MPLS
TE in MPLS - II
Fish Network
R8
R1
R5
R2
R3R4
R7R6
150
150
150
150
150
Is Plain IP Enough?
R8
R1
R5
R2
R3R4
R7R6
150
150
150
150
150
Under utilized
Why IP Routing Fails
• Based only on metric optimization– Shortest path– Administrative optimization– Split paths
• Per link constraints not taken into consideration
TE in MPLS Using CBR • Define traffic trunks
– Collection of micro-flows that share same path and class of service
– These are not end-to-end paths, rather paths within a single service provider
• No. of trunks dependent only on the topology
• Forwarding table does not grow with the traffic
• Rerouting– RSVP, CR-LDP, or IGP
Forwarding Packets
R1
R5
R2
R3R4
R7R6
150
150
150
150
150
Fast Rerouting
• Total restoration time after failure– Failure detection time– Propagation– Computation of new path
• Usually the 2nd and 3rd steps are significantly slow
Is FR possible with IP?
R1
R4R3
R2
R5
Even if the traffic is rerouted to R3, it will that back to R1 since R3 is not aware of the failure
X
FR using CBR
• Compute protection LSP for every link
• When a failure happens– Traffic rerouted to the protection LSP– Use label stacking for the transit
within the protection LSP– Beyond the end-nodes labels original
labels remain in tact