1© 2001, Cisco Systems.
MPLS Architecture Overview
MPLS Architecture Overview
Jay [email protected] [email protected]
Adopted from Stefano Previdi’s presentation
22001 Cisco Systems, Inc.
www.cisco.com
AgendaAgenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Day in the Life of a Packet
32001 Cisco Systems, Inc.
www.cisco.com
MPLS ConceptsMPLS Concepts
• MPLS: Multi Protocol Label Switching
• MPLS is a layer 2+ switching
• Developed to integrate IP and ATM
• MPLS forwarding is done in the same way as in ATM switches
• Packet forwarding is done based on Labels
42001 Cisco Systems, Inc.
www.cisco.com
MPLS ConceptsMPLS Concepts• Unlike IP, classification/label can be based
on:
Destination Unicast address
Traffic Engineering
VPN
QoS
• FEC: Forwarding Equivalence Class
• A FEC can represent a: Destination address prefix, VPN, Traffic Engineering tunnel, Class of Service.
52001 Cisco Systems, Inc.
www.cisco.com
Agenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Summary
62001 Cisco Systems, Inc.
www.cisco.com
LSRs and LabelsLSRs and Labels
• LSR: Label Switch Router
• Edge-LSR: LSRs that do label imposition and disposition
• ATM-LSR: An ATM switch with Label Switch Controller
72001 Cisco Systems, Inc.
www.cisco.com
LSRs and LabelsLSRs and Labels
IGP domain with a label distribution protocol
• An IP routing protocol is used within the routing domain (e.g.:OSPF, i-ISIS)
• A label distribution protocol is used to distribute address/label mappings between adjacent neighbors
• The ingress LSR receives IP packets, performs packet classification, assign a label, and forward the labelled packet into the MPLS network
• Core LSRs switch packets/cells based on the label value
• The egress LSR removes the label before forwarding the IP packet outside the MPLS network
82001 Cisco Systems, Inc.
www.cisco.com
LSRs and LabelsLSRs and Labels
• Uses new Ethertypes/PPP PIDs/SNAP values/etc
• More than one Label is allowed -> Label Stack
• MPLS LSRs always forward packets based on the value of the label at the top of the stack
Label = 20 bits Exp = Experimental, 3 bits S = Bottom of stack, 1bitTTL = Time to live, 8 bits
0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Label | Exp|S| TTL
92001 Cisco Systems, Inc.
www.cisco.com
LSRs and LabelsLSRs and Labels
PPP HeaderPPP Header Layer 3 HeaderLayer 3 HeaderShim HeaderPPP Header(Packet over SONET/SDH)
Ethernet HdrEthernet Hdr Layer 3 HeaderLayer 3 HeaderShim HeaderEthernet
FR HdrFR Hdr Layer 3 HeaderLayer 3 HeaderShim HeaderFrame Relay
ATM Cell Header HECHEC DATADATACLPCLPPTIPTIVCIVCIGFCGFC VPIVPI
Label
HECHEC DATADATACLPCLPPTIPTIVCIVCIGFCGFC VPIVPI
Label
Subsequent cells
102001 Cisco Systems, Inc.
www.cisco.com
AgendaAgenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Day in the Life of a Packet
112001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
• Labels have link-local significanceEach LSR binds his own label mappings
• Each LSR assign labels to his FECs
• Labels are assigned and exchanged between adjacent neighboring LSR
• Applications may require non-adjacent neighbors
122001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
• Rtr-C is the downstream neighbor of Rtr-B for destination 171.68.10/24
• Rtr-B is the downstream neighbor of Rtr-A for destination 171.68.10/24
• LSRs know their downstream neighbors through the IP routing protocol
Next-hop address is the downstream neighbor
171.68.10/24
Rtr-BRtr-A Rtr-C
171.68.40/24
Upstream and Downstream LSRs
132001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
• LSRs distribute labels to the upstream neighbors
171.68.10/24
Rtr-BRtr-A Rtr-C
171.68.40/24
Next-HopNext-Hop
In In LabLab
--
......
Address Address PrefixPrefix
171.68.10171.68.10
......
OutOutI/FI/F
11
......
Out Out LabLab
3030......
In In I/FI/F
00
...... Next-HopNext-Hop
In In LabLab
3030
......
Address Address PrefixPrefix
171.68.10171.68.10
......
OutOutI/FI/F
11
......
Out Out LabLab
4040......
In In I/FI/F
00
......
Next-HopNext-Hop
In In LabLab
4040
......
Address Address PrefixPrefix
171.68.10171.68.10
......
OutOutI/FI/F
11
......
Out Out LabLab
--......
In In I/FI/F
00
......
Use label 40 for destination 171.68.10/24
Use label 30 for destination 171.68.10/24
IGP derived routes
Unsolicited Downstream Distribution
142001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
• Upstream LSRs request labels to downstream neighbors
• Downstream LSRs distribute labels upon request
171.68.10/24
Rtr-BRtr-A Rtr-C171.68.40/24
Use label 30 for destination 171.68.10/24
Use label 40 for destination 171.68.10/24
Request label for destination 171.68.10/24
Request label for destination 171.68.10/24
On-Demand Downstream Distribution
152001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
• Liberal retention mode
• LSR retains labels from all neighborsImprove convergence time, when next-hop is again available after IP convergence
Require more memory and label space
• Conservative retention mode
• LSR retains labels only from next-hops neighborsLSR discards all labels for FECs without next-hop
Free memory and label space
Label Retention Modes
162001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
Label Distribution Modes
• Independent LSP control
LSR binds a Label to a FEC independently, whether or not the LSR has received a Label the next-hop for the FEC
The LSR then advertises the Label to its neighbor
• Ordered LSP control
LSR only binds and advertise a label for a particular FEC if:
it is the egress LSR for that FEC or
it has already received a label binding from its next-hop
172001 Cisco Systems, Inc.
www.cisco.com
Label Assignment and Distribution
Label Assignment and Distribution
Several protocols for label exchange
• LDP
Maps unicast IP destinations into labels
• RSVP, CR-LDP
Used in traffic engineering
• BGP
External labels (VPN)
• PIM
For multicast states label mapping
182001 Cisco Systems, Inc.
www.cisco.com
AgendaAgenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Day in the Life of a Packet
192001 Cisco Systems, Inc.
www.cisco.com
Label Switch Path (LSP)Label Switch Path (LSP)
• LSPs are derived from IGP routing information
• LSPs may diverge from IGP shortest path
LSP tunnels (explicit routing) with TE
• LSPs are unidirectional
Return traffic takes another LSP
LSP follows IGP shortest path LSP diverges from IGP shortest path
IGP domain with a label distribution protocol
IGP domain with a label distribution protocol
202001 Cisco Systems, Inc.
www.cisco.com
Label Switch Path (LSP) Penultimate Hop PoppingLabel Switch Path (LSP)
Penultimate Hop Popping
• The label at the top of the stack is removed (popped) by the upstream neighbor of the egress LSR
• The egress LSR requests the “popping” through the label distribution protocol
•Egress LSR advertises implicit-null label
• The egress LSR will not have to do a lookup and remove itself the label
•One lookup is saved in the egress LSR
212001 Cisco Systems, Inc.
www.cisco.com
Label Switch Path (LSP) Penultimate Hop PoppingLabel Switch Path (LSP)
Penultimate Hop Popping
0 1
Summary route for 171.68/16
01
171.68.10/24
Next-HopNext-Hop
In In LabLab
Address Address PrefixPrefix
OutOutI/FI/F
Out Out LabLab
In In I/FI/F
44 171.68/16171.68/16 22 poppop00
...... ...... ...... ............Next-HopNext-Hop
In In LabLab
Address Address PrefixPrefix
OutOutI/FI/F
Out Out LabLab
In In I/FI/F
-- 171.68/16171.68/16 11 4400
...... ...... ...... ............
Egress LSR summarises morespecific routes and advertises a label for the new FEC
Summary route is propagate through the IGP and label is assigned by each LSR
Use label “implicit-null” for FEC 171.68/16
Summary route for 171.68/16
Use label 4 for FEC 171.68/16
171.68.44/24
Address Address Prefix and maskPrefix and mask
171.68.10/24171.68.10/24
Next-HopNext-Hop
171.68.9.1171.68.9.1
InterfaceInterface
Serial1Serial1
171.68.44/24171.68.44/24 171.68.12.1171.68.12.1 Serial2Serial2
171.68/16171.68/16 ...... NullNull
Egress LSR needs to do an IP lookup for finding more specific route
Egress LSR need NOT receive a labelled packet
222001 Cisco Systems, Inc.
www.cisco.com
AgendaAgenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Summary
232001 Cisco Systems, Inc.
www.cisco.com
ATM LSRsATM LSRs• ATM switches forward cells, not packets
• Label Dist is Downstream on-demand, Ordered
• IGP label is carried in the VPI/VCI field
• Merging LSR: Ability to use the same label for different FECs if outgoing interface is the same
Save label space on ATM-LSRs
Cell interleave problem
• Non Merging LSR: ATM-LSR requests one label per FEC and per incoming interface (upstream neighbors)
Downstream LSR may request itself new label to its downstream neighbors
242001 Cisco Systems, Inc.
www.cisco.com
ATM LSRs Non-Merging
Downstream on Demand
ATM LSRs Non-Merging
Downstream on Demand
In In LabLab
55
88
......
Address Address PrefixPrefix
171.68171.68
171.68171.68
......
OutOutI/FI/F
00
00
......
Out Out LabLab
33
44
......
In In I/FI/F
11
22
......
171.68
IPPacket
IPPacket
ATMcell
5
ATMcell
8
ATMcell
8
ATMcell
8
ATMcell
5
ATMcell
3
ATMcell
4
ATMcell
4
ATMcell
4
ATMcell
3
ATM-LSR requested additional label for same FEC in order to distinguish between incoming interfaces (Downstream on Demand)
252001 Cisco Systems, Inc.
www.cisco.com
ATM LSRs VC-Merging Downstream
on Demand
ATM LSRs VC-Merging Downstream
on Demand
In In LabLab
55
88
......
Address Address PrefixPrefix
171.68171.68
171.68171.68
......
OutOutI/FI/F
00
00
......
Out Out LabLab
33
33
......
In In I/FI/F
11
22
......
171.68
IPPacket
IPPacket
ATMcell
5
ATMcell
8
ATMcell
8
ATMcell
8
ATMcell
5
ATMcell
3
ATMcell
3
ATMcell
3
ATMcell
3
ATMcell
3
ATM-LSR transmitted cells in sequence in order for the downstream LSR to re-assembling correctly the cells into packets
262001 Cisco Systems, Inc.
www.cisco.com
AgendaAgenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Summary
272001 Cisco Systems, Inc.
www.cisco.com
Loops and TTLLoops and TTL
• In IP networks TTL is used to prevent packets to travel indefinitely in the network
• MPLS may use same mechanism as IP, but not on all encapsulations
• TTL is present in the label header for PPP and LAN headers (shim headers)
• ATM cell header does not have TTL
282001 Cisco Systems, Inc.
www.cisco.com
Loops and TTLLoops and TTL
• LSRs using ATM do not have TTL capability
• Some suggested options:
- hop-count object in LDP
- Path Vector object in LDP
292001 Cisco Systems, Inc.
www.cisco.com
Loops and TTLLoops and TTL
• TTL is decremented prior to enter the non-TTL capable LSP
If TTL is 0 the packet is discarded at the ingress point
• TTL is examined at the LSP exit
IGP domain with a label distribution protocol
LSR-1
LSR-2
LSR-4 LSR-5
LSR-3
LSR-6
Egress
IP packetTTL = 6
Label = 25
IP packetTTL = 6
IP packetTTL = 10
LSR-6 --> 25Hops=4
IP packetTTL = 6
Label = 39
IP packetTTL = 6
Label = 21
302001 Cisco Systems, Inc.
www.cisco.com
AgendaAgenda
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Day in the Life of a Packet
312001 Cisco Systems, Inc.
www.cisco.com
LDP ConceptsLDP Concepts
• Label Distribution Protocol
• Labels map to FECs for Unicast Destination Prefix
• LDP works between adjacent/non-adjacent peers
• LDP sessions are established between peers
322001 Cisco Systems, Inc.
www.cisco.com
LDP MessagesLDP Messages
• Discovery messages
• Used to discover and maintain the presence of new peers
• Hello packets (UDP) sent to all-routers multicast address
• Once neighbor is discovered, the LDP session is established over TCP
332001 Cisco Systems, Inc.
www.cisco.com
LDP MessagesLDP Messages
• Session messages
• Establish, maintain and terminate LDP sessions
• Advertisement messages
• Create, modify, delete label mappings
• Notification messages
• Error signalling
342001 Cisco Systems, Inc.
www.cisco.com
• MPLS Concepts
• LSRs and labels
• Label assignment and distribution
• Label Switch Paths
• ATM LSRs
• Loops and TTL
• LDP overview
• Day in the Life of a Packet
AgendaAgenda
352001 Cisco Systems, Inc.
www.cisco.com
Day in the life of a PacketDay in the life of a Packet
0
Summary route for 171.68/16
01
171.68.10/24
Next-HopNext-Hop
In In LabLab
Address Address PrefixPrefix
OutOutI/FI/F
Out Out LabLab
In In I/FI/F
77 171.68/16171.68/16 22 poppop00
...... ...... ...... ............Next-HopNext-Hop
In In LabLab
Address Address PrefixPrefix
OutOutI/FI/F
Out Out LabLab
In In I/FI/F
-- 171.68/16171.68/16 11 4400
...... ...... ...... ............
Egress LSR summarises morespecific routes and advertises a label for the new FEC
Summary route is propagate through the IGP and label is assigned by each LSR
Use label “implicit-null” for FEC 171.68/16
Summary route for 171.68/16
Use label 4 for FEC 171.68/16
Egress LSR needs to do an IP lookup for finding more specific route
171.68.44/24
Address Address Prefix and maskPrefix and mask
171.68.10/24171.68.10/24
Next-HopNext-Hop
171.68.9.1171.68.9.1
InterfaceInterface
Serial1Serial1
171.68.44/24171.68.44/24 171.68.12.1171.68.12.1 Serial2Serial2
171.68/16171.68/16 ...... NullNull
Use label 7 for FEC 171.68/16
Next-HopNext-Hop
In In LabLab
Address Address PrefixPrefix
OutOutI/FI/F
Out Out LabLab
In In I/FI/F
44 171.68/16171.68/16 11 7700
...... ...... ...... ............
CE
PEP P PE
0
0
21
362001 Cisco Systems, Inc.
www.cisco.com
Day in the life of a Packet Basic Layout
Day in the life of a Packet Basic Layout
IP Routing Protocols
Label Distribution Protocol
IP Routing Table
Forward Information Block (FIB)
Label Forward Information Block(LFIB)
Control Plane
Forwarding Plane
Incoming IP PacketsOutgoing IP Packets
Outgoing Labelled PacketsIncoming LabelledPackets
Routing Exchange
Label Binding Exchange
Label RemovedL3 lookup
372001 Cisco Systems, Inc.
www.cisco.com
Day in the life of a Packet Database Layout
Day in the life of a Packet Database Layout
OS P F IS IS BGP
fas t-ad jacency
fas ttag-rew ritetag_info
FIB
TFIB
tfib_entrytag_rew rite
Routing Table
LDP
TIB
tfib_entry
tfib_entryloadinfotag_info
output-ifencaps
incom ing-tag
outgoing-tag
tfib_entry
tag_rew rite
Incom ing tag
Dest. IP address
incom ing-tag
tag_rew rite [ ]
tag_hash
IDB v ectors
ip_turbo_fs
tag_optim um _fsip2_tag_optim um _fs
382001 Cisco Systems, Inc.
www.cisco.com
Day in the life of a PacketDay in the life of a Packet
IP
M PLS
In-boundinterface driver
checksencaps,invokes
handler thruIDB vectors
checkearly
features
- bgp-based policy m apping (QPPB) and set qos-group ID- authentication proxy- check for input ACLs- check for crypto- check for setting input QoS m arking- Input police/rate-input- check for NAT (outside -> inside- check policy routing- check for WEB cache redirection
FIBlookup
adja--cencylookup
- check for NAT (inside -> outside)- perform QoS classification- check for crypto- output ACL check- check for setting output QoS m arking- QoS - WFQ- output police/rate-lim iting
IP
M PLS
postlookup
features
labelim position
send IPpacket
IPfragm ent
?
- com pute length of tag(s)to be copied & check iffrag. is required.- copy tos field- set ttl- copy the label(s)- if (features) { - perform output QoS classification - check for setting output QoS m arking - do output rate-lim iting - check for m ulti-vc }- fragm ent, if necessary- send labelled packet
IP
M PLS
processlabelledpacket
392001 Cisco Systems, Inc.
www.cisco.com
Day in the life of a PacketDay in the life of a PacketIn-bound interface
driv er checksencaps, inv okeshandler thru IDB
v ectors
checkearly
features
IP
M PLS
processlabelledpacket
checkearly
features
- Input QoS Classification- Setting input QoS m arking- Do input rate-lim it/policing
tagsw itchinline
- get label header- from tfib get the tag entry- get rew rite info from the tag entry
tagforw ard
inline
- update TT L value- update EXP value- SW AP/POP label, process inner label..- handle m ulti-vc CoS
checkpost
features
norew riteinfo, doLayer-3lookup
- Output QoS Classification- Setting output QoS m arking- Do output rate-lim it/policing
transm itpacket
- Platform specific W RED done in the final transm it path
402001 Cisco Systems, Inc.
www.cisco.com
SummarySummary
• LSRs forward packet based on label information
• IP header and forwarding decision have been de-coupled for better flexibility
• Label information can derive from different sources
IP routing protocols (destination based unicast routing)
Multicast
Traffic Engineering
QoS
VPN
412001 Cisco Systems, Inc.
www.cisco.com
SummarySummary
• MPLS allows flexible packet classification and network resources optimisation
• Labels are distributed by different protocols
•LDP, RSVP, BGP, PIM
• Different distribution protocols may co-exist in the same LSR
• Label have local (LSR) significanceNo need for global (domain) wide label allocation/numbering
422001 Cisco Systems, Inc.
www.cisco.com
Thank You!Thank You!