Multi-Protocol Label Switching has become by far one of the most important Internet technologies of the last 15 years. From humble beginnings back in 1996-97, it is literally the defacto standard in a large majority of service provider networks today. This presentation, delivered to executives at MTNL, Mumbai (a large regional carrier in India), explains the key operational principles behind MPLS, and its significant applications.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 8
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
Basic Concept of MPLS
128.89.10.x
1
179.69.x.x
21
128.89.10.12
179.69.42.3
198.168.7.6
Inlabel
Outlabel
Address Prefix N/wInt.
Inlabel
Outlabel
Address Prefix N/wInt.
128.89.10.x 5 1
179.69.x.x 7 2128.89.10.x 3 1
179.69.x.x 4 1
3
4
X
X
3
5
Packet arrives DA=128.89.10.25
3Push Label
5Pop label
Forward packet
553
Swap Label
R2R1
R3
R3 R4
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 9
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
A Word on Network Layer Routing
Control Plane
Forwarding/Data Plane
Control ComponentResponsible for construction and maintenanceof forwarding table. Consists of:• Routing protocols for exchange of routing info.
• Algorithms to convert this into forwarding table
Forwarding/data ComponentAlgos. used to make forwarding decision on packet
The algorithms define: • Information from packet used to find an entry in the forwarding table
• Exact procedures used to find that entry For unicast routing … Information = Network layer (IP) address Procedure = Longest prefix matching
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 10
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
So What about MPLS Control and Forwarding?
Superset of conventional router control
Distribute routing info. via network layer routing (OSPF, BGP, etc.)
Algos. to convert routing info. into forwarding table for fwding component
Create binding from FEC (derived from routing info.) --> label
Assign and distribute labels to peer LSRs via signaling
Uses a label switching forwarding table (or LIB), looking as:
Forwarding algorithm = label swapping, independent of control component (implementable in optimized hardware or software)
ControlComponent
ForwardingComponent
First Subentry Second Subentry(for multicast or load balancing)
Incoming Label Map
Next hop label forwarding entry (NHFLE)
Outgoing labelOutgoing inf.Next hop address
Outgoing labelOutgoing inf.Next hop address
Incoming Label
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 11
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
What does a label represent? The issue of label granularity
Packets treated identically by participating routers form Forwarding Equivalence Class (FEC
Assigned the same label
Membership of a FEC must be determinable from IP header
Info. that ingress router has about the packet
Entities grouped into a FEC are flexible, and could involve A connection between two IP ports on two hosts
All traffic between two IP hosts
All traffic headed for a particular network with same TOS bits
All destination networks with a certain prefix
All traffic headed to a particular router (e.g. an egress)
A manually configured connection … and many others
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 12
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
Let’s Recap: Elements of MPLS Label Forwarding
Use data link addressing, e.g. ATM VPI/VCI, FR DLCI Put “shim” header between data link and IP header
Label Creation and Binding
Label Assignment and Distribution Ride piggyback on routing protocols, where possible (BGP) Use separate label distribution protocol – RSVP, LDP/CR-LDP
Reliability: TCP or separate ACK/NACK
Variable
L2 header L3 IP header MPLS “shim” header
Higher Layers
4 bytes 20 bytes
Label CoS TTL S
20 bits 3 bits 8 bits
Data Plane
Control Plane
EXP/
1 bit
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 13
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
Benefits over Conventional Routing
MPLS forwarding possible by: Switches incapable of analyzing network layer headers Unable to do so at adequate speeds
Ingress can use any info. about packet to assign to FEC/LSP Conventional forwarding only considers info. in the packet
Forwarding decisions can depend on ingress router Conventional routing, identity of ingress router does not travel with packet
Packet FEC assignment can use complex decision process No impact on forwarding of labeled packets!
Explicit routing packet need not carry encoding of entire route Unlike “source routing” in conventional IP forwarding
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 14
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
MPLS Header over POS or IEEE 802.3
Label(20 bits)
TTL(8 bits)
EXP(3 bits)
S(1 bit)
4 octets
MPLSShim
Header
IPHeader
IP PayloadLayer 2 Hdr(e.g., PPPor 802.3)
For labeled packets, Layer 2 header indicates whether it is MPLSunicast packet or MPLS multicast packet
The label stack: sequence of 4-octet label stack entries (no limiton stack depth)
Network layer packet immediately follows the label stack entry thathas the S bit set. Label values 0 -->16 are reserved
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 15
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
MPLS Header over ATM
Top stack of shim carries placeholder label value of 0. VPI/VCI value in headerrepresent actual label value (no SNAP/LLC encapsulation used)
Upstream LSR connected to first ATM-LSR adjusts TTL value based on howmany ATM-LSRs are consecutively connected downstream (learnt via LDP)
For ATM LSRs, UNI gives 24-bit VPI/VCI label, NNI gives 28-bit VPI/VCI label If two ATM-LSRs connected via VPC through ATM cloud, 16-bit VCI label used
Label=0(20 bits)
TTL(8 bits)
EXP(3 bits)
S(1 bit)
4 octets
MPLSShim
Header
IPHeader
IP PayloadAAL5 Trailer(length, CRC-
32, ...)
ATMHeader
ATMPayload
ATMHeader
ATMPayload
48 octets 48 octets
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 16
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
Label Assignment and Distribution (Control Component)
Downstream Upstream
Ordered Solicited (On Demand)Unsolicited
SolicitedUnsolicited
Independent Solicited (On Demand)Unsolicited
SolicitedUnsolicited
Direction from which labels flow
Refers to whether LSR distributes labels on demand or voluntarily
Whether LSR waits to hear from its upstream/downstream nbrs. before responding to a requestfor label(s)
Label Retention: Liberal or Conservative
Whether LSR keeps labels from a neighbor who is not currently the next hop for a FEC
Labels
Data
Labels
Data
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 17
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
Example Label Assignment and Distribution Modes
4
33’
Edge LSR
Edge LSR
Downstream-on-demand with Independent Control
1 Requests
2
2’Assignments
Edge LSR
2
35
6
Edge LSR
Downstream-on-demand with Ordered Control
1 Requests
4
Assignments
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 18
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
Comparison of ATM Switch, IP Router, LSR, and Optical X-connect
ATM switch
IP router LSR OXC
Control Plane
Dynamic routing protocol for route exchange
PNNI BGP, OSPF, IS-IS, RIP
BGP, OSPF, IS-IS, RIP
OSPF, IS-IS
Signaling protocols
UNI, PNNI RSVP LDP/CR-LDP, extended RSVP
LDP/CR-LDP, extended RSVP
Data Plane
Forwarding “Engine”
ASICs Software, ASICs
Software, ASICs
ASICs
Switched entity ATM SVC, PVC.
IP packets or flows
LSPs SONET channels, Wavelengths, fibers
MPLS Seminar, MTNL CETTM, Mumbai, 26th April 2005 19
Metanoia, Inc.Critical Systems Thinking™
Copyright 2002-2005All Rights Reserved
More on the MPLS Control Plane: Hop-by-hop Routed LSPs
LSPs whose routes are determined by IP routing protocols
Shortest path, based on destination IP address of packet
Effectively creates labels for each route in forwarding table