multi-protocol label switchingmulti-protocol label switchingstudioreti.it/slide/mpls_e.pdf ·...
TRANSCRIPT
© 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 - 3
MPLS is the enabling technology for the New Broadband (IP) Public
Network
From MPLS Forum DocumentsFrom MPLS Forum Documents
© M. Baldi: see page 2MPLS - 4
IP
ATM
IP
Leased Line
Frame Relay
ATM CircuitEmulation
IP over DWDM
IP over ATM Circuit Emulation
IP over ATM
IP over SONET/SDH
IP over Frame Relay
WDM
IP
ATM
The “onion” that makes telecos “cry”
© M. Baldi: see page 2MPLS - 5
IPIP router
with LAN or WAN
interface
IP router with T3 interfacePABX with T1 interfaceIP router with LAN (GE) or WAN (PoS) Interface
IP/MPLS
λ Switching
The future: WDM, IP, MPLSThe future: WDM, IP, MPLS
© 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 - 8
MPLS introduces a connection-oriented
paradigm in IP networks
MPLS introduces a connection-oriented
paradigm in IP networks
© 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 - 12
MPLS history
Tag Switching
IP on ATM
No problems with resolution of addresses
Simpler signaling
Only one control plan
ATM with IP
Reusing ATM switching hardware
© M. Baldi: see page 2MPLS - 13
MPLS history
MPλS (Multi-Protocol Lambda Switching)
G-MPLS (Generalized MPLS)
Packet switching
Cell switching
Circuit switching (SONET/SDH)
Lambda switching
Anything switching
Unifying control plan
© 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 - 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 - 18
Label Binding
A LSR determines the label it intends to use for packets belonging to a given FEC
Downstream binding
Packets of the FEC shall be received with chosen label
Upstream node to be notified
Unsolicited
On-demand
© 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 - 20
Downstream Label BindingDownstream Label Binding
Label DistributionLabel Distribution
The downstream switch of a link choses the label to be attached to packets belonging to a FEC when
forwarded on the link
The downstream switch of a link choses the label to be attached to packets belonging to a FEC when
forwarded on the link
The label is communicated to the upstream switch
The label is communicated to the upstream switch
Label mapping for the corresponding portLabel mapping for the corresponding port
© 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 - 26
Routing protocolsRouting protocols
...carry information to constraint routing decisions (constraint data)...carry information to constraint
routing decisions (constraint data)
Capacity of linksCapacity of links
Link utilizationLink utilization
Dependencies among linksDependencies among links
Used for fault recoveryUsed for fault recovery
© M. Baldi: see page 2MPLS - 27
Enhanced routing protocolsEnhanced routing protocols
Constraint based routingis fundamental to support
traffic engineering
Constraint based routingis fundamental to support
traffic engineering
IS-IS–TEIS-IS–TE
OSPF–TEOSPF–TE
© M. Baldi: see page 2MPLS - 28
Similar to routing for IP packetsSimilar to routing for IP packets
Ingress and egress labelsIngress and egress labels
Switches agree on corrispondencies amongSwitches agree on corrispondencies among
Each switch decides the next stepof LSP path
Each switch decides the next stepof LSP path
Hop-by-hop routingHop-by-hop routing
Labels and FECLabels and FEC
© M. Baldi: see page 2MPLS - 29
The choice is constraint basedThe choice is constraint based
Constraint based routingConstraint based routing
Explicit constraint based routingExplicit constraint based routing
For example, LSR ingressFor example, LSR ingress
A single switch may choose the path of an LSPA single switch may choose the path of an LSP
Explicit routingExplicit routing
© M. Baldi: see page 2MPLS - 30
CR-LDPCR-LDP
Constraint-based routing LDPConstraint-based routing LDP
Should be modified Should be modified
Label distribution protocolsLabel distribution protocols
RSVP-TERSVP-TE
RSVP for Traffic EngineeringRSVP for Traffic Engineering
To be used withOSPF-TE and IS-IS-TE
To be used withOSPF-TE and IS-IS-TE
© 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 - 32
Control plane and data planeControl plane and data plane
Data planeData Data planeplane
Control planeControl Control planeplane
RIPRIP IGRPIGRP
OSPFOSPF
BGPBGPISIS--ISIS
Routing databaseRouting database
RoutingtableRoutingtable
Continuous updating
Continuous updating
IPIP
© M. Baldi: see page 2MPLS - 33
Control plane and data planeControl plane and data plane
DataplaneDataDataplanplanee
Control planeControl planControl planee
RIPRIPIGRPIGRP
OSPFOSPF
BGPBGP
ISIS--ISIS
Routing databaseRouting database
Forwarding tableForwarding table
MPLSMPLS
LDPLDPRSVPRSVP
LSP setupLSP setup
Signaling (LSP setup)Signaling (LSP setup)
Routingtable
Routingtable
© M. Baldi: see page 2MPLS - 34
Traditional IP routingTraditional IP routingTraffic for D on optimal pathTraffic for D on optimal path
DD
Aggregation!Aggregation!
© M. Baldi: see page 2MPLS - 35
Traditional IP routingTraditional IP routing
DD
Traffic for D on optimal pathTraffic for D on optimal path
4 overloaded links4 overloaded linksConConggestion!estion!
© M. Baldi: see page 2MPLS - 36
Traditional IP routingTraditional IP routingTraffic for D on optimal pathTraffic for D on optimal path
4 overloaded links4 overloaded linksUnderUnderutilizationutilization!!
9 underutilized links9 underutilized links
DD
© M. Baldi: see page 2MPLS - 37
DD
Traffic EngineeringTraffic Engineering
Allows traffic distributionAllows traffic distribution
© M. Baldi: see page 2MPLS - 38
Traffic EngineeringTraffic Engineering
DD
No No congeconge--stionstion
Uniform Uniform useuse
© M. Baldi: see page 2MPLS - 39
Can you do it with traditional IP routing?Can you do it with traditional IP routing? Traffic for D on
optimal pathTraffic for D on optimal path
4 overloaded links4 overloaded links
9 underutilized links9 underutilized links
DD
© M. Baldi: see page 2MPLS - 40
It is necessary to choose paths according to loadIt is necessary to choose paths according to load
Traffic for D on optimal pathTraffic for D on optimal path
overloaded linksoverloaded links
underutilized linksunderutilized linksDD
© M. Baldi: see page 2MPLS - 41
In such way, unloaded links are loadedand viceversa ...
In such way, unloaded links are loadedand viceversa ...
Traffic for D on optimal pathTraffic for D on optimal path
overloaded linksoverloaded links
underutilized linksunderutilized links
DD
© M. Baldi: see page 2MPLS - 42
... and routing tables change ...... and routing tables change ... Traffic for D on
optimal pathTraffic for D on optimal path
overloaded linksoverloaded links
underutilized linksunderutilized links
DD
© M. Baldi: see page 2MPLS - 43
…so does the link load...…so does the link load...Traffic for D on optimal pathTraffic for D on optimal path
overloaded linksoverloaded links
underutilized linksunderutilized links
DD
© M. Baldi: see page 2MPLS - 44
... and the paths change again!!!... and the paths change again!!! Traffic for D on
optimal pathTraffic for D on optimal path
overloaded linksoverloaded links
underutilized linksunderutilized links
DD
Instability!Instability!
© M. Baldi: see page 2MPLS - 45
Traffic Engineering with MPLSTraffic Engineering with MPLS
DD
© M. Baldi: see page 2MPLS - 46
ATM has so far been used for traffic engineering on IP networks
Two control plans
Routers are ATM-unaware
Great number of adjacencies
Limitated scalability
Traffic Engineering without MPLSTraffic Engineering without MPLS
© M. Baldi: see page 2MPLS - 47
Only one control plan operating on physical topology
Simpler
Greater scalability
MPLS is IP-awareMPLS MPLS isis IPIP--awareaware
Traffic Engineering with MPLSTraffic Engineering with MPLS
© M. Baldi: see page 2MPLS - 48
MPλS (MPLambdaS)
MPLS control plans in optical networks
GMPLS (Generalized MPLS)
MPLS control plane in any network
Packet, circuit, optics, etc…
MPLS extensionsMPLS extensions
© M. Baldi: see page 2MPLS - 49
Adding CoS and QoS
Explicit support is required in LSR data plan and control
plan
Explicit support is required Explicit support is required in LSR data plan and control in LSR data plan and control
planplan
Resources and service modes may be associated to a FEC at
LSP setup
© M. Baldi: see page 2MPLS - 50
Class of service (CoS)
Relative priority among different FECs
It does offer absolute guaranties
Support of DiffServ model
Per-hop behavior
EF (expedite forwarding), AF (assured forwarding)
Traffic engineering for class
DS-aware traffic engineering
© M. Baldi: see page 2MPLS - 51
Quality of service (QoS)
Specific guaranties on
Bandwidth
Delay
Burst size
© M. Baldi: see page 2MPLS - 52
Advantages of QoS in MPLS
Unified network supporting all types of services
(marketing message)
Support of QoS and real-time services on IP (e.g., voice) is not ready
Alot of multi-service networks now have a paradigm “Ships-in-the-night”
ATM protocols are ATM typical services
MPLS control plan for IP services
© M. Baldi: see page 2MPLS - 53
Header Layer 2 IP packetLabel 3
MPLS Domain 3
Label 2
MPLS Domain 2
Label 1
MPLS Domain 1
Label Stackhierarchy and scalability
• Routing table reduction
• Forwarding table reduction
• Routing table reduction
• Forwarding table reduction
© M. Baldi: see page 2MPLS - 54
MPLS and scalability
MPLS labels introduce hierarchy
Various hierarchical levels, as needed for the necessary scalability
Routing tables of transit routers do not have to be comprehensive
LSP between edge routers
Simpler and faster exact match of labels rather than longest prefix matching
© M. Baldi: see page 2MPLS - 55
VPN: Virtual Private Network
Services similar to those of a private network, but provided on a public
infrastructure (IP)
Privacy and security
Overlapping addressing spaces (private)
Non-unique addresses
Class of Service (CoS) and Quality of Service (QoS)
© M. Baldi: see page 2MPLS - 56
VPN based on MPLS
The labels “hide” IP addresses of users on the public network
MPLS allows a scalable solution for VPN services
Other approaches require explicit setting (manual) of tunnels between each pair of websites
Number of VPNs
Number of VPN members
Service flexibility (thanks to FEC)
© 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.