Title: Internet%20Routing%20(COS%20598A)%20Today:%20Multi-Protocol%20Label%20Switching
1Internet Routing (COS 598A)Today Multi-Protocol
Label Switching
- Jennifer Rexford
- http//www.cs.princeton.edu/jrex/teaching/spring2
005 - Tuesdays/Thursdays 1100am-1220pm
2Outline
- 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
3Packet 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
4Advantages 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
5Disadvantages 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
6Virtual 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
7Swapping 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
8Virtual 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
9Virtual 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
10Wide 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
11Multi-Protocol Label Switching
12Multi-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
13Pushing, Swapping, and Popping
- Pushing add the initial in label
- Swapping map in label to out label
- Popping remove the out label
14Forwarding 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
15Label Distribution Protocol
- Distributing labels
- Learning the mapping from FEC to label
- Told by the downstream router
- Example destination-based forwarding
Im using label 43 for 12.1.1.0/24
Im 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
16Supporting 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
17Applications of MPLS
18TE 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
19Surviving 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
20Surviving 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
21BGP-Free Core
iBGP
eBGP
C
12.1.1.0/24
A
R2
R1
R4
B
R3
D
FEC based on the destination prefix
Routers R2 and R3 dont need to speak BGP
22VPNs 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.
23Status 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
24Conclusion
- 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?
25Rest of the Semester
- Rest of class
- Feedback forms
- Thanks (in advance) for your feedback
- Written reports for course projects
- Due Deans Date (May 10) by end of day
- Submitting via e-mail would be fine
- Oral presentations for course projects
- Monday May 16 at 130pm in room 302
- 15 minutes for single-person, 20 for groups