1
Internet Routing
Jennifer Rexford
Princeton University
http://www.cs.princeton.edu/~jrex/bgp-tutorial
2
Local Control vs. Global Properties
The Internet is a “network of networks”–~40,000 separately administered networks–Competitive cooperation for e2e reachability
Local ControlIntradomain routing,interdomain policies
Global PropertiesPerformance, 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
00001100 00100010 10011110 00000101
12 34 158 5
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 host host
LAN 1
... host host host
LAN 2
...
router router routerWAN WAN
LAN = Local Area NetworkWAN = 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 host host
LAN 1
... host host host
LAN 2
...
router router routerWAN WAN
1.2.3.4 5.6.7.8 2.4.6.8 1.2.3.5 5.6.7.9 2.4.6.9
1.2.3.4
1.2.3.5
forwarding table
The solution: Introduce hierarchy
10
Hierarchical Addressing: IP Prefixes
• Divided into network & host portions (left and right)
• 12.34.158.0/24 is a 24-bit prefix with 28 addresses
00001100 00100010 10011110 00000101
Network (24 bits) Host (8 bits)
12 34 158 5
11
IP Address and a 24-bit Subnet Mask
00001100 00100010 10011110 00000101
12 34 158 5
11111111 11111111 11111111 00000000
255 255 255 0
Address
Mask
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 host host
LAN 1
... host host host
LAN 2
...
router router routerWAN WAN
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
1.2.3.0/24
5.6.7.0/24
forwarding table
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 host host
LAN 1
... host host host
LAN 2
...
router router routerWAN WAN
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212
1.2.3.0/24
5.6.7.0/24
forwarding table
host
5.6.7.213
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 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
Classless Inter-Domain Routing (CIDR)
IP Address : 12.4.0.0 IP Mask: 255.254.0.0
00001100 00000100 00000000 00000000
11111111 11111110 00000000 00000000
Address
Mask
for hosts Network Prefix
Use two 32-bit numbers to represent a network. Network number = IP address + Mask
Written as 12.4.0.0/15
17
CIDR: Hierarchal Address Allocation
12.0.0.0/8
12.0.0.0/16
12.254.0.0/16
12.1.0.0/1612.2.0.0/1612.3.0.0/16
:::
12.3.0.0/2412.3.1.0/24
::
12.3.254.0/24
12.253.0.0/1912.253.32.0/1912.253.64.0/1912.253.96.0/1912.253.128.0/1912.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
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 128.112.136.35”–http://www.arin.net/whois/–http://www.geektools.com/whois.php–…
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
Scalability: Address Aggregation
Provider is given 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
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
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 1 Provider 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
Load Balancing and Backup Routes
201.10.6.0/23
Provider 1 Provider 2
Multi-homed customer deaggregates its address block for more control over load balancing and backup routes
201.10.6.0/24201.10.6.0/23
201.10.7.0/24201.10.6.0/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 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 1 Provider 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
4.0.0.0/84.83.128.0/17201.10.0.0/21201.10.6.0/23126.255.103.0/24
201.10.6.17destination
forwarding table
Serial0/0.1outgoing 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 (1988-1994): Steep Growth
Growth faster than improvements in equipment capability
29
CIDR Deployed (1994-1996): Much Flatter
Efforts to aggregate (even decreases after IETF meetings!)
30
CIDR Growth (1996-1998): Roughly Linear
Good use of aggregation, and peer pressure in CIDR report
31
Boom Period (1998-2001): Steep Growth
Internet boom and increased multi-homing
32
Long-Term View (1989-2005): 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– 232 = 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 (2128 = 3.403 × 1038)
• 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
1
2
3
4
5
67
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
customer
provider
Traffic to the customer Traffic 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 $$$)
peerpeer
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 10-12 ASes: UUNET, AT&T, Level 3, …
peer-peerpeer-peer
peer-peerpeer-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
32
2
1
13
1
4
5
3
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
5
21
4 3
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
32
2
1
14
1
4
5
3
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
32
2
1
14
1
4
5
3
u
s6
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
32
2
1
14
1
4
5
3d
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
32
21
14
1
4
5
3
s
d6
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
1 2
34
56
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