Multiprotocol Label Switching
The future of IP Backbone Technology
Ravikumar Pragada & Girish Srinivasan
1
Overview
• • • • • • • • • • • • Need for MPLS MPLS Basics Benefits Label Switched Path Label Distribution Protocol Hierarchy in MPLS Explicit Routing Loop Detection Traffic Engineering Constraint Based Routing Tag Switching IP Switching
2
Conventional IP Networks & Routing
• Client networks are connected to backbone via edge routers
– LAN, PSTN, ADSL
• Data packets are routed based on IP address and other information in the header • Functional components
– Forwarding • responsible for actual forwarding across a router • consists of set of procedures to make forwarding decisions – Control • responsible for construction and maintenance of the forwarding table • consists of routing protocols such as OSPF, BGP and PIM
Need for Multiprotocol Label Switching (MPLS)
• Forwarding function of a conventional router
– a capacity demanding procedure – constitutes a bottle neck with increase in line speed
• MPLS simplifies forwarding function by taking a totally different approach by introducing a connection oriented mechanism inside the connectionless IP networks
4
Label Switching
• Decomposition of network layer routing into control and forwarding components applicable • Label switching forwarding component algorithm uses
– forwarding table – label carried in the packet
• What is a Label ?
– Short fixed length entity
5
MPLS Basics
• A Label Switched Path (LSP) is set up for each route • A LSP for a particular packet P is a sequence of routers,
for all i, 1< i < n: Ri transmits P to R[i+1] by means of a label
• Edge routers
– analyze the IP header to decide which LSP to use – add a corresponding local Label Switched Path Identifier, in the form of a label 6 – forward the packet to the next hop
MPLS Basics contd..
• Subsequent nodes
– just forward the packet along the LSP – simplify the forwarding function greatly – increase performance and scalability dramatically
• New advanced functionality for QoS, differentiated services can be introduced in the edge routers • Backbone can focus on capacity and performance • Routing information obtained using a common 7 intra domain routing protocol such as OSPF
Basic Model for MPLS Network
Internet
LER LSR LSR LER
IP
MPLS
LSR
LSR LER
MPLS
IP
LSR = Label Switched Router LER = Label Edge Router
8
MPLS Benefits
Comparing 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 9
MPLS Benefits contd..
• 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
10
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
11
Carrying a Label
• Certain link layer technologies can carry label as a part of their link layer header
– e.g ATM & Frame Relay
• Link layers that do not support labels in their header carry them in a “shim” label header
L in k lay er “S h im ” lab el N etw o rk h ead er h ead er lay er h ead er N etw o rk lay er d ata
12
Establishing Label Switched Path
• LSPs are generated and maintained in a distributed fashion • Each LSR negotiates a label for each Forwarding Equivalence Class (FEC) with its upstream and downstream neighbors using a distribution method • Label Information Base (LIB) - Result of negotiation
13
LDP - Terminology
• Label Distribution Protocol (LDP)
– set of procedures by which LSRs 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” 14
LDP Message Exchange
• Discovery messages - used to announce and maintain the presence of an LSR • Session 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 15
LDP Message Format
0 1 2 3 01234567890123456789012345678901
U M essa g e T y p e M essa g e I D M a n da to ry P a ra m eters O p tio n a l P a ra m eters
16
M essa g e L eng th
LDP Protocol Data Units (PDUs)
• LDP message exchanges are accomplished by sending LDP PDUs • Each LDP PDU is an LDP header followed by LDP message • The LDP header is:
0 1 2 3 01234567890123456789012345678901
V e r s io n P D U L e n g th L D P I d e n tifie r
17
Forwarding Equivalence Class (FEC)
• Introduced in MPLS standards to denote packet forwarding classes • Comprises traffic
– to a particular destination – to destination with distinct service requirements
• Why FEC?
– To precisely specify which IP packets are mapped to each LSP – Done by providing a FEC specification for each LSP
18
LSP - FEC Mapping
• FEC specified as a set of two elements (currently) 1. IP Address Prefix - any length from 0 - 32 2. 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
19
Rules for Mapping packet to a LSP
• If exactly one LSP’s Host Address FEC element ~ packet’s IP destination address, packet is mapped to that LSP • If there are multiple LSPs satisfying the above condition, then the packet is mapped to one of those LSPs† • If a packet matches exactly one LSP, packet is mapped to that LSP • If packet matches multiple LSPs, mapped to one with the longest prefix match
† Which LSP to be chosen - outside the scope of this presentation
20
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
21
LDP Identifiers
• A six octet quantity • used to identify specific label space within an LSR • First four octets encode LSR’s IP address • Last two octets identify specific label space • Representation :