710 likes | 946 Views
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). Outline. Overview Label Encapsulations Label Distribution Protocols
E N D
CS 520 – Fall 2004 - Lecture 15MPLS and its Applications(with modifications for CS 520) Philip MatthewsNortel NetworksApril 2000 (Material prepared byDr. Bilel Jamoussi and Peter Ashwood-Smith)
Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint-Based Routing • MPLS and VPNs • Network Survivability • Summary
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
LANE#1 TURN RIGHT USE LANE#2 “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 LANE#2
Label Switched Path (LSP) #1 RIGHT #2 #1 RIGHT #2 #2 LEFT #1 #2 LEFT #1
What is a “LABEL”?A property that uniquely identifies a flowon 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.
#3 IP #7 #99 #9 #4072 IP Label Switched Path #3 Right #7 #7 LEFT #99 #99 RIGHT #9 #9 LEFT #4072
IP IP Another context: An Optical Label Switched Path – “labels” are colors of light RED RIGHT BLUE RED BLUE BLUE LEFT WHITE WHITE RIGHT ORANGE WHITE ORANGE ORANGE LEFT RED RED
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.
IP #L1 IP #L2 IP #L3 ROUTE AT EDGE, SWITCH IN CORE IP IP IP Forwarding IP Forwarding LABEL SWITCHING
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
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?
IP IP IP IP IP DA DA DA DA DA IP #L1 IP #L2 IP #L3 MPLS: Flexible Forwarding IP: Packets are forwarded based on Destination Address (DA). We can call this “destination based routing”. • 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 LSP to IP LABEL SWITCHING
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
IP MPLS+IP ATM BEST OF BOTH WORLDS CIRCUITSWITCHING PACKETForwarding HYBRID • MPLS + IP forms a middle ground that combines the best of IP and the best of circuit switching technologies.
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
IP #L1 IP #L2 IP #L3 LER’s and LSR’s IP IP IP to LSP LSP to IP LABEL SWITCHING LER LSR’s LER
IP1 IP1 IP1 IP2 IP1 IP2 IP1 IP2 #L1 #L1 #L2 #L3 #L3 #L2 IP2 IP2 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 Packets are destined for different address prefixes, but can be mapped to common path
Label Switched Path (Two Types) #427 #216 #819 #77 #18 #963 #14 #612 #462 #311 #99 #5 • Two types of Label Switched Paths: • Hop by hop (“Vanilla” LDP) • Explicit Routing (LDP+”ER”)
LABEL SWITCHED PATH (vanilla) #14 #311 #216 #99 #311 #963 #311 #963 #14 #612 #462 #311 #99 #5 • - 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).
STANDARD IP 47.1 1 2 1 3 2 1 47.2 3 2 Network 47.3 • Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.
IP 47.1.1.1 STANDARD IP 47.1 1 IP 47.1.1.1 2 IP 47.1.1.1 1 3 2 IP 47.1.1.1 1 47.2 3 47.3 2
IP 47.1.1.1 IP 47.1.1.1 Label Switched Path (LSP) 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
Request: 47.1 Request: 47.1 Mapping: 50 Mapping: 40 MPLS Label Distribution 1 47.1 3 2 3 1 1 2 47.3 3 47.2 2
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?
EXPLICITLY ROUTED OR ER-LSP Route={A,B,C} #972 #14 #216 #14 #972 #462 B C A - ER-LSP follows the route that source chooses. In other words, the control message to establish the LSP (label request) is source routed.
This entry gives the longest prefix match. IP 47.1.1.1 IP 47.1.1.1 Explicitly Routing LSP that does not follow the standard IP path. Explicitly Routing LSP that does not follow the standard IP path. EXPLICITLY ROUTED LSP ER-LSP 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2
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)
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.
Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary
WDM Ethernet Upper Layer Consistency Across Lower Layers GigEthernet Optical Cross Connect (OXC) Frame Relay ATM • 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
4 Octets Label Stack Entry Format TTL Label Exp. S 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 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) • 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)
Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint-Based Routing • MPLS and VPNs • Network Survivability • Summary
Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP
Label Information Base: Label-In FEC Label-Out XX 47.0.0.0/8 17 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 3: LSR inserts label value into forwarding base Step 1: LSR creates binding between FEC and label value Label Distribution Protocol (LDP) - Purpose Label distribution ensures that adjacent routers have a common view of bindings of FEC’s to labels Routing Table: Addr-prefix Next Hop 47.0.0.0/8 LSR3 Routing Table: Addr-prefix Next Hop 47.0.0.0/8 LSR2 LSR1 LSR3 LSR2 IP Packet 47.80.55.3 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.
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?
Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP
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
Constraint Based Routing using LDP (CR-LDP) • 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.
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.
Preemption A.K.A. Bumping Route={A,B,C} This LSP must be preempted. Now this one can proceed. #216 #14 #972 #462 B C A
Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP
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.
Outline • Overview • Label Encapsulations • Label Distribution Protocols • Constraint Based Routing • MPLS and VPNs • Network Survivability • Summary
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.
HOP-BY-HOP (A.K.A Vanilla) LDP #216 #963 #14 #612 #462 #311 #99 #5 - 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.
Label Switched Path (Two Types) #427 #216 #819 #77 #18 #963 #14 #612 #462 #311 #99 #5 • Two types of Label Switched Paths: • Hop by hop (“Vanilla” LDP) • Explicit Routing (LDP+”ER”)
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)
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
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?