© M. Baldi: see page 2MPLS - 1
MPLSMulti-protocol label switching
MPLSMulti-protocol label switching
Mario BaldiPolitecnico di Torino
(Technical University of Torino)
http://staff.polito.it/mario.baldi
Mario BaldiPolitecnico di Torino
(Technical University of Torino)
http://staff.polito.it/mario.baldi
© M. Baldi: see page 2MPLS - 2
Copyright noticeThis set of transparencies, hereinafter referred to as slides, is protected by copyright laws and provisions of International Treaties. The title and copyright regarding the slides (including, but not limited to, each and every image, photography, animation, video, audio, music and text) are property of the authors specified on page 1.
The slides may be reproduced and used freely by research institutes, schools and Universities for non-profit institutional purposes. In such cases, no authorization is requested.
Any total or partial use or reproduction (including, but not limited to, reproduction on magnetic media, computer networks, and printed reproduction) is forbidden, unless explicitly authorized by the authors by means of written license.
Information included in these slides is deemed as accurate at the date of publication. Such information is supplied for merely educational purposes and may not be used in designing systems, products, networks, etc. In any case, these slides are subject to changes without any previous notice. The authors do not assume any responsibility for the contents of these slides (including, but not limited to, accuracy, completeness, enforceability, updated-ness of information hereinafter provided).
In any case, accordance with information hereinafter included must not be declared.
In any case, this copyright notice must never be removed and must be reported even in partial uses.
© M. Baldi: see page 2MPLS - 6
The ideaThe idea
Instead of the IPdestination addressInstead of the IP
destination address
Forwarding packets according to a labelForwarding packets according to a label
LabelLabel IP packetIP packet
© M. Baldi: see page 2MPLS - 7
Why?Why?
The label may be used as an indexThe label may be used as an index
Faster lookupFaster lookup
Traffic engineeringTraffic engineering
Instead of longest prefix matchingInstead of longest prefix matching
© M. Baldi: see page 2MPLS - 9
Network architectureNetwork architecture
Label edge routerIngress/egress LSRLabel edge routerIngress/egress LSR
Label switch router (LSR)Label switch router (LSR)
MPLS networkMPLS cloud
MPLS networkMPLS cloud
© M. Baldi: see page 2MPLS - 10
Egress LSREgress LSR
Ingress LSRIngress LSR
Label Switched Path (LSP)Label Switched Path (LSP)
© M. Baldi: see page 2MPLS - 11
Label switchingLabel switching
DD
DD
11223344
0033
00
1122
33
0011
00
22
AA
DD
XX
00
00
11
11
InIn OutOut
22
22
11
InIn OutOut
00
11
InIn OutOut
00
11InIn OutOut
00
11112222
00
DD
© M. Baldi: see page 2MPLS - 14
MPLS “header”MPLS “header”
Contains the labelContains the label
MPLS key elementsMPLS key elements
Upgraded routing protocolsUpgraded routing protocols
Constraints in choosing pathsConstraints in choosing paths
Protocols for label distribution Protocols for label distribution
SignalingSignaling
© M. Baldi: see page 2MPLS - 8
MPLS introduces a connection-oriented
paradigm in IP networks
MPLS introduces a connection-oriented
paradigm in IP networks
© M. Baldi: see page 2MPLS - 15
Shim headerShim headerMPLS headerMPLS header
Level 2Level 2 IP packetIP packet
LabelLabel ExpExp SS TTLTTL20 bit20 bit 3 bit3 bit 8 bit8 bit11
TTL: Time to liveTTL: Time to live
Exp: Experimental bits (CoS)Exp: Experimental bits (CoS)S: Bottom of stackS: Bottom of stack
© M. Baldi: see page 2MPLS - 16
VCI/VPI (ATM)VCI/VPI (ATM)
MPLS labels in layer 2 headerMPLS labels in layer 2 header
Connection oriented layer 2protocols
Connection oriented layer 2protocols
ATM and frame relayATM and frame relay
DLCI (Frame relay)DLCI (Frame relay)
© M. Baldi: see page 2MPLS - 17
Forwarding equivalence class (FEC)Forwarding equivalence class (FEC)
Packets thatPackets that
Follow the same pathin MPLS network
Follow the same pathin MPLS network
Are treated the same wayby each LSR
Are treated the same wayby each LSR
Receive the same label Receive the same label
© M. Baldi: see page 2MPLS - 19
Input labelInput label
Output portOutput port
LSP CreationLSP Creation
Label MappingLabel Mapping
The label used by the downstream switch of a link for packets
belonging to a FEC is associated to
The label used by the downstream switch of a link for packets
belonging to a FEC is associated to
© M. Baldi: see page 2MPLS - 21
Static label binding (and mapping)Static label binding (and mapping)
Through managementThrough management
Non-scalableNon-scalable
Equivalent to PVC ATMEquivalent to PVC ATM
No interoperability among managing systemsNo interoperability among managing systems
Impossible to have LSPs through different networksImpossible to have LSPs through different networks
© M. Baldi: see page 2MPLS - 22
Dynamic label bindingDynamic label binding
Protocol (IP) drivenProtocol (IP) driven
Explicit creation of LSPExplicit creation of LSP
The creation of LSPs is linked to the discovery of routes towards destinations
The creation of LSPs is linked to the discovery of routes towards destinations
Explicit signalingExplicit signaling
Initiated by label edge routersInitiated by label edge routers
© M. Baldi: see page 2MPLS - 23
Routing protocol: BGPRouting protocol: BGP
Only protocol drivenOnly protocol driven
Designed for allocation in integrated service networksDesigned for allocation in integrated service networks
Resource reservation protocol (RSVP)Resource reservation protocol (RSVP)
Label distribution protocolsLabel distribution protocols
Three alternatives (incompatible)Three alternatives (incompatible)
Label distribution protocol (LDP)Label distribution protocol (LDP)
Designed for the purposeDesigned for the purpose
© M. Baldi: see page 2MPLS - 24
Routing protocolsRouting protocols
Used to determine LSP routingUsed to determine LSP routing
Guide label binding proceduresGuide label binding procedures
They indirectly determine packet routingThey indirectly determine packet routing
© M. Baldi: see page 2MPLS - 25
carry topology informationcarry topology information
Routing protocolsRouting protocols
Existing protocolsExisting protocols
IS-ISIS-IS
OSPFOSPF
BGP-4BGP-4
In MPLS context
they are enhanced d to...
In MPLS context
they are enhanced d to...
© M. Baldi: see page 2MPLS - 31
New possibilitiesNew possibilities
Traffic engineeringTraffic engineering
Per-class traffic engineeringPer-class traffic engineering
Guaranteed quality of serviceGuaranteed quality of service
Fast fault recoveryFast fault recovery
Not yet supportedNot yet supported
In less than 50 msIn less than 50 ms
Synergy with DiffServSynergy with DiffServ
© M. Baldi: see page 2MPLS - 57
StandardizationStandardization
IETF –Internet Engineering Task ForceIETF –Internet Engineering Task Force
FR/MPLS AllianceFR/MPLS Alliance
MPLS working groupMPLS working group
Consortium of producersConsortium of producersSpeed up spreadingSpeed up spreadingAspects omitted by IETFAspects omitted by IETF
VoMPLS, ADSLVoMPLS, ADSL
© M. Baldi: see page 2MPLS - 58
BibliographyT. Tofoni, “MPLS – Fondamenti e applicazioni alle reti IP”, Hoepli, 2003
IETF MPLS Working Group, http://www.ietf.org/html.charters/mpls-charter.html
E. Rosen, A. Viswanathan, R. Callon, “Multiprotocol Label Switching Architecture,” RFC 3031, Standards Track, Jan. 2001
E. Rosen, D. Tappan, G. Fedorkow, Y. Rekhter, D. Farinacci, T. Li, A. Conta, “MPLS Label Stack Encoding,” RFC 3032, Standards Track, Jan. 2001
© M. Baldi: see page 2MPLS - 59
Bibliography
F. Le Faucheur, et al., “Multi-Protocol Label Switching (MPLS) Support of Differentiated Services,” RFC 3170, Standards Track, May 2002
Davie, B., Lawrence, J., McCloghrie, K., Rekhter, Y., Rosen, E., Swallow, G. and P. Doolan, "MPLS using LDP and ATM VC Switching", RFC 3035, January 2001.
Andersson, L., Doolan, P., Feldman, N., Fredette, A. and B. Thomas, "LDP Specification", RFC 3036, January 2001.