CS 520 – Fall 2004 - Lecture 15 MPLS and its Applications (with modifications for CS 520) Philip Matthews Nortel Networks April 2000 (Material prepared by Dr. Bilel Jamoussi and Peter Ashwood-Smith) 1 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint-Based Routing • MPLS and VPNs • Network Survivability • Summary 2 What is MPLS? • MPLS is an IETF Standardized mechanism for controlling packet routing. • MPLS Framework and Architecture — Defines the scope, the various components and their interactions • Encapsulations — Labels are used at the data plane to make forwarding decisions • Signaling Protocols — Distribute Labels to establish Label Switched Paths • Routing Protocol Traffic Engineering Extensions — Distribute Bandwidth and other link attributes to make routing decisions 3 “Label Substitution” what is it? Have a friend go to B ahead of you. At every road they reserve a lane just for you. At every intersection they post a big sign that says for a given lane which way to turn and what new lane to take. LANE#1 TURN RIGHT USE LANE#2 LANE#1 LANE#2 4 Label Switched Path (LSP) #1 RIGHT #2 #2 LEFT #1 #1 RIGHT #2 #2 LEFT #1 5 What is a “LABEL”? A property that uniquely identifies a flow on a logical or physical interface Labels may be platform wide unique or more commonly interface wide unique. But are not globally unique, so label values can be reused in many places. 6 Label Switched Path #3 Right #7 IP #3 #7 #7 LEFT #99 #99 RIGHT #9 #99 #9 #9 LEFT #4072 #4072 IP 7 Another context: An Optical Label Switched Path – “labels” are colors of light RED RIGHT BLUE IP RED BLUE BLUE LEFT WHITE WHITE RIGHT ORANGE WHITE ORANGE ORANGE LEFT RED RED IP 8 MPLS Labels • Hop-by-hop or source routing can be used to establish labels — Hop-by-hop can use OSPF, RIP, etc. to define labels — Source routing lets sources define routes and their labels • Multiple levels of labels (stacks of labels within labels). — Allows groups of flows to carry the same label for part of a route. 9 ROUTE AT EDGE, SWITCH IN CORE IP IP IP Forwarding #L1 IP #L2 LABEL SWITCHING IP #L3 IP IP Forwarding 10 Routers Do Both Routing and Switching • Routing — Deciding the next hop based on the destination address. — A Layer 3 (L3) function. • Switching — Moving a packet from an input port to an output port and out. — A layer 2 function. INPUT PORTS OUTPUT PORTS 11 MPLS Turns Routing into Switching • So we can avoid performing the layer 3 function. — Use labels to decide next hops. • What benefit does this provide? • In what situations would this benefit not be very significant? 12 MPLS: Flexible Forwarding IP: Packets are forwarded based on Destination Address (DA). We can call this “destination based routing”. IP DA IP DA IP DA IP DA IP DA MPLS: • Map packets to LSP based on (Source Address, Destination Address, protocol, port, DSCP, interface, etc.) • Forward packets based on the Label IP IP IP to LSP #L1 IP #L2 LABEL SWITCHING IP #L3 IP LSP to IP 13 MPLS-based Solutions • Enable QoS in IP Networks — Support Diffserv using connection-oriented QoS — “Connections” can be flows or large aggregates • IP Traffic Engineering — Use constraint-based routing to adapt to latest network loading and QoS performance • Virtual Private Networks — Use controllable tunneling mechanisms • L2/L3 Integration — Integrate with L1 and L2 technologies like Optical Cross Connects (OXC’s) and ATM • Resilient Network Design — Automatic Failover and Backup 14 BEST OF BOTH WORLDS PACKET Forwarding IP HYBRID MPLS +IP CIRCUIT SWITCHING ATM • MPLS + IP forms a middle ground that combines the best of IP and the best of circuit switching technologies. 15 MPLS Terminology • LDP: Label Distribution Protocol • LSP: Label Switched Path • LER: Label Edge Router (edge of an area that supports MPLS) • LSR: Label Switching Router (inside an area that supports MPLS) • FEC: Forwarding Equivalence Class 16 LER’s and LSR’s IP IP IP to LSP LER #L1 IP #L2 LABEL SWITCHING LSR’s IP #L3 IP LSP to IP LER 17 Forwarding Equivalence Classes • FEC = “A subset of packets that are all treated (forwarded) the same way by a router” • The concept of FECs provides for a great deal of flexibility and scalability. Traffic can be aggregated or differentiated in many ways • In conventional routing, a packet is assigned to an FEC at each hop (i.e. L3 look-up), in MPLS it is only done once at the network ingress. LSR LSR LER LER LSP IP1 IP1 IP1 #L1 IP1 #L2 IP1 #L3 IP2 #L1 IP2 #L2 IP2 #L3 IP2 IP2 Packets are destined for different address prefixes, but can be mapped to common path 18 Label Switched Path (Two Types) #427 #216 #819 #77 #18 #963 #14 #612 #462 #99 #5 #311 Two types of Label Switched Paths: • Hop by hop (“Vanilla” LDP) • Explicit Routing (LDP+”ER”) 19 LABEL SWITCHED PATH (vanilla) #216 #14 #311 #99 #311 #963 #311 #963 #14 #612 #5 #462 #99 #311 - A Vanilla LSP creates MPLS paths for standard IP routing (from IP routing tables). - A Vanilla LSP is actually part of a tree from every source to that destination (unidirectional). 20 STANDARD IP Dest 47.1 47.2 47.3 Dest 47.1 47.2 47.3 Out 1 2 3 1 47.1 1 Dest 47.1 47.2 47.3 Out 1 2 3 2 3 2 1 47.2 3 Network 47.3 Out 1 2 3 2 • Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc. 21 STANDARD IP Dest 47.1 47.2 47.3 Dest 47.1 47.2 47.3 Out 1 2 3 1 47.1 1 Dest 47.1 47.2 47.3 Out 1 2 3 IP 47.1.1.1 2 IP 47.1.1.1 3 Out 1 2 3 2 IP 47.1.1.1 1 47.2 47.3 3 2 IP 47.1.1.1 22 Label Switched Path (LSP) Intf Label Dest Intf Label In In Out Out 3 50 47.1 1 40 Intf Dest Intf Label In Out Out 3 47.1 1 50 3 1 47.3 3 Label Dest Intf In Out 40 47.1 1 IP 47.1.1.1 1 47.1 3 1 Intf In 3 2 2 47.2 2 IP 47.1.1.1 23 MPLS Label Distribution Intf Label Dest Intf Label In In Out Out 3 50 47.1 1 40 Intf In 3 Label Dest Intf In Out 40 47.1 1 1 Request: 47.1 Intf Dest Intf Label In Out Out 3 47.1 1 50 47.3 3 3 2 3 1 47.1 1 2 Mapping: 40 47.2 2 24 Benefits and Limitations • Why might the MPLS approach be better than normal IP forwarding that does not use MPLS? — Remember, all packets still travel the same paths. • What else might we be able to do with MPLS that could be even more powerful if we went beyond following normal IP Routing? 25 Route= {A,B,C} EXPLICITLY ROUTED OR ER-LSP #14 #972 #216 B #14 A C #972 #462 - ER-LSP follows the route that source chooses. In other words, the control message to establish the LSP (label request) is source routed. 26 EXPLICITLY ROUTED LSP ER-LSP This entry gives the longest prefix match. Intf Label Dest Intf Label In In Out Out 3 50 47.1 1 40 Intf Dest In 3 47.1.1 3 47.1 Intf Out 2 1 Label Out 33 50 Intf In 3 Label Dest Intf In Out 40 47.1 1 IP 47.1.1.1 1 47.1 3 3 2 1 1 47.3 3 2 47.2 2 IP 47.1.1.1 Explicitly Routing LSP that does not follow the standard IP path. 27 ER LSP - Advantages • Operator has routing flexibility — Can establish LSP’s based on policy, QoS, etc. — Can have pre-established LSP’s that can be used in case of failures. • Can use routes other than the shortest path • Can compute routes based on dynamic constraints (available bandwidth, delay, etc.) in exactly the same manner as ATM based on a distributed topology database. (traffic engineering) 28 ER LSP - Discord! • Two signaling options are proposed in the standards: CR-LDP and RSVP extensions: – CR-LDP = Label Distribution Protocol (LDP) + Explicit Routing – RSVP-TE = Traditional Resource Reservation Protocol (RSVP) + Explicit Route + Scalability Extensions • RSVP was established several years ago to be able to reserve resources along a path. — To ensure QoS by making sure each flow had enough resources. — Had significant scalability problems. • ITU has decided on LDP/CR-LDP for public networks. 29 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary 30 WDM Upper Layer Consistency Across Lower Layers Ethernet GigEthernet Optical Cross Connect (OXC) ATM Frame Relay • MPLS is “multiprotocol” below the network layer (for the link layer and below) • MPLS can be used with all of the above technologies • Provides for consistent operations, engineering across multiple technologies • Allows operators to leverage existing infrastructure • Co-existence with other protocols is provided for 31 MPLS Encapsulation - PPP & LAN Data Links MPLS ‘Shim’ Headers (1-n) n ••• 1 Network Layer Header and Packet (eg. IP) Layer 2 Header (eg. PPP, 802.3) 4 Octets Label Stack Entry Format Label Exp. S TTL Label: Label Value, 20 bits (Values 0 through 16 are reserved) Exp.: Experimental, 3 bits (was Class of Service) S: Bottom of Stack, 1 bit (1 = last entry in label stack) TTL: Time to Live, 8 bits • Network layer must be inferable from value of bottom label of the stack MPLS on LANs uses a ‘Shim’ Header Inserted Between Layer 2 and Layer 3 Headers (other technologies use different approaches) 32 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint-Based Routing • MPLS and VPNs • Network Survivability • Summary 33 Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP 34 Label Distribution Protocol (LDP) - Purpose Label distribution ensures that adjacent routers have a common view of bindings of FEC’s to labels Routing Table: Routing Table: Addr-prefix 47.0.0.0/8 Addr-prefix 47.0.0.0/8 Next Hop LSR2 Next Hop LSR3 LSR1 IP Packet LSR3 LSR2 47.80.55.3 Label Information Base: Label-In FEC Label-Out XX 47.0.0.0/8 17 Step 3: LSR inserts label value into forwarding base For 47.0.0.0/8 use label ‘17’ Label Information Base: Label-In FEC Label-Out 17 47.0.0.0/8 XX Step 2: LSR communicates binding to adjacent LSR Step 1: LSR creates binding between FEC and label value Common understanding of which FEC the label is referring to! Label distribution can either piggyback on top of an existing routing protocol, or a dedicated label distribution protocol (LDP) can be created. 35 Labels are Downstream Assigned • Note that label assignments are decided at the downstream node and communicated to the upstream node. • Why does it need to be done this way? • What flexibility does this approach provide? 36 Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP 37 Traffic Engineering Requirements Constraint-Based Routing is one method of Traffic Engineering. Traffic Engineering seeks to engineer the best use of capacity. RFC 2702: • Strict & Loose ER • Specification of QoS • Specification of Traffic Parameters • Route Pinning • Preemption • Failure Recovery 38 Constraint Based Routing using LDP (CRLDP) • Built on existing LDP messages over TCP. • Defines an Explicit Route: — Detailed path that can traverse any links supporting CR-LDP. • Defines a set of constraints for LSP computation and admission: — Expectation and Allocation of resources: – Peak burst & rate, Committed burst & rate, Excess burst, Frequency, Weight. — Preemption Level: – Setup and Holding Priority with respect to other LSPs. — Resource Class: – Color of traffic inclusion, exclusion rules for links. 39 CR-LDP Preemption • Preemption may or may not be a good idea in a particular context – recall our discussion in previous lectures. • A CR-LSP carries an LSP priority. This priority can be used to allow new LSPs to bump existing LSPs of lower priority in order to steal their resources. • This is especially useful during times of failure and allows you to rank the LSPs such that the most important obtain resources before less important LSPs. 40 Preemption A.K.A. Bumping This LSP must be preempted. Now this one can proceed. Route= {A,B,C} #216 B #14 A C #972 #462 41 Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP 42 ER-LSP setup using RSVP-TE • TE (Traffic Engineering) extensions to RSVP • Built on RSVP messages over IP. — In RSVP, a source requests resources along a path. — Then the source regularly sends refresh messages to keep the reservations active. • Extensions to RSVP: — — — — — Explicit Route Object Label Request Label Object Session Attribute Record Route Object • Defines a set of constraints for LSP computation and admission: — Expectation and Allocation of resources: Uses Inserv-style reservations — Preemption Level: Setup and Holding Priority with respect to other LSPs. 43 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary 44 IP Follows a Tree to the Destination Dest=a.b.c.d a.b.c.d Dest=a.b.c.d Dest=a.b.c.d - IP will over-utilize best paths and under-utilize not-so-good paths. 45 HOP-BY-HOP (A.K.A Vanilla) LDP #216 #963 #14 #612 #5 #462 #99 #311 - Ultra fast, simple forwarding a.k.a switching - Follows same route as normal IP datapath - So like IP, LDP will over-utilize best paths and under-utilize less good paths. 46 Label Switched Path (Two Types) #427 #216 #819 #77 #18 #963 #14 #612 #462 #99 #5 #311 Two types of Label Switched Paths: • Hop by hop (“Vanilla” LDP) • Explicit Routing (LDP+”ER”) 47 CR-LDP CR = “Constraint” based “Routing” Example: USE: (links with sufficient resources) AND (links of type “someColor”) AND (links that have delay less than 200 ms) & & = 48 Traffic Engineering B C Demand A D Traffic engineering is the process of mapping traffic demand onto a network Network Topology Purpose of traffic engineering: • Maximize utilization of links and nodes throughout the network • Engineer links to achieve required delay, grade-of-service • Spread the network traffic across network links to minimize impact of failure • Ensure available spare link capacity for re-routing traffic on failure • Meet policy requirements imposed by the network operator Traffic engineering is key to optimizing cost/performance 49 MPLS Traffic Engineering Methods • MPLS can use the source routing capability to steer traffic on desired paths • An operator may manually configure LSRs along the desired paths. • What are limitations of manual configuration? 50 WHEN SHOULD TE BE USED? • When traffic is being thrown away but you have other viable routes that are unused or underutilized. • When it is not acceptable to simply rank packets and throw away the least important traffic first. • Don’t use TE if it is not necessary. In fact don’t use MPLS if vanilla IP is working for you. Use LDP, CR-LDP and RSVP-TE if/when they are needed. 51 Reactive traffic engineering Wait till you have a problem and then patch around it. 1- Identify a flow to move Q: how? 2- Establish an LSP on some other route Q: what route? 52 How to identify a flow to move? Good Statistics! A) move the flow that has packets being discarded. For this you need to have stats that show {src, dest, protocol} that are being thrown away. (note this is TE of least important traffic) B) move some other high priority user on the link somewhere else. For this you need to have stats that show {src, dest, protocol} of high users. (note, this is TE of more important traffic) 53 What route should be used for an LSP? An non-shortest path! A) Explicitly route without the help of constraint based routing. B) Use constraint “not this link” so that MPLS can pick all the other links dynamically but is not allowed to pick the congested one. Neither of these approaches will result in shortest paths and both are hard to administer as things scale up. 54 Pro-active traffic engineering (plan ahead) S1 S2 S3 D S4 S5 S6 1- Start with rough idea on {Si, D} B/W requirements. 2- Establish constraint based tunnels {Si -> D} 3- repeat forever at regular planning intervals (days, weeks, months) 3a- Remeasure {Si -> D} B/W utilization. 3b- Adjust reservations on {Si ->D} to be closer to actual utilization using hot swaps. 55 MPLS Traffic engineering •Imperative to be able to monitor flow rates to the granularity of {source, dest, protocol} . •Try to adjust the reservations periodically to reflect changes in utilization. •MPLS aims to do a really good job of placing routes given the reservations are accurate. •MPLS allows dynamic changes to reservations so they can slowly converge to reality over time. 56 MPLS Traffic engineering interactions with vanilla IP. •There are non trivial interaction issues to deal with when some of the traffic is traffic engineered (MPLS) and the rest (vanilla IP) is not. •What problems might occur? 57 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary 58 MPLS Provides Benefits for Establishing Virtual Private Networks • Virtual Private Network (VPN) — Connects two or more separate sites over the Internet — Allows them to function as if they were a single, private network. — Key Features: Security, control over performance, management ability. • Use of MPLS for VPN’s — MPLS can set up one or more LSP’s between sites. — Organizations can choose how they use the LSP’s. — Can view the LSP’s as virtual “network links”. • Will study VPN’s more in a later lecture. 59 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary 60 The need for MPLS protection • MPLS-based services have been growing — VPN’s — Migration of ATM and Frame Relay onto MPLS — Traffic Engineering • MPLS-based services are more demanding of resiliency and reliability — Because MPLS promises more reliability. — That’s one reason why customers would use MPLS-based services. 61 The need for MPLS protection • Layer 3 recovery is too slow. — OSPF, RIP, etc. require a redistribution of updated link status information in response to a fault. — Then routers must recompute their routes. — Takes on the order of seconds. — Can have looping and lost packets in the meantime. • Other technologies are very fast. — SONET can establish an alternate route around a failure within 50 milliseconds. — By having active backup resources immediately available. • It would be good to have millisecond failovers with MPLS. 62 MPLS protection approaches • Headend reroute — Recompute LSP’s to find a new LSP after a failure. — Initiated by the source or LER. — But this is just has slow as using OSPF or RIP – not good. • Pre-signaled standby LSP’s — Backup LSP is signaled in advance from primary ingress to egress. — It does not share any links or LSR’s with the primary path. — Called “link and node disjoint”. — Has millisecond failover, around 500 milliseconds. — These backup LSP’s need to have resources reserved for them, but these resources are not used very often. — Note: But SONET also has a lot of unused resources just on standby for failures. 63 Pre-signaled Standby LSP’s • Planning occurs before failure — Then LSP ingress learns of the failure — Moves traffic to use standby LSP • Ingress must first know about the failure — The farther away from the failure, the longer it will take to start the reroute. 64 MPLS protection approaches • MPLS Fast Reroute — During the establishment of a primary LSP, a protected path for each possible link or node failure is pre-signaled. — Even faster failover, around 50 milliseconds. — But many more LSP’s are established, with resources reserved to them — Much more to manage. • Midpoint LSR’s could make their own LSP’s to the egress. — To go around the immediate downstream link or node that could fail. — LSP’s are established using the same criteria used for the primary LSP. — Since the PLR (Protection Label-Switched Router) is immediately connected to the failed link, it will know about the failure very quickly from the hardware. — Then the backup LSP can be used. 65 MPLS Fast Reroute — A merge node joins traffic back onto the primary LSP. 66 Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary 67 Summary of Motivations for MPLS • Simplified forwarding based on an exact match of a fixed length label — Initial driver for MPLS was based on the existence of cheap, fast ATM switches • Separation of routing and forwarding in IP networks — Facilitates evolution of routing techniques by fixing the forwarding method — New routing functionality can be deployed without changing the forwarding techniques of every router in the Internet • Facilitates the integration of ATM and IP — Allows carriers to leverage their large investment of ATM equipment 68 Summary of Motivations for MPLS • Enables the use of explicit routing/source routing in IP networks — Can easily be used for such things as traffic management, QoS routing • Promotes the partitioning of functionality within the network — Move detailed processing of packets to the edge; restrict core to simple packet forwarding — Assists in maintaining scalability of IP protocols in large networks • MPLS can enable fast restoration from failures. 69 Summary of Motivations for MPLS • Applicability to both cell and packet link-layers — Can be deployed on both cell (eg. ATM) and packet (eg. FR, Ethernet) media — Common management and techniques simplifies engineering • But MPLS is much more complex than traditional IP forwarding — Routers need to be able to forward based on labels (in addition to their normal functions). — LSP’s must be signalled and maintained. — Some ISP’s have said they are not using MPLS and do not plan to. – This will continue to be true if overprovisioning remains effective. – But MPLS is more seriously being considered to carry legacy ATM and Frame Relay traffic (connection-oriented traffic). – And some of these ISP’s are realizing that their customers want MPLS to provide more assurance about their IP-based services. 70 Summary • MPLS is an important emerging technology. • MPLS/LDP/CR-LDP have been recommended by the ITU for IP transport on ATM in public networks. • Basic functionality (Encapsulation and basic Label Distribution) has been defined by the IETF. • Traffic Engineering based on MPLS/CR-LDP is being developed (protocols and research). 71