Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Jennifer Rexford
http://www.cs.princeton.edu/courses/archive/fall06/cos561/
Tuesdays/Thursdays 1:30pm-2:50pm
What is Routing?
Internet Structure
Web client
Web server
2 3 2 1 4 1 5 3 4
2 1 1
x
3
u
1
z t
2
w
4 5
s
Routing Protocols (COS 461 #15 and 16) Link State Dissemination
Flood link state advertisements to all routers
Algorithm Dijsktras
shortest path
Slow, due to Slow, due to count-to-infinity path exploration RIP, EIGRP BGP
Packet-based routing
Forward packets based on forwarding table
Load-sensitive
Compute table entries based on load or delay
Questions
What link metrics to use? How frequently to update the metrics? How to propagate the metrics? How to compute the paths based on metrics? Still a popular area of research
congested link
Light load
Delay dominated by the constant part (transmission delay and propagation delay)
Medium load
Queuing delay is no longer negligible Moderate traffic shifts to avoid congestion
Heavy load
Very high metrics on congested links Busy links look bad to all of the routers All routers avoid the busy links Routers may send packets on longer paths
Improvements in the Second ARPANET Algorithm Original ARPANET Algorithm (1969) Timescale of Instantaneous the link metric queue length Routing protocol Update frequency Second ARPANET Algorithm (1979) Averaging of the link metric over time
Distance vector Link state for faster slow convergence convergence Updates on every Updates if change metric change passes a threshold
Extreme case
Limit path selection to the shortest paths Pick the least-loaded shortest path in the network
Problem of Out-of-Date Information Lincoln Tunnel NJ Holland Tunnel Backup at Lincoln on radio triggers congestion at Holland NYC
Topology design
Small propagation delay and low congestion Ability to tolerate node and link failures
Convergence delay
Limiting the disruptions during topology changes E.g., by trying to achieve faster convergence
Traffic engineering
Limiting propagation delay and congestion E.g., by carefully tuning the static link weights
Hub-and-spoke
Backbone
Inter-PoP links
Long distances High bandwidth
Inter-PoP Intra-PoP
Intra-PoP links
Short cables between racks or floors Aggregated bandwidth
Other networks
Performance trade-offs
Detection speed Overhead on link bandwidth and CPU Likelihood of false detection
Faster flooding
Flooding immediately Sending link-state packets with high-priority
Faster computation
Faster processors on the routers Incremental Dijkstra algorithm
Traffic Engineering: Tuning Link Weights Problem: congestion along the blue path
Second or third link on the path is overloaded
Traffic matrix
Offered load between points in the network
Link weights
Configurable parameters for the protocol
Performance objective
Balanced load, low latency, service agreements
Question: Given topology and traffic matrix, which link weights to use?
Instrumentation
Topology: monitoring of the routing protocols Traffic matrix: fine-grained traffic measurement
Network-wide models
Representations of topology and traffic What-if models of shortest-path routing
Network optimization
Efficient algorithms to find good configurations Operational experience to identify key constraints
2 3 2 1 4 1 3 5 3
North America
Asia
Multi-Protocol
Encapsulate a data packet
Could be IP, or some other protocol (e.g., IPX)
Label Switching
MPLS header includes a label Label switching between MPLS-capable routers MPLS header IP packet
Motivating applications
Small routing tables and fast look-ups Virtual Private Networks Traffic engineering Path protection and fast reroute
1 2
link 7
1: 14 2: 8
link 14 link 8
Label swapping
Map the label to a new value at each hop Table has old label, next link, and new label Allows reuse of the labels at different links 1 2 1: 7: 20 20: 14: 78 link 7 2: 7: 53 53: 8: 42 link 14 link 8
Pushing: add the initial in label Swapping: map in label to out label Popping: remove the out label
Pushing IP A IP R2 R1 B R3 R4 D Swapping IP C Popping IP
IP edge
MPLS core
Example FECs
Destination prefix
Longest-prefix match in forwarding table at entry point Useful for conventional destination-based forwarding
Status of MPLS
Deployed in practice
Small control and data plane overhead in core Virtual Private Networks Traffic engineering and fast reroute
Challenges
Protocol complexity Configuration complexity Difficulty of collecting measurement data
Continuing evolution
Standards Operational practices and tools
Conclusion
Intradomain routing
Shortest path routing based on link metrics Stability problems with dynamic link metrics Link-state vs. distance-vector protocols