MPLS - An Introduction
OverviewIntroductionNeed for MPLSMPLS and it’s ComponentsMPLS BasicsMPLS Operation MPLS Benefits
Need for Multiprotocol Label Switching (MPLS)
Conventional network forwarding Each router analyzes the coming packet’s header and
independently chooses a next hop. Routing algorithm andadequate speed are prerequisite.
Forwarding function of a conventional router
• a capacity demanding procedure
• constitutes a bottle neck with increase in line speed
MPLS forwarding All forwarding is driven by the labels, no IP header analysis
needed. Once a packet enters a network, it’s assigned a label. Each router forwards packets according their labels.
MPLS simplifies forwarding function by taking a totally different approach by introducing a connection oriented mechanism inside the connectionless IP networks
What is MPLS?
MPLS is an Internet Engineering Task force (IETF) specified 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 applications
Remains independent of Layer-2 and Layer-3 protocols Provides a means to map IP addresses to simple, fixed-length
labels Provides interfaces to existing routing protocols such as OSPF
(Open Shortest path first) and RSVP (Resource reservation protocol)
MPLS and it’s Components
LSR (Label switching Router) A router which performs label switching is known as a Label
Switching Router (LSR). A LSR is a high speed router device in the core of an MPLS network
that participates in the establishment of LSPs using the appropriate label signaling protocol.
FEC (Forward Equivalence Class) The FEC is a representation of a group of packets that share the
same requirements for their transport (e.g.: over the same path, with the same forwarding treatment)
All packets in such a group are provided the same treatment en route to the destination
MPLS Ingress LSR An LSR in it’s role as an entry point for a packet into the MPLS
domain. The important task of ingress LSR is to map the packet to a
unique FEC (if one exists)
MPLS Egress LSR An LSR in it’s role as an exit point for a packet from the MPLS
domain All the MPLS layering information is removed at this stage.
Label Switching DevicesLabel Switching Routers (LSRs)
(ATM Switch or Router)
Label Edge Routers
LER (Label Edge Routers) LERs are those routers which are present at the edge of the
network Also LER is not usually the one that is popping the label, there
is a function called Penultimate Hop Popping (PHP)
Penultimate Hop Popping (PHP) The outermost label of an MPLS tagged packet is removed by
a Label Switched Router (LSR) before the packet is passed to an adjacent Label Edge Router (LER).
If this process didn't happen, the LER would have to perform at least 2 label lookups:
3. The outer label, identifying that the packet was destined to have its label stripped on this router.
5. The inner label, to identify which Virtual Routing/Forwarding (VRF) instance to use for the subsequent IP routing lookup.
Virtual Routing and Forwarding (VRF)
BB – Backbone Router BO – Branch office Router
1. Technology used in computer networks2. Allows multiple instances of a routing table to co-exist within
the same router at the same time. 3. A VRF may be implemented in a network device by having
distinct routing tables, also known as forwarding information bases (FIBs), one per VRF
In a large network this can result in the CPU load on the LER reaching unacceptable levels.
By having PHP for an LER done on the LSRs connected to it, the load is effectively distributed among its neighbour routers
E-LSR (Edge LSR) An LSR that is either an ingress or egress LSR
Label A label is a short, fixed length, locally significant identifier
used to identify a FEC
LSP (Label switching Path) Within an MPLS domain, a path is set up for a given packet
by LSRs to travel based on an FEC This path is known as LSP
MPLS Domain A continuous set of nodes which operates MPLS routing and
forwarding and which are also in one routing or administrative domain.
MPLS Node A node that is running on MPLS. An MPLS node will be aware of
MPLS control protocols, will operate one or more L3 routing protocols, and will be capable of forwarding packets based on labels.
Setting up the LSP Topology determination
LSR2 LSR3
LSR6
LSR4
MPLS Domain
Router1NetworkA
Router2 NetworkB
LER1LER5LSRs use routing protocols
to discover network topologyeg. OSPF, ISIS, (BGP)
Setting up the LSP (contd.) Adding an IP network
LSR2 LSR3
LSR6
LSR4
MPLS Domain
Router1NetworkA
Router2 NetworkB
LER1LER5IP networks advertise their
addresses using routing protocols into MPLS cloud
Upstream and Downstream LSR Suppose Ru and Rd have agreed to bind label L to FEC F, for
packets from Ru to Rd. Then with respect to this binding, Ru is the “Upstream LSR”, and Rd is the “downstream LSR”
Label Distribution Protocol (LDP) The LDP is a protocol for the distribution of label binding
information to LSRs in an MPLS network It is used to map FECs to labels, which in turn, create LSPs Encompasses any negotiations in which two label distribution
peers need to engage in order to learn of each other’s MPLS capabilities
MPLS Basics
MPLS uses the “label swapping” algorithm to forward packets
The packet forwarding in MPLS domain can be thought of as consisting of the following functions
3. Label creation and distribution4. Table creation at each router5. LSP creation6. Label insertion and table lookup7. Packet Forwarding
Labels The label which is put on a particular packet represents the
FEC to which the packet is assigned Usually a packet is assigned to a FEC based on it’s network
layer destination address The label is never an encoding of that address
Label Stack• The labels can be organized as a stack known as label stack• Instead of encoding a single label onto a packet, we can
encode a label stack which can contain more than a single label
Actions to be performed on the labelAn LSR receives labeled traffic and forwards it after performing
some action on the label. The different actions that can be performed on the label on receipt of a labeled packet are:
7. PUSH a label or a label stack onto the existing one8. POP a label from the label stack and forward the packet using
the label underneath9. SWAP a label (ie replace the existing label with a new label by
performing POP and PUSH operations respectively) and forward the packet using a new label.
Label Assignment and Distribution The decision to bind a particular label to a particular FEC is
made by the LSR, which is "downstream" with respect to that binding
Thus labels are "downstream assigned" and label bindings are distributed in the "downstream to upstream" direction.
Labels/Label bindings can be distributed by extending the existing routing protocols so that label distribution can be piggybacked on them. Or we can use Label Distribution Protocols (LDP),
For our implementation we will be using LDP for label distribution and propagating route changes.
Labels distribution can be expedited in two fashions namely
Downstream on Demand where an LSR explicitly requests, from its next hop for a
particular FEC, a label binding for that FEC.
Unsolicited downstream where an LSR is allowed to distribute label bindings to LSRs
that have not explicitly requested them
Both of these techniques may be used in the network at the same time. However, on any given label distribution adjacency, the upstream LSR must agree on which technique to be used.
Label assignment and distribution
Label Assignment
Control Driven
Traffic Driven
Topology Driven
Request Driven
Label Distribution
Downstream Upstream
On-Demand Unsolicited
•Independent•Ordered
•Independent•Ordered
MPLS Operation Control-driven LSP setup
Topology-driven or request-driven setup
LSR2 LSR3
LSR6
LSR4
MPLS Domain
An LSP is set up between these
networks
Router1NetworkA
Router2 NetworkB
LER1LER5
What signaling protocol to use? LDP (Label Distribution Protocol)
• Designed specifically for MPLS, maps unicast IP destinations to labels
• Requires manual mesh configuration RSVP (ReSource reserVation Protocol)
• Already used for resource reservation
• Scalability? BGP (Border Gateway Protocol)
• Already in use for routing information exchange
• Automatic mesh configuration
• Will every router run BGP?
LDP vs. RSVP battle rages on in IETF, but each protocol is rapidly improving, incorporating features from each other into their newer versions
Data path Unlabelled IP packet enters MPLS domain
Router2Router1NetworkA
NetworkB
LSR2
LER1
LSR3
LER5
LSR6
LSR4
MPLS Domain
B
Data path (contd.) Ingress LSR assigns a label
Router2Router1NetworkA
NetworkB
LSR2
LER1
LSR3
LER5
LSR6
LSR4
MPLS Domain
B 5
Out (port, lab) Action2, 5 Push
DestB.0
Data path (contd.) Labeled packet is forwarded LSR2 LSR3
Router2Router1NetworkA
NetworkB
LSR2
LER1
LSR3
LER5
LSR6
LSR4
MPLS Domain
B 17
Out (port, lab) Action3, 17 Swap
In (port, lab)1, 5
Data path (contd.) Labeled packet is forwarded LSR3 LSR5
Router2Router1NetworkA
NetworkB
LSR2
LER1
LSR3
LER5
LSR6
LSR4
MPLS Domain
B 7
Out (port, lab) Action2, 7 Swap
In (port, lab)1, 17
Data path (contd.) Label is popped and packet is routed
Router2Router1NetworkA
NetworkB
LSR2
LER1
LSR3
LER5
LSR6
LSR4
MPLS Domain
B
Out (port, lab) Action4, none Pop
In (port, lab)3, 7
Label Retention Mode Any upstream LSR Ru may receive (or may have received) a label
binding for a particular FEC from a downstream LSR Rd, even though Rd is not Ru's next hop ( or is no longer Ru's next hop ) for that FEC.
Ru then has the choice of whether to keep track the choice of whether to keep track of such bindings, or whether to discard such bindings. If Ru keeps track of such bindings, then it may immediately begin using the binding again if Rd eventually becomes its next hop for the FEC in question.
If LSR Ru maintains the bindings between the label and FEC, which it received from LSR Rd, then it is said to support " Liberal Label Retention Mode". If LSR Rd discards the bindings between the label and the FEC, which it received from LSR Rd, then it is said to support "Conservative Label Retention Mode“
Liberal Label Retention mode allows for quicker adaptation to routing changes. Conservative Label Retention mode requires an LSR to maintain fewer label bindings.
LSP Control
Labeled packets are forwarded through LSPs that have been set up from ingress LSR to egress LSR. The setup of these LSPs can be achieved either through:
5. Independent LSP Control
6. Ordered LSP Control
Independent LSP Control corresponds to the way that conventional IP routing works. Each LSR when it recognizes an FEC, makes an independent decision to bind a label to that FEC and distributes that binding to its label distribution peers. It then relies on the routing algorithm to converge rapidly so as to ensure that each datagram is correctly delivered.
Hop-by-hop routing
5. Each LSR independently selects the next hop for a given FEC (This methodology is similar to that currently used in IP Networks)
6. The LSR uses any available routing protocols such as OSPF, ATM etc to detect the next hop.
MPLS provides the following two options to set up an LSP
In ordered LSP control, an LSR only binds a label to a particular FEC if it is an egress LSR for that FEC or has already received label binding for that FEC from its next hop for that FEC.
Explicit routing In explicit routing the ingress LSR or the egress LSR
specify the LSRs in the LSP5. The ingress LSR or egress LSR may specify several or all
of the LSPs6. If all the LSRs are specified, the LSP is a “Strictly” explicitly
routed LSP7. If some LSRs are not specified, the LSP is a “loosely”
explicitly routed LSP.
MPLS – Route Selection
Time to Live (TTL)
In conventional IP forwarding, each packet carries a “Time To Live” (TTL) value in its header. Whenever a packet passes through a router, its TTL gets decremented by 1; if the TTL reaches 0 before the packet has reached its destination, the packet gets discarded. This provides some level of protection against forwarding loops that say exist due to misconfigurations, or due to failure or slow convergence of the routing algorithm.
5. TTL as a way to suppress loops6. TTL as a way to accomplish other functions, such as limiting the
scope of a packet.
When a packet travels along an LSP, it SHOULD emerge with the same TTL value that it would have had if it had traversed the same sequence of routers without having been label switched. If the packet travels along a hierarchy of LSPs, the total number of LSR-hops traversed SHOULD be reflected in its TTL value when it emerges from the hierarchy of LSPs.
Featu re s o f M PLS
Following are the features supported by MPLS Traffic Engineering Tunneling VPN Security Etc
MPLS-TE Step 1: Determine TE paths
• Enhance routing protocols to be constrained-based
• Additional metrics carried in LSAs
• OSPF OSPF-TE, ISIS ISIS-TE
• Run Constrained shortest-path algorithms to compute explicit route
Step 2: Establish TE-LSPs
• Enhance signaling protocols to explicitly setup LSP (label assignment and distribution)
• LDP CR-LDP, RSVP RSVP-TE Step 3: Classify packets to LSPs
• Local policy configuration at router
• based on source IP address, dest IP address, DSCP, etc
What is a VPN?
VPN A/Site 1
VPN A/Site 2
VPN A/Site 3
VPN B/Site 2
VPN B/Site 1
VPN B/Site 3
CEA1
CEB3
CEA3
CEB2
CEA2CE1B1
CE2B1
PE1
PE2
PE3
P1
P2
P3
MPLS
MPL S B enef its
MPLS addresses today's network backbone requirements effectively by providinga standards-based solution that accomplishes the following:
improves packet-forwarding performance in the network• MPLS enhances and simplifies packet forwarding through
routers using Layer-2 switching paradigms.• MPLS is simple, which allows for easy implementation.
integrates IP and ATM in the network9. MPLS provides a bridge between access IP and core ATM.10. MPLS can reuse existing router/ATM switch hardware, effectively
joining the two disparate networks.
Builds interoperable networks MPLS is a standards-based solution that achieves synergy
between
IP and ATM networks. Supports network scalability MPLS can be used to avoid the Network overlay problem
associated with meshed IP–ATM networks.
Scaling in L2/L3 Networks
Problem: Huge Number of Routing AdjacenciesImpacts Routing Performance
Scaling in MPLS Networks
Solution: Only Neighbor-Neighbor Routing Adjacencies
Reference Links www.iec.org/online/tutorials/mpls/ www. phptr.com/articles www.cse.buffalo.edu rahuljadhav.tripod.com/project/mpls http://en.wikipedia.org/wiki/MPLS http://www.ietf.org/rfc/rfc3031.txt www.knet.wipro.com
THANK YOU