778cc3dbed1e0195a4a701537d603bd3.ppt
- Количество слайдов: 25
Internet Routing (COS 598 A) Today: Multi-Protocol Label Switching Jennifer Rexford http: //www. cs. princeton. edu/~jrex/teaching/spring 2005 Tuesdays/Thursdays 11: 00 am-12: 20 pm
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
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
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
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
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
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 20: 14: 78 link 7 2: 7: 53 53: 8: 42 link 14 link 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”
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 Qo. S
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
Multi-Protocol Label Switching
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
Pushing, Swapping, and Popping • Pushing: add the initial “in” label • Swapping: map “in” label to “out” label • Popping: remove the “out” label Pushing IP IP A IP edge IP IP C R 2 R 1 B Popping Swapping R 4 R 3 MPLS core D
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
Label Distribution Protocol • Distributing labels – Learning the mapping from FEC to label – Told by the downstream router • Example: destination-based forwarding Map destinations in 12. 1. 1. 0/24 to out-label 43 and link to R 2 I’m using Pick in-label. In: Link: Out 43 for label 10 for 43: to R 4: 10 12. 1. 1. 0/24 R 2 R 1 R 4 R 3 12. 1. 1. 0/24
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 Re. Source 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
Applications of MPLS
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
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
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
BGP-Free Core i. BGP e. BGP A R 2 R 1 B C 12. 1. 1. 0/24 R 3 D FEC based on the destination prefix Routers R 2 and R 3 don’t need to speak BGP
VPNs With Private Addresses 10. 1. 0. 0/24 A R 2 R 1 B 10. 1. 0. 0/24 C R 3 Direct traffic to orange Two FECs R 4 D 10. 1. 0. 0/24 MPLS tags can differentiate green VPN from orange VPN.
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
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?
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: 30 pm in room 302 – 15 minutes for single-person, 20 for groups
778cc3dbed1e0195a4a701537d603bd3.ppt