Download presentation
Presentation is loading. Please wait.
Published byCalvin Lucas Modified over 9 years ago
1
1 Internet Routing Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex/bgp-tutorial
2
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
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
4 Internet Addressing and Routing Architecture
5
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
6 Hierarchical Addressing
7
7 IP Address (IPv4) A unique 32-bit number Identifies an interface (on a host, router, …) Represented in dotted-quad notation 0000110000100010 1001111000000101 12341585
8
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
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 1.2.3.45.6.7.82.4.6.81.2.3.55.6.7.92.4.6.9 1.2.3.4 1.2.3.5 forwarding table The solution: Introduce hierarchy
10
10 Hierarchical Addressing: IP Prefixes Divided into network & host portions (left and right) 12.34.158.0/24 is a 24-bit prefix with 2 8 addresses 0000110000100010 1001111000000101 Network (24 bits)Host (8 bits) 12341585
11
11 IP Address and a 24-bit Subnet Mask 0000110000100010 1001111000000101 12341585 11111111 00000000 255 0 Address Mask
12
12 Scalability Improved: Smaller Tables Number related hosts from a common subnet –1.2.3.0/24 on the left LAN –5.6.7.0/24 on the right LAN host LAN 1... host LAN 2... router WAN 1.2.3.41.2.3.71.2.3.1565.6.7.85.6.7.95.6.7.212 1.2.3.0/24 5.6.7.0/24 forwarding table
13
13 Scalability Improved: Fewer Updates No need to update the routers –E.g., adding a new host 5.6.7.213 on the right –Doesn’t require adding a new forwarding-table entry host LAN 1... host LAN 2... router WAN 1.2.3.41.2.3.71.2.3.1565.6.7.85.6.7.95.6.7.212 1.2.3.0/24 5.6.7.0/24 forwarding table host 5.6.7.213
14
14 Hierarchical Address Allocation
15
15 Classful Addressing In the olden days, only fixed allocation sizes –Class A: 0* Very large /8 blocks (e.g., MIT has 18.0.0.0/8) –Class B: 10* Large /16 blocks (e.g,. Princeton has 128.112.0.0/16) –Class C: 110* Small /24 blocks (e.g., AT&T Labs has 192.20.225.0/24) –Class D: 1110* Multicast groups –Class E: 11110* Reserved for future use This is why we use dotted-quad notation!
16
16 Classless Inter-Domain Routing (CIDR) IP Address : 12.4.0.0 IP Mask: 255.254.0.0 0000110000000100 00000000 1111111111111110 00000000 Address Mask for hostsNetwork Prefix Use two 32-bit numbers to represent a network. Network number = IP address + Mask Written as 12.4.0.0/15
17
17 CIDR: Hierarchal Address Allocation 12.0.0.0/8 12.0.0.0/16 12.254.0.0/16 12.1.0.0/16 12.2.0.0/16 12.3.0.0/16 :::::: 12.3.0.0/24 12.3.1.0/24 :::: 12.3.254.0/24 12.253.0.0/19 12.253.32.0/19 12.253.64.0/19 12.253.96.0/19 12.253.128.0/19 12.253.160.0/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
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
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 128.112.136.35” –http://www.arin.net/whois/ –http://www.geektools.com/whois.php –…
20
20 Example Output for 128.112.136.35 OrgName: Princeton University OrgID: PRNU Address: Office of Information Technology Address: 87 Prospect Avenue City: Princeton StateProv: NJ PostalCode: 08544-2007 Country: US NetRange: 128.112.0.0 - 128.112.255.255 CIDR: 128.112.0.0/16 NetName: PRINCETON NetHandle: NET-128-112-0-0-1 Parent: NET-128-0-0-0-0 NetType: Direct Allocation RegDate: 1986-02-24
21
21 Scalability: Address Aggregation Provider is given 201.10.0.0/21 201.10.0.0/22201.10.4.0/24201.10.5.0/24201.10.6.0/23 Provider Routers in the rest of the Internet just need to know how to reach 201.10.0.0/21. The provider can direct the IP packets to the appropriate customer.
22
22 But, Aggregation is Not Always Possible 201.10.0.0/21 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 Provider 1Provider 2 Multi-homed customer with 201.10.6.0/23 has two providers. Other parts of the Internet need to know how to reach these destinations through both providers.
23
23 Load Balancing and Backup Routes 201.10.6.0/23 Provider 1Provider 2 Multi-homed customer deaggregates its address block for more control over load balancing and backup routes 201.10.6.0/24 201.10.6.0/23 201.10.7.0/24 201.10.6.0/23
24
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 201.10.0.0/21 and 201.10.6.0/23 –The IP address 201.10.6.17 would match both! 201.10.0.0/21 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 Provider 1Provider 2
25
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 4.0.0.0/8 4.83.128.0/17 201.10.0.0/21 201.10.6.0/23 126.255.103.0/24 201.10.6.17 destination forwarding table Serial0/0.1 outgoing link
26
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
27 Growth in the Number of Globally-Visible Prefixes
28
28 Pre-CIDR (1988-1994): Steep Growth Growth faster than improvements in equipment capability
29
29 CIDR Deployed (1994-1996) : Much Flatter Efforts to aggregate (even decreases after IETF meetings!)
30
30 CIDR Growth (1996-1998) : Roughly Linear Good use of aggregation, and peer pressure in CIDR report
31
31 Boom Period (1998-2001): Steep Growth Internet boom and increased multi-homing
32
32 Long-Term View (1989-2005) : Post-Boom
33
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
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 = 3.403 × 10 38 ) Short-term solutions: limping along with IPv4 –Private addresses –Network address translation (NAT) –Dynamically-assigned addresses (DHCP)
35
35 Internet Routing Architecture
36
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
37 Internet Structure
38
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
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
40 AS-Level Topology Node: Autonomous System Edge: Two ASes that connect to each other 1 2 3 4 5 6 7
41
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
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
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
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
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 10-12 ASes: UUNET, AT&T, Level 3, … peer-peer
46
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
47 Routing Architecture
48
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
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 3 2 2 1 1 3 1 4 5 3
50
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
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 5 2 1 43
52
52 Classes of Routing Protocols
53
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
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 3 2 2 1 1 4 1 4 5 3
55
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 3 2 2 1 1 4 1 4 5 3 u s 6
56
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 3 2 2 1 1 4 1 4 5 3 d s
57
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 3 2 2 1 1 4 1 4 5 3 s d 6
58
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
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 1 2 3 4 5 6
60
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.