Transcript
Page 1: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

1

Internet Routing

Jennifer Rexford

Princeton University

http://www.cs.princeton.edu/~jrex/bgp-tutorial

Page 2: 1 Internet Routing Jennifer Rexford Princeton University 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

Page 3: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 4: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

4

Internet Addressing and Routing Architecture

Page 5: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 6: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

6

Hierarchical Addressing

Page 7: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 8: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 9: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 10: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 11: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 12: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 13: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 14: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

14

Hierarchical Address Allocation

Page 15: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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!

Page 16: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 17: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 18: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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…

Page 19: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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–…

Page 20: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 21: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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.

Page 22: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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.

Page 23: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 24: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 25: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 26: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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…

Page 27: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

27

Growth in the Number of Globally-Visible Prefixes

Page 28: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

28

Pre-CIDR (1988-1994): Steep Growth

Growth faster than improvements in equipment capability

Page 29: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

29

CIDR Deployed (1994-1996): Much Flatter

Efforts to aggregate (even decreases after IETF meetings!)

Page 30: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

30

CIDR Growth (1996-1998): Roughly Linear

Good use of aggregation, and peer pressure in CIDR report

Page 31: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

31

Boom Period (1998-2001): Steep Growth

Internet boom and increased multi-homing

Page 32: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

32

Long-Term View (1989-2005): Post-Boom

Page 33: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 34: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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)

Page 35: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

35

Internet Routing Architecture

Page 36: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 37: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

37

Internet Structure

Page 38: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 39: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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.

Page 40: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

40

AS-Level Topology

• Node: Autonomous System

• Edge: Two ASes that connect to each other

1

2

3

4

5

67

Page 41: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 42: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 43: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 44: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 45: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 46: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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%)

Page 47: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

47

Routing Architecture

Page 48: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 49: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 50: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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, …

Page 51: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 52: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

52

Classes of Routing Protocols

Page 53: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 54: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 55: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 56: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 57: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 58: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 59: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 60: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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

Page 61: 1 Internet Routing Jennifer Rexford Princeton University jrex/bgp-tutorial

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


Recommended