Routing Jennifer Rexford Advanced Computer Networks http://www.cs.princeton.edu/courses/archive/fall08/cos561/ Tuesdays/Thursdays 1:30pm-2:50pm Goals of Today’s Lecture • Routing – Routing vs. forwarding – Properties of routing protocols • Internet routing architecture – Separation of intradomain and interdomain – Intra: metric-based and router level – Inter: policy-based at Autonomous System level • Measuring the routing system – Challenges of measuring a decentralized, heterogeneous system – Discussion of Paxson97 (Labovitz98 next time) Routing What is a Route? • A famous quotation from RFC 791 “A name indicates what we seek. An address indicates where it is. A route indicates how we get there.” -- Jon Postel Forwarding vs. Routing • Forwarding: data plane – Directing a data packet to an outgoing link – Individual router using a forwarding table • Routing: control plane – Computing paths the packets will follow – Routers talking amongst themselves – Individual router creating a forwarding table Why Does Routing Matter? • End-to-end performance – Quality of the path affects user performance – Propagation delay, throughput, and packet loss • Use of network resources – Balance of the traffic over the routers and links – Avoiding congestion by balancing load • Transient disruptions during changes – Failures, maintenance, and load balancing – Limiting packet loss and delay during changes • Realizing business objectives – Maximizing revenue or minimizing cost – Avoiding paths going through untrusted parties Choosing a Routing Protocol • Who is in charge of selecting the path? – The network or the end host? • How complex are the path-selection goals? – Shortest-path vs. policy-based routing • Are participants willing to cooperate? – Willing to share information? – Have a common goal in selecting paths? • Is large-scale behavior a concern? – Stability of the network topology – State and message overhead – Disruptions during routing convergence Many Kinds of Routing Protocols • Link-state routing (Dijkstra) – Routers flood topology information – And compute (shortest) paths • Distance-vector routing (Bellman-Ford) – Routers learn path costs from their neighbors – And select the neighbor along shortest path • Policy-based path-vector routing – Routers learn full path from their neighbors – And select the most desirable path Many Kinds of Routing Protocols (Continued) • Source routing – End host or edge router learn the topology – And select the end-to-end path • Route servers – Set of servers learn topology and compute routes – And tell all the routers how to forward packets • Ad hoc routing – Routers keep track of a small neighborhood – And forward packets in (hopefully) right direction Internet Routing Architecture Two-Tiered Internet Routing Architecture • Goal: distributed management of resources – Internetworking of multiple networks – Networks under separate administrative control • Solution: two-tiered routing architecture – Intradomain: inside a region of control • Okay for routers to share topology information • Routers configured to achieve a common goal – Interdomain: between regions of control • Not okay to share complete information • Networks may have different/conflicting goals Intradomain Routing: E.g., Shortest Path • Routers belong to the same institution – Share a common, network-wide goal • Metric-based routing protocols – Typically shortest-path routing – With configurable link weights 2 3 2 1 1 1 3 5 4 3 Interdomain Routing: Between Networks • AS-level topology – Nodes are Autonomous Systems (ASes) – Destinations are prefixes (e.g., 12.0.0.0/8) – Edges are links and business relationships 4 3 5 2 1 Client 7 6 Web server AS Numbers (ASNs) ASNs are 16 bit values. 64512 through 65535 are “private” Currently around 30,000 in use. • • • • • • • • • Level 3: 1 MIT: 3 Harvard: 11 Yale: 29 Princeton: 88 AT&T: 7018, 6341, 5074, … UUNET: 701, 702, 284, 12199, … Sprint: 1239, 1240, 6211, 6242, … … ASNs represent units of routing policy Interdomain Routing: Border Gateway Protocol • ASes exchange info about who they can reach – IP prefix: block of destination IP addresses – AS path: sequence of ASes along the path • Policies configured by the AS’s operator – Path selection: which of the paths to use? – Path export: which neighbors to tell? “12.34.158.0/24: path (2,1)” 3 “12.34.158.0/24: path (1)” 1 2 data traffic data traffic 12.34.158.5 Measuring Internet Routing Motivations for Measuring the Routing System • Characterizing the Internet – Internet path properties – Demands on Internet routers – Routing convergence • Improving Internet health – Protocol design problems – Protocol implementation problems – Configuration errors or attacks • Operating a network – Detecting and diagnosing routing problems – Traffic shifts, routing attacks, flaky equipment, … Techniques for Measuring Internet Routing • Active probing – Inject probes along path through the data plane – E.g., using traceroute • Passive route monitoring – Capture control-plane messages between routers – E.g., using tcpdump or a software router – E.g., dumping the routing table on a router • Injecting network events – Cause failure/recovery at planned time and place – E.g., BGP route beacon, or planned maintenance Internet Routing is Hard to Measure • Nobody knows the Internet topology – No central registry of the AS-level graph – Little public information about intra-AS topologies • Deploying monitoring infrastructure is hard – Forwarding: active probes of end-to-end paths – Routing: passive monitoring of routing messages • Many measurement challenges – Network conditions vary by location – Network conditions change over time – One-way measurements are hard to collect – Controlled experiments are hard to do Two Papers for Today • Both early measurement studies of routing – Initially appeared at SIGCOMM’96 and ’97 – Both won the “best student paper” award • And recently won the SIGCOMM “test of time” award! – Early glimpses into the health of Internet routing – Early wave of papers on Internet measurement • Differences in emphasis – Paxson96: end-to-end active probing to measure the characteristics of the data plane – Labovitz97: passive monitoring of BGP update messages from several ISPs to characterize (in)stability of the interdomain routing system Active Measurement: Traceroute • Time-To-Live field in IP packet header – Source sends a packet with a TTL of n – Each router along the path decrements the TTL – “TTL exceeded” sent when TTL reaches 0 • Traceroute tool exploits this TTL behavior TTL=1 source Time exceeded destination TTL=2 Send packets with TTL=1, 2, 3, … and record source of “time exceeded” message Paxson Study: Forwarding Loops • Forwarding loop – Packet returns to same router multiple times • May cause traceroute to show a loop – If loop lasted long enough – So many packets traverse the loopy path • Traceroute may reveal false loops – Path change that leads to a longer path – Causing later probe packets to hit same nodes • Heuristic solution – Require traceroute to return same path 3 times Paxson Study: Causes of Loops • Transient vs. persistent – Transient: routing-protocol convergence – Persistent: likely configuration problem • Challenges – Appropriate time boundary between the two? – What about flaky equipment going up and down? – Determining the cause of persistent loops? • Causes of persistent loops – E.g., misconfiguration 12.1.2.0/24 0.0.0.0/0 Paxson Study: Path Fluttering • Rapid changes between paths – Multiple paths between a pair of hosts – Load balancing policies inside the network • Packet-based load balancing – Round-robin or random – Multiple paths for packets in a single flow • Flow-based load balancing – Hash of some fields in the packet header – E.g., IP addresses, port numbers, etc. – To keep packets in a flow on one path Paxson Study: Routing Stability • Route prevalence – Likelihood of observing a particular route – Relatively easy to measure with sound sampling – Poisson arrivals see time averages (PASTA) – Most host pairs have a dominant route • Route persistence – How long a route endures before a change – Much harder to measure through active probes – Look for cases of multiple observations – Typical host pair has path persistence of a week Paxson Study: Route Asymmetry • Hot-potato routing • Other causes – Asymmetric link weights in intradomain routing – Cold-potato routing, where AS requests traffic enter at particular place Customer B Provider B multiple peering points • Consequences Early-exit routing Provider A Customer A – Lots of asymmetry – One-way delay is not necessarily half of the round-trip time Conclusions • Internet routing architecture – Two-tiered system – Intradomain is metric-based, with common goal – Interdomain is policy-based, reconciling different goals across ASes • Behavior of complete systems is mysterious – Challenging to measure – Challenging to characterize, and diagnose • Next time – Border Gateway Protocol (BGP) – Discussion of the Labovitz97 paper