1 / 25

Internet Routing (COS 598A) Today: Multi-Protocol Label Switching

Internet Routing (COS 598A) Today: Multi-Protocol Label Switching. Jennifer Rexford http://www.cs.princeton.edu/~jrex/teaching/spring2005 Tuesdays/Thursdays 11:00am-12:20pm. Outline. Circuit switching Packet switching vs. circuit switching Virtual circuits MPLS Labels and label-switching

gilon
Download Presentation

Internet Routing (COS 598A) Today: Multi-Protocol Label Switching

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. Internet Routing (COS 598A)Today: Multi-Protocol Label Switching Jennifer Rexford http://www.cs.princeton.edu/~jrex/teaching/spring2005 Tuesdays/Thursdays 11:00am-12:20pm

  2. Outline • Circuit switching • Packet switching vs. circuit switching • Virtual circuits • MPLS • Labels and label-switching • Forwarding Equivalence Classes • Label distribution • MPLS applications • Feedback forms • Fill out during last 20 minutes

  3. Packet Switching vs. Circuit Switching • Packet switching • Data traffic divided into packets • Each packet contains its own header (with address) • Packets sent separately through the network • Destination reconstructs the message • Example: sending a letter through postal system • Circuit switching • Source first establishes a connection to the destination • Each router on the path may reserve bandwidth • Source ends data over the connection • No destination address, since routers know the path • Source tears down the connection when done • Example: voice conversation on telephone network

  4. Advantages of Circuit Switching • Guaranteed bandwidth • Predictable communication performance • Not “best-effort” delivery with no real guarantees • Simple abstraction • Reliable communication channel between hosts • No worries about lost or out-of-order packets • Simple forwarding • Forwarding based on time slot or frequency • No “longest prefix match” on each packet • Low per-packet overhead • Forwarding based on time slot or frequency • No IP (and TCP/UDP) header on each packet

  5. Disadvantages of Circuit Switching • Wasted bandwidth • Bursty traffic leads to idle connection during silent period • Unable to achieve gains from statistical multiplexing • Blocked connections • Connection refused when resources are not sufficient • Unable to offer “okay” service to everybody • Connection set-up delay • No communication until the connection is set up • Unable to avoid extra latency for small data transfers • Network state • Routers must store per-connection information • Unable to avoid per-connection storage and state failover

  6. Virtual Circuits • Hybrid of packet and circuit switching • Logical circuit between a source and destination • Packets from different VCs multiplex on a link • Virtual Circuit Identifier (VC ID) • Source set-up: establish path for the VC • Switch: mapping VC ID to an outgoing link • Packet: fixed length label in the header 1: 7 2: 7 1: 14 2: 8 link 7 1 link 14 2 link 8

  7. Swapping the Label at Each Hop • Problem: using VC ID along the whole path • Each virtual circuit consumes a unique ID • Starts to use up all of the ID space in the network • Label swapping • Map the VC ID to a new value at each hop • Table has old ID, next link, and new ID • Allows reuse of the IDs at different links 1: 7: 20 2: 7: 53 20: 14: 78 53: 8: 42 link 7 1 link 14 2 link 8

  8. Virtual Circuits Similar to IP Datagrams • Data divided in to packets • Sender divides the data into packets • Packet has an address (e.g., IP address or VC ID) • Store-and-forward transmission • Multiple packets may arrive at once • Need buffer space for temporary storage • Multiplexing on a link • No reservations: statistical multiplexing • Packets are interleaved without a fixed pattern • Reservations: resources for group of packets • Guarantees to get a certain number of “slots”

  9. Virtual Circuits Differ from IP Datagrams • Forwarding look-up • Virtual circuits: fixed-length connection id • IP datagrams: destination IP address • Initiating data transmission • Virtual circuits: must signal along the path • IP datagrams: just start sending packets • Router state • Virtual circuits: routers know about connections • IP datagrams: no state, easier failure recovery • Quality of service • Virtual circuits: resources and scheduling per VC • IP datagrams: difficult to provide QoS

  10. Wide Range of Quality-of-Service Models • Policies for allocating resources • Admission control: whether or not to accept the VC • Link scheduling: what order to send packets • Buffer management: which packets to drop • One extreme: best-effort service • Accept all connections (unless table is full) • Put all packets in a first-in-first-out queue • Drop any packet arriving when queue is full • Another extreme: strict bandwidth guarantees • Virtual circuit reserves bandwidth along the path • Network edge must shape/police to enforce this rate • Each link has a queue for packets from each VC • Link schedules the packets using weighted fair queuing

  11. Multi-Protocol Label Switching

  12. Multi-Protocol Label Switching • Multi-Protocol • Encapsulate a data packet • Could be IP, or some other protocol (e.g., IPX) • Put an MPLS header in front of the packet • Actually, can even build a stack of labels… • Label Switching • MPLS header includes a label • Label switching between MPLS-capable routers MPLS header IP packet

  13. Pushing Popping Swapping IP IP IP IP C A R2 R1 IP edge R4 B R3 D MPLS core Pushing, Swapping, and Popping • Pushing: add the initial “in” label • Swapping: map “in” label to “out” label • Popping: remove the “out” label

  14. Forwarding Equivalence Class (FEC) • Rule for grouping packets • Packets that should be treated the same way • Identified just once, at the edge of the network • Example FECs • Destination prefix • Longest-prefix match in forwarding table at entry point • Useful for conventional destination-based forwarding • Src/dest address, src/dest port, and protocol • Five-tuple match at entry point • Useful for fine-grain control over the traffic • Sent by a particular customer site • Incoming interface at entry point • Useful for virtual private networks A label is just a locally-significant identifier for a FEC

  15. Label Distribution Protocol • Distributing labels • Learning the mapping from FEC to label • Told by the downstream router • Example: destination-based forwarding I’m using label 43 for 12.1.1.0/24 I’m using label 10 for 12.1.1.0/24 Pick in-label 10 for 12.1.1.0/24 In: Link: Out 43: to R4: 10 R2 Map destinations in 12.1.1.0/24 to out-label 43 and link to R2 12.1.1.0/24 R1 R4 R3

  16. Supporting Explicitly-Routed Paths • Explicitly routing from ingress to egress • Set an explicit path (e.g., based on load) • Perhaps reserve resources along the path • Extend a protocol for resource reservation • Start with ReSource Reservation Protocol (RSVP) • Used for reserving resources along an IP path • Extensions for label distribution & explicit routing • Extend a protocol for distributing labels • Start with Label Distribution Protocol (LDP) • Extensions for explicit routing & reservation • Two competing proposed standards

  17. Applications of MPLS

  18. TE With Constraint-Based Routing • Path calculation • Constrained shortest-path first • Compute shortest path based on weights • But, exclude paths that do not satisfy constraints • E.g., do not consider links with insufficient bandwidth • Information dissemination • Extend OSPF/IS-IS to carry the extra information • E.g., link-state attributes for available bandwidth • Path signaling • Establish label-switched path on explicit route • Forwarding: MPLS labels

  19. Surviving Failures: Path Protection • Path protection • Reserve bandwidth on an alternate route • Protect a label-switched path by having a stand-by • Much better than conventional IP routing • Precise control over where the traffic will go • Stand-by path can be chosen to be disjoint

  20. Surviving Failures: Fast Reroute • Ensure fast recovery from a link failure • Protect a link by having a protection sub-path • Much faster recovery than switching paths • Affected router can detect the link failure • … and start redirecting to the protection sub-path

  21. BGP-Free Core iBGP eBGP 12.1.1.0/24 C A R2 R1 R4 B R3 D FEC based on the destination prefix Routers R2 and R3 don’t need to speak BGP

  22. VPNs With Private Addresses 10.1.0.0/24 10.1.0.0/24 C A R2 Two FECs R1 R4 B R3 D Direct traffic to orange 10.1.0.0/24 10.1.0.0/24 MPLS tags can differentiate green VPN from orange VPN.

  23. Status of MPLS • Deployed in practice • BGP-free core • Virtual Private Networks • Traffic engineering • Challenges • Protocol complexity • Configuration complexity • Difficulty of collecting measurement data • Continuing evolution • Standards • Operational practices and tools

  24. Conclusion • MPLS is an overlay • Tunneling on top of the network • Built on top of an underlying routing algorithm • Flexibility in mapping traffic to paths • Associating packets with FECs, and then labels • New protocols for creating label-switching tables • Binding FECs to labels across a path • Establishing explicit routes • Many open questions • Makes operations easier vs. harder? • Trade-offs in exploiting the flexibility? • Interdomain routing with MPLS?

  25. Rest of the Semester • Rest of class • Feedback forms • Thanks (in advance) for your feedback • Written reports for course projects • Due Dean’s Date (May 10) by end of day • Submitting via e-mail would be fine • Oral presentations for course projects • Monday May 16 at 1:30pm in room 302 • 15 minutes for single-person, 20 for groups

More Related