1 / 33

ECE544: Communication Networks-II Spring 2009

ECE544: Communication Networks-II Spring 2009. H. Liu Lecture 9 (MPLS). Includes teaching materials from D. Saha. MPLS: Multi-protocol Label Switching. Introduction History and motivation MPLS mechanisms MPLS protocols RSVP-TE/CR-LDP MPLS applications

grazia
Download Presentation

ECE544: Communication Networks-II Spring 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE544: Communication Networks-IISpring 2009 H. Liu Lecture 9 (MPLS) Includes teaching materials fromD. Saha

  2. MPLS: Multi-protocol Label Switching • Introduction • History and motivation • MPLS mechanisms • MPLS protocols • RSVP-TE/CR-LDP • MPLS applications • VPNSs, traffic engineering, protection & restoration

  3. Multiprotocol Lable Switching (MPLS) • MPLS: Combine some properties of virtual circuits with flexibility & robustness of datagrams • Relies on IP addresses and IP routing protocols to set up the path • MPLS-enabled routers forwards packets by examining a short, fixed-length lables • Labels have local scope, similar to VC • Layer 2.5 protocol • Support different link layer technologies (ATM, Ethernet, PPP)

  4. WHY MPLS ? • Ultra fast forwarding • Use switching instead of routing • IP Traffic Engineering • Constraint-based routing • Virtual Private Networks • Controllable tunneling mechanism • Protection and restoration

  5. IP Forwarding Table 3 47.1.*.* 1 2 1 3 2 1 47.2.*.* 3 47.3.*.* 2

  6. Hop-by-Hop IP Forwarding IP 47.1.1.1 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

  7. Routing Lookup Control CPU 2 8 2 6 9.2.1.* 9.2.*.* 9.*.*.* 9.1.1.2 14.1.2.1 14.1.2.1 71.1.2.3 113.1.2.1 Switchfabric I/F I/F 10 Gbps 10 Gbps 20M packets/sec Interface Prefix Next Hop • Longest prefix match is (was) expensive. • Label matching is much less expensive. 4 9.1.*.* 67.1.2.2 8 9.1.1.* 113.1.2.1 6 9.1.1.1 71.1.2.3 6 9.2.1.1 71.1.2.3

  8. MPLS Label Label GFC VPI VCI PTI HEC DATA CLP IP Payload Shim Header Ether Trailer IP Header Ethernet Header Label (20 bits) Exp (3 bits) TTL(8 bits) Stack (1 bit) • ATM-encapsulated packets: VPI and VCI => label • Frame-based packets (Ethernet, PPP): “Shim” header • Label: local scope as VCI • Exp: to identify the class of service (ToS) • Stack bit: indicate whether to encapsulate another shim label header • MPLS encapsulation is specified over various media types. For example, top labels may use existing ATM format, lower label(s) use a new “shim” label header • TTL: time-to-live counter. Special processing rules are used to mimic IP TTL semantics.

  9. MPLS Labels Request: 47.1 Request: 47.1 Mapping: 0.50 Mapping: 0.40 1 47.1 3 3 2 1 1 2 47.3 3 47.2 2

  10. Label Switched Path IP 47.1.1.1 IP 47.1.1.1 1 47.1 3 2 1 3 2 1 47.3 3 47.2 2 If no label mapping, pass up to L3 and IP routing is used to forward packets

  11. Forwarding Equivalence Classes (FEC) LER LSR LSR LER LSP IP1 IP1 IP1 IP2 IP1 IP1 IP2 IP2 #L3 #L2 #L2 #L3 #L1 #L1 IP2 IP2 • FEC = “A subset of packets that are all treated the same way by a router” • a MPLS label is associated with a FEC, FEC <-> label binding • The concept of FECs provides for a great deal of flexibility and scalability • In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 look-up) • in MPLS it is only done once at the network ingress • At the ingressof a MPLS network, a packet is classified and assigned a FEC/label • Packet forwarding is done according to the label in the MPLS network Packets are destined for different address prefixes, but can be mapped to the same FEC and follows a common path from the ingress to the egress

  12. MPLS Terminology • LDP: Label Distribution Protocol • LSP: Label Switched Path • FEC: Forwarding Equivalence Class • LSR: Label Switching Router • LER: Label Edge Router

  13. Label Distribution Methods Downstream Label Distribution Downstream-on-Demand Label Distribution LSR2 LSR1 LSR2 LSR1 Label-FEC Binding Request for Binding • LSR2 discovers a ‘next hop’ for a particular FEC • LSR2 generates a label for the FEC and communicates the binding to LSR1 • LSR1 inserts the binding into its forwarding tables • If LSR2 is the next hop for the FEC, LSR1 can use that label knowing that its meaning is understood Label-FEC Binding • LSR1 recognizes LSR2 as its next-hop for an FEC • A request is made to LSR2 for a binding between the FEC and a label • If LSR2 recognizes the FEC and has a next hop for it, it creates a binding and replies to LSR1 • Both LSRs then have a common understanding Both methods are supported, even in the same network at the same time

  14. Distribution Control Next Hop (for FEC) Incoming Label Outgoing Label Independent LSP Control Ordered LSP Control • Label-FEC binding is communicated to peers if: • - LSR is the ‘egress’ LSR to particular FEC • - label binding has been received from upstream LSR • LSP formation ‘flows’ from egress to ingress • Each LSR makes independent decision on when to generate labels and communicate them to upstream peers • Communicate label-FEC binding to peers once next-hop has been recognized • LSP is formed as incoming and outgoing labels are spliced together Definition • Labels can be exchanged with less delay • Does not depend on availability of egress node • Granularity may not be consistent across the nodes at the start • May require separate loop detection/mitigation method • Requires more delay before packets can be forwarded along the LSP • Depends on availability of egress node • Mechanism for consistent granularity and freedom from loops • Used for explicit routing and multicast Comparison Both methods are supported in the standard and can be fully interoperable

  15. Label Retention Methods Conservative Label Retention Liberal Label Retention LSR2 LSR2 Label Bindings for LSR4 Label Bindings for LSR4 LSR1 LSR1 LSR3 LSR3 LSR4’s Label LSR3’s Label LSR2’s Label LSR4’s Label LSR3’s Label LSR2’s Label LSR4 LSR4 Valid Next Hop Valid Next Hop • LSR maintains bindings received from LSRs other than the valid next hop • If the next-hop changes, it may begin using these bindings immediately • May allow more rapid adaptation to routing changes • Requires an LSR to maintain many more labels • LSR only maintains bindings received from valid next hop • If the next-hop changes, binding must be requested from new next hop • Restricts adaptation to changes in routing • Fewer labels must be maintained by LSR Label Retention method trades off between label capacity and speed of adaptation to routing changes

  16. Label Distribution Protocols • Label Distribution Protocol (LDP) • Constraint-based Routing LDP (CR-LDP) • Extensions to RSVP • Extensions to BGP

  17. LDP:Label Distribution Protocol Label distribution ensures that adjacent routers have a common view of FEC <-> label bindings 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 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 Common understanding of which FEC the label is referring to!

  18. LDP: Basic Characteristics • Provides LSR discovery mechanisms to enable LSR peers to find each other and establish communication • Defines four classes of messages • DISCOVERY: deals with finding neighboring LSRs • ADJACENCY: deals with initialization, keep alive, and shutdown of sessions • LABEL ADVERTISEMENT: deals with label binding advertisements, request, withdrawal, and release • NOTIFICATION: deals with advisory information and signal error information • Runs over TCP for reliable delivery of messages, except for discovery, which uses UDP and IP multicast • Designed to be extensible, using messages specified as TLVs (type, value, length) encoded objects.

  19. LDP Messages • INITIALIZATION • KEEPALIVE • LABEL MAPPING • LABEL WITHDRAWAL • LABEL RELEASE • LABEL REQUEST

  20. Explicitly Routed (ER) LSP IP 47.1.1.1 IP 47.1.1.1 • Forward packets along “explicit routes”- pre-calculated routes that don’t necessarily match those that normal IP routing protocols would select. 1 47.1 3 2 1 2 3 1 47.3 3 47.2 2

  21. ER LSP - Advantages • Operator has routing flexibility • policy-based, QoS-based • Can use routes other than shortest path • Can compute routes based on constraints in exactly the same manner as ATM based on distributed topology database.(traffic engineering)

  22. ER LSP - discord! • Two signaling options proposed in the standards: CR-LDP, RSVP extensions: • CR-LDP = LDP + Explicit Route • RSVP ext = Traditional RSVP + Explicit Route +Scalability Extensions • RSVP-TE: RSVP traffic engineering • Market will probably have to resolve it • Survival of the fittest not such a bad thing.

  23. MPLS and QoS in IP Network • Integrated Services • Assign a FEC/label to a flow • RSVP was extended to RSVP-TE to support traffic engineering • RSVP was further extend to add MPLS support for label distribution • Differentiated Services • LSRs don’t sort based on IP headers, hence DSCPs need to be mapped to EXP field in MPLS shim header • Exp field is only 3-bit wide – can support only 8 DSCPs/PHBs • Labels can be used if more than 8 PHBs need to be supported • Assign different labels to different classes • Some signaling is needed to specify the PHB • Same approach can be used for link layers which do not use Shim headers, e.g. ATM

  24. Traffic Engineering with RSVP PATH {Tspec} PATH {Tspec} PATH {Tspec} PATH {Tspec} Sender RESV{Rspec} RESV{Rspec} RESV{Rspec} RESV{Rspec} Receiver

  25. Label Distribution with RSVP-TE PATH {Tspec} PATH {Tspec} PATH {Tspec} PATH {Tspec} Sender RESV{Rspec} RESV{Rspec}{Label = 5} RESV{Rspec}{Label = 10} PATH {Tspec} RESV{Rspec}

  26. MPLS Protection • End-to-end protection • Fast node and link reroute

  27. MPLS ProtectionEnd-to-end Path Protection F Primary LSP E A D B C Backup LSP Backup and primary LSPs should be route diverse

  28. MPLS Protection: Fast Reroute Detour to avoid CD Detour to avoid AB Detour to avoid link DE LSR B LSR D LSR F LSR A LSR C LSR E Detour to avoid DE Detour to avoid BC • Detour around node or link failures • Example LSP shown traverses (A, B, C, D, E, F) • Each detour avoids • Immediate downstream node & link towards it • Except for last detour: only avoids link DE

  29. Detour Merging Detour to avoid AB Merged detour to avoid AB and BC Detour to avoid BC LSR F LSR A LSR C LSR E LSR B LSR D • Reduces state maintained • Improves resource utilization

  30. MPLS Protection Types • 1+1: Backup LSP established in advance, resources dedicated, data simultaneously sent on both primary and backup • Switchover performed only by egress LSR • Fastest, but most resource intensive • 1:1 : Same as 1+1 with the difference that data is not sent on the backup • Requires failure notification to the ingress LSR to start transmitting on backup • Notification may be send to egress also • Resources in the backup may be used by other traffic • Low priority traffic (e.g., plain IP traffic), shared by other backup paths

  31. MPLS VPN: The Problem Customer 1Site 2 Customer 1Site 1 10.2/16 Provider Network 10.1/16 10.2/16 Customer 2Site 2 10.1/16 Customer 2Site 1 Customer 1Site 3 10.3/16 Customer 2Site 3 10.3/16

  32. MPLS VPN: The Model Customer 1Site 2 Customer 1Site 1 10.2/16 Customer 1Virtual Network 10.1/16 Customer 2Site 2 10.2/16 Customer 2Virtual Network 10.1/16 Customer 2Site 1 Customer 1Site 3 10.3/16 Customer 2Site 3 10.3/16 MPLS is used to tunnel data across a network of MPLS-enabled routers

  33. MPLS VPN: The Solution Customer 1Site 2 MPLS LSP Customer 1Site 1 10.2/16 VRF 1 10.1/16 VRF 1 10.2/16 VRF 2 Customer 2Site 2 VRF 2 10.1/16 VRF 1 Customer 2Site 1 VRF 2 Customer 1Site 3 MPLS LSP 10.3/16 Customer 2Site 3 10.3/16

More Related