1 Internet Routing Jennifer Rexford Princeton University
2 Local Control vs. Global Properties The Internet is a “network of networks” –~40,000 separately administered networks –Competitive cooperation for e2e reachability Local Control Intradomain routing, interdomain policies Global Properties Performance, security, reliability, scalability
3 Outline of the Tutorial Internet addressing and routing architecture –IP address allocation and packet forwarding –Two-tiered Internet routing architecture Border Gateway Protocol (BGP) –Policy-based path-vector routing on IP prefixes –BGP routing policy and example applications of BGP BGP security –Security vulnerabilities and examples –Anomaly detection and secure extensions to BGP BGP convergence –Path exploration and convergence delay –Protocol oscillation and the influence of routing policy
4 Internet Addressing and Routing Architecture
5 Goals of This Section Internet addressing and forwarding –Hierarchical addressing –Hierarchical address allocation –Longest prefix match forwarding –Growth in number of prefixes over time Two-tiered Internet routing architecture –Autonomous Systems and AS topology –Interdomain vs. intradomain routing –Classes of routing protocols
6 Hierarchical Addressing
7 IP Address (IPv4) A unique 32-bit number Identifies an interface (on a host, router, …) Represented in dotted-quad notation
8 Grouping Related Hosts The Internet is an “inter-network” –Used to connect networks together, not hosts –Needs to address a network (i.e., group of hosts) host LAN 1... host LAN 2... router WAN LAN = Local Area Network WAN = Wide Area Network
9 Scalability Challenge Suppose hosts had arbitrary addresses –Every router would need a lot of information –…to direct packets toward every host host LAN 1... host LAN 2... router WAN forwarding table The solution: Introduce hierarchy
10 Hierarchical Addressing: IP Prefixes Divided into network & host portions (left and right) /24 is a 24-bit prefix with 2 8 addresses Network (24 bits)Host (8 bits)
11 IP Address and a 24-bit Subnet Mask Address Mask
12 Scalability Improved: Smaller Tables Number related hosts from a common subnet – /24 on the left LAN – /24 on the right LAN host LAN 1... host LAN 2... router WAN / /24 forwarding table
13 Scalability Improved: Fewer Updates No need to update the routers –E.g., adding a new host on the right –Doesn’t require adding a new forwarding-table entry host LAN 1... host LAN 2... router WAN / /24 forwarding table host
14 Hierarchical Address Allocation
15 Classful Addressing In the olden days, only fixed allocation sizes –Class A: 0* Very large /8 blocks (e.g., MIT has /8) –Class B: 10* Large /16 blocks (e.g,. Princeton has /16) –Class C: 110* Small /24 blocks (e.g., AT&T Labs has /24) –Class D: 1110* Multicast groups –Class E: 11110* Reserved for future use This is why we use dotted-quad notation!
16 Classless Inter-Domain Routing (CIDR) IP Address : IP Mask: Address Mask for hostsNetwork Prefix Use two 32-bit numbers to represent a network. Network number = IP address + Mask Written as /15
17 CIDR: Hierarchal Address Allocation / / / / / /16 :::::: / /24 :::: / / / / / / /19 :::::: Prefixes are key to Internet scalability –Address allocated in contiguous chunks (prefixes) –Routing protocols and packet forwarding based on prefixes –Today, routing tables contain ~300,000 prefixes
18 Obtaining a Block of Addresses Separation of control –Prefix: assigned to an institution –Addresses: assigned by the institution to their nodes Who assigns prefixes? –Internet Corporation for Assigned Names and Numbers Allocates large address blocks to Regional Internet Registries –Regional Internet Registries (RIRs) E.g., ARIN (American Registry for Internet Numbers) Allocates address blocks within their regions Allocated to Internet Service Providers and large institutions –Internet Service Providers (ISPs) Allocate address blocks to their customers Who may, in turn, allocate to their customers…
19 Figuring Out Who Owns an Address Address registries –Public record of address allocations –Internet Service Providers (ISPs) should update when giving addresses to customers –However, records are notoriously out-of-date Ways to query –UNIX: “whois –h whois.arin.net ” – – –…
20 Example Output for OrgName: Princeton University OrgID: PRNU Address: Office of Information Technology Address: 87 Prospect Avenue City: Princeton StateProv: NJ PostalCode: Country: US NetRange: CIDR: /16 NetName: PRINCETON NetHandle: NET Parent: NET NetType: Direct Allocation RegDate:
21 Scalability: Address Aggregation Provider is given / / / / /23 Provider Routers in the rest of the Internet just need to know how to reach /21. The provider can direct the IP packets to the appropriate customer.
22 But, Aggregation is Not Always Possible / / / / /23 Provider 1Provider 2 Multi-homed customer with /23 has two providers. Other parts of the Internet need to know how to reach these destinations through both providers.
23 Load Balancing and Backup Routes /23 Provider 1Provider 2 Multi-homed customer deaggregates its address block for more control over load balancing and backup routes / / / /23
24 CIDR Makes Packet Forwarding Harder Hierarchical addressing vs. fast packet forwarding –CIDR allows efficient use of the limited address space –But, CIDR makes packet forwarding much harder Forwarding table may have multiple matches –E.g., table entries for /21 and /23 –The IP address would match both! / / / / /23 Provider 1Provider 2
25 Longest Prefix Match Forwarding Forwarding tables in IP routers –Maps each destination IP prefix to next-hop link(s) Destination-based hop-by-hop forwarding –Packet has a destination address –Router identifies longest-matching prefix –Cute algorithmic challenge: very fast lookups / / / / / destination forwarding table Serial0/0.1 outgoing link
26 Scalability Through Hierarchy Hierarchical addressing –Critical for scalable system –Don’t require everyone to know everyone else –Reduces # of updates when things changes Non-uniform hierarchy –For heterogeneous networks of different sizes –Initial class-based addressing was far too coarse –Classless InterDomain Routing (CIDR) helps Yet, many practical needs are leading to a proliferation of prefixes…
27 Growth in the Number of Globally-Visible Prefixes
28 Pre-CIDR ( ): Steep Growth Growth faster than improvements in equipment capability
29 CIDR Deployed ( ) : Much Flatter Efforts to aggregate (even decreases after IETF meetings!)
30 CIDR Growth ( ) : Roughly Linear Good use of aggregation, and peer pressure in CIDR report
31 Boom Period ( ): Steep Growth Internet boom and increased multi-homing
32 Long-Term View ( ) : Post-Boom
33 Prefix Scalability Challenges Rapid increase in the number of prefixes –New ASes coming online –Existing ASes acquiring new address blocks –Single-homed ASes becoming multi-homed –ASes doing load balancing and backup routes Now up to around 300,000 prefixes –Challenge for forwarding IP data packets –Challenge for storing and computing routes Ongoing research and standards work –Separation of identity and location
34 Running out of IP Addresses Not all that many unique addresses –2 32 = 4,294,967,296 (just over four billion) –Plus, some are reserved for special purposes –And, addresses are allocated in larger blocks And, many devices need IP addresses –Computers, PDAs, routers, tanks, toasters, … Long-term solution: a larger address space –IPv6 has 128-bit addresses (2 128 = × ) Short-term solutions: limping along with IPv4 –Private addresses –Network address translation (NAT) –Dynamically-assigned addresses (DHCP)
35 Internet Routing Architecture
36 Goals of This Section Internet structure –Autonomous Systems (ASes) –Business relationships between ASes –Structure of the AS-level topology Routing architecture –Two-tiered routing architecture –Intradomain: among cooperating routers –Interdomain: among competing ASes Classes of routing protocols –Link-state routing, distance-vector routing, source routing, and path-vector routing
37 Internet Structure
38 Autonomous Systems (ASes) Divided into Autonomous Systems –Distinct regions of administrative control –Routers/links managed by a single “institution” –Service provider, company, university, … Hierarchy of Autonomous Systems –Large, tier-1 provider with nationwide backbone –Medium-sized regional provider –Small network for a company or university But they must cooperate for e2e reachability
39 Autonomous System Numbers (ASNs) AS Numbers are 16 bit values. 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, … … Currently around 40,000 in use.
40 AS-Level Topology Node: Autonomous System Edge: Two ASes that connect to each other
41 What is an Edge, Really? Edge in the AS graph –At least one connection between two ASes –Some destinations reached from one via other AS 1 AS 2 d Exchange Point AS 1 AS 2 d AS 3
42 Business Relationships Between ASes Neighboring ASes have business contracts –How much traffic to carry –Which destinations to reach –How much money to pay Common business relationships –Customer-provider –Peer-peer –Backup –Sibling
43 Customer-Provider Relationship Customer needs to be reachable from everyone –Provider ensures all neighbors can reach the customer Customer does not want to provide transit service –Customer does not let its providers send traffic through it d d provider customer provider Traffic to the customerTraffic from the customer traffic
44 Peer-Peer Relationship Peers exchange traffic between customers –AS let’s its peer reach (only) its customers –AS can reach its peer’s customers –Often the relationship is settlement-free (i.e., no $$$) peer Traffic to/from the peer and its customers d traffic
45 AS Structure: Tier-1 Providers Top of the Internet hierarchy –Has no upstream provider of its own –Typically has a large (inter)national backbone –Around ASes: UUNET, AT&T, Level 3, … peer-peer
46 AS Structure: Other ASes Lower-layer providers (tier-2, …) –Provide transit service to downstream customers But need at least one provider of their own –Typically have national or regional scope E.g., Minnesota Regional Network –Includes a few thousand ASes Stub ASes –Do not provide transit service –Connect to upstream provider(s) –Most ASes (e.g., 85-90%)
47 Routing Architecture
48 Two-Tiered Routing Architecture Goal: distributed management of resources –Internetworking of multiple networks –Networks under separate administrative control Intradomain: inside a region of control –Routers configured to achieve a common goal –Okay for routers to share topology information –Different ASes can run different protocols Interdomain: between regions of control –ASes have different (maybe conflicting) goals –Routers only share reachability information
49 Intradomain Routing: 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
50 Intradomain Routing: Tunneling Routers belong to the same institution –Share a common, network-wide goal Tunneling based solutions –Pinning path(s) between ingress-egress routers –Chosen based on load, reliability, delay, …
51 Interdomain Routing: Path-Based Routers belong to different institutions –No common goal, reluctant to share information –But must cooperate to reach remote destinations Policy-based path selection –AS selects a path through one of its neighbors –Optionally makes the path available to others
52 Classes of Routing Protocols
53 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
54 Shortest-Path Routing Path-selection model –Destination-based –Load-insensitive (e.g., static link weights) –Minimum hop count or sum of link weights Used mainly for intradomain routing –Routers share common goal Main approaches –Link-state routing –Path-vector routing
55 Shortest-Path Problem Compute: path costs to all nodes –From a given source u to all other nodes –Cost of path through each outgoing link –Next hop along the least-cost path to s u s 6
56 Link-State Routing Flooding of topology information –Routers share complete topology information Shortest-path computation –Routers compute shortest paths to all dests –Running Dijkstra’s algorithm on full topology Next-hop forwarding –Router forwards packets to next hop in (shortest) path Examples: OSPF and IS-IS d s
57 Distance-Vector Routing Dissemination of path-cost information –Routers share only path costs with neighbors Shortest-path selection –Routers add link cost to compute new path cost –Bellman-Ford algorithm to select shortest paths Next-hop forwarding –Router forwards packets to next hop in (shortest) path Examples: RIP and EIGRP s d 6
58 Source Routing Flooding of topology information –Routers share complete topology information End host or edge router computes path –Potentially any path through the network –Maximizes flexibility for the host or edge router Forwarding along the chosen path –Packets carry the list of hops in the path Examples: IP source routing, RSVP to establish tunnel s d
59 Path-Vector Routing Extension of distance-vector routing –Support flexible routing policies –Avoid “count-to-infinity” problem Key idea: advertise the entire path –Distance vector: send distance metric per dest d –Path vector: send the entire path per dest d Next-hop forwarding –Forward packets to next hop Example: BGP s d
60 Intradomain vs. Interdomain Intradomain routing –Amongst the routers inside an AS –Cooperating to optimize a common objective –Shortest-path routing, optimization of tunnels, … –Different ASes can use different protocols Interdomain routing –Between different ASes –Cooperating only for end-to-end reachability –Policy-based path selection –Different ASes need to run a common protocol
61 Conclusions IP address –A 32-bit number –Allocated in prefixes –Non-uniform hierarchy (for scalability & flexibility) Scalability challenges –Overhead of 300,000 prefixes on IP routers –Running out of IPv4 addresses Internet routing architecture –Intradomain: routers share a common goal –Interdomain: ASes have different objectives