Download presentation
Presentation is loading. Please wait.
Published byTerrell Buttrick Modified over 9 years ago
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 2 1: 7 2: 7 link 7 1: 14 2: 8 link 14 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 2 1: 7: 20 2: 7: 53 link 7 20: 14: 78 53: 8: 42 link 14 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 –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 IP packet MPLS header
13
Pushing, Swapping, and Popping IP Pushing IP Popping IP Swapping Pushing: add the initial “in” label Swapping: map “in” label to “out” label Popping: remove the “out” label R2 R1 R3 R4 MPLS core A B C D IP edge
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 R2 R1 R3 R4 12.1.1.0/24 Pick in-label 10 for 12.1.1.0/24 I’m using label 10 for 12.1.1.0/24 I’m using label 43 for 12.1.1.0/24 In: Link: Out 43: to R4: 10 Map destinations in 12.1.1.0/24 to out-label 43 and link to R2
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 A B R2 R1 R3 R4 C D 12.1.1.0/24 eBGP iBGP FEC based on the destination prefix Routers R2 and R3 don’t need to speak BGP
22
VPNs With Private Addresses A B R2 R1 R3 R4 C D 10.1.0.0/24 MPLS tags can differentiate green VPN from orange VPN. Two FECs Direct traffic to orange
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.