interdomain routing eecs 122: lecture 11 department of electrical engineering and computer sciences...

44
Interdomain Routing EECS 122: Lecture 11 Department of Electrical Engineering and Computer Sciences University of California Berkeley

Post on 21-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Interdomain RoutingEECS 122: Lecture 11

Department of Electrical Engineering and Computer Sciences

University of California

Berkeley

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

2

Review

A

B

C

6

7

8

5

4

31

2

12

10

13

11

6

4

3

2

13

B

2

4

3

6

13

OSPF

RIP

IGRP

BGP

IntraDomain

IntraDomain

IntraDomain

Intradomain Formulate the routing

problem as a Shortest Path Problem

Link State v/s Distance Vector

Both work reasonably well in a well engineered network

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

3

Today

Why Hierarchical Routing? Interconnections

Addressing Interdomain Routing

BGP

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

4

Hierarchical Routing

Is a natural way for routing to scale Size Network Administration Governance

Allows multiple metrics at different levels of the hierarchy

Exploits address aggregation and allocation

6

4

3

2

13

2

4

3

6

13

7

8

5

1 12

1011

Inter DomainRouting OSPF

RIP

IGRP

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

5

The Importance of Interconnections The internet is an interconnection of unequal

networks Interconnection arrangements drive

the competitive landscape the robustness of the network End-to-end performance

Interconnection is central to all large networks Voice Data Wireless Cable

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

6

Interconnections and Competition www.thelist.com

How many ISP’s in the 415 area code? That start with A-C: about 200… Just DSL that start with A-C: about 80

In the telephone network How many independent telephone companies in

1894-1902 in the US? 3039 commercial companies, 979 co-operatives

By controlling interconnection Bell got rid of them Interconnection is now regulated (CLECs)

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

7

Big Picture

Large ISP Large ISP

Dial-UpISP

AccessNetwork

Small ISP

Stub Stub

Stub

The Internet contains a large number of diverse networks

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

8

Two ways to interconnect IP Networks… Peering

The business relationship whereby ISPs reciprocally provide to each other connectivity to each others’ transit customers

Transit The business relationship whereby one ISP

provides (usually sells) access to all destinations in it’s routing table

William B. Norton, “Internet Service Providers and Peering”

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

9

Peering Figure fromWilliam B. Norton, “Internet Service Providers and Peering”

West and East Peer with USNet but they can’t reach each other

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

10

Transit Figure fromWilliam B. Norton, “Internet Service Providers and Peering”

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

11

Benefits of Transit v/s Peering

William B. Norton, “Internet Service Providers and Peering”

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

12

Moving from Transit to Peering

William B. Norton, “Internet Service Providers and Peering”

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

13

Name of the Game: Reachability Interdomain routing is about implementing policies

of reachabilty Routing efficiency and performance is important, but not

essential ISPs could be competitors and do not want to share

internal network statistics such as load and topology Use Border Gateway Protocol (BGP)

Border routers communicate over TCP port 179 A Path Vector Protocol

Communicate entire paths: Route Advertisements A Router Can be involved multiple BGP sessions

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

14

R border router

internal router

BGPR2

R1

R3

A

AS1

AS2

you can reachnet A via me

traffic to A

table at R1:dest next hopA R2

Share connectivity information across ASes

BGP in concept

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

15

I-BGP and E-BGP

R border router

internal router

R1

AS1

R4

R5

B

AS3

E-BGP

R2R3

A

AS2 announce B

IGP: Interior Gateway Protocol.Example: OSPF

I-BGP

IGP

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

16

BGP

Border Routers from the same AS speak IBGP from different AS’s speak EBGP

EBGP and IBGP are essentially the same protocol IBGP can only propagate routes it has learned

directly from its EBGP neighbors All routers in the same AS form an IBGP mesh Important to keep IBGP and EBGP in sync

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

17

Sharing routes

One router can participate in many BGP sessions. Initially … node advertises ALL routes it wants neighbor to

know (could be > 50K routes) Ongoing … only inform neighbor of changes

BGP SessionsAS1

AS2

AS3

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

18

Four message types

Open: Session establishment id exchange Notification: exception driven information Keep Alive: soft state Update: path vector information

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

19

BGP Update Message

Contains information about New Routes Withdrawn Routes: No longer valid Path Attributes:

Attribute information allows policies to be implemented

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

20

Issues

How are the routes advertised? Addressing

How are routing policies implemented?

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

21

Addressing

Every router must be able to forward based on *any* destination IP address One strategy: Have a row for each address

There would be 10^8 rows! Better strategy: Have a row for a range of

addresses If addresses are assigned at random that wouldn’t work

too well MAC addresses

Addresses allocation is a big deal.

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

22

Addressing reflects internet hierarchy

32 bits divided into 2 parts:

Class A

Class B

Class C

Class-base Addressing

network host 0

0

network host 1

160

network host 1

240~2 million nets256 hosts

8

0

1 0

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

23

Class-based addresses did not scale well

Example: an organization initially needs 100 addresses Allocate it a class C address Organization grows to need 300 addresses Class B address is allocated. (~64K hosts) That’s overkill -a huge waste Only about 8200 class B addresses! Artificial Address crises

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

24

Current Solution: Classless Internet Domain Routing (CIDR) CIDR allows networks to be assigned on arbitrary bit

boundaries. Address ranges can be assigned in chunks of 2k k=1…32

Idea - use aggregation - provide routing for a large number of customers by advertising one common prefix.

This is possible because nature of addressing is hierarchical Summarization reduces the size of routing tables, but

maintains connectivity. Aggregation

Scalability and survivability of the Internet

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

25

Current Solution: Classless Internet Domain Routing (CIDR)

Suppose fifty computers in a network are assigned IP addresses 128.23.9.0 - 128.23.9.49 They share the prefix 128.23.9 Is this the longest prefix?

Range is 01111111 00001111 00001001 00000000 to 01111111 00001111 00001001 00110001 How to write 01111111 00001111 00001001 00X? Convention: 128.23.9.0/26 There are 32-27=6 bits for the 50 computers

26 = 64 addresses

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

26

Specify a range of addresses by a prefix: X/Y The prefix common to the entire range is the first Y bits of X. X: The first address in the range has prefix X Y: 232-Y addresses in the range

Example 128.5.10/23 Common prefix is 23 bits: 01000000 00000101 0000101 Number of addresses: 29 = 512

Prefix aggregation Combine two address ranges 128.5.10/24 and 128.5.11/24 gives 128.5.10/23

Routers match to longest prefix

Classless Inter-domain Routing Addresses

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

27

Assigning IP address (Ideally)

A host gets its IP address from the IP address block of its organization

An organization gets an IP address block from its ISP’s address block

An ISP gets its address block from its own provider OR from one of the 3 routing registries:

ARIN: American Registry for Internet Numbers RIPE: Reseaux IP Europeens APNIC: Asia Pacific Network Information Center

Each Autonomous System (AS) is assigned a 16-bit number (65536 total)

Currently 10,000 AS’s in use

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

28

Advertising a Route

One router telling another one The prefix IP address of the next hop Path list of AS’s that the announcement has

passed through Since announcement propagates from destination, this

yields the path

No refresh messages required The announcing router will follow the path

itself

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

29

BGP Routing Table Scaling

Many small networks Aggregation hides a lot…

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

30

BGP Update Message

Contains information about New Routes Withdrawn Routes: No longer valid Path Attributes:

Path Weights Multple Exit Discriminators Local Preferences Etc.

Attribute information allows policies to be implemented

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

31

BGP: A Path-vector protocol

ner-routes>show ip bgp

BGP table version is 6128791, local router ID is 4.2.34.165

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

* i3.0.0.0 4.0.6.142 1000 50 0 701 80 i

* i4.0.0.0 4.24.1.35 0 100 0 i

* i12.3.21.0/23 192.205.32.153 0 50 0 7018 4264 6468 ?

* e128.32.0.0/16 192.205.32.153 0 50 0 7018 4264 6468 25 e

Every route advertisement contains the entire AS path

Generalization of distance vector Can implement policies for choosing best route Can detect loops at an AS level

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

32

Multihoming

Two or more interdomain connections between the same AS’s

Two or more interdomain connections between a customer and different ISPs

6

4

3

2

A

B

2

4

3

6

7

8

5

1

RIP

IGRP

IBGP

IBGP

a

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

33

Multiexit Discriminators (MEDs)

6

4

3

2

A

B

2

4

3

6

7

8

5

1

RIP

IGRP

IBGP

IBGP

x

One AS influences the decisionsof a neighboring AS

•AS_A wants to tell AS_B that network x is closer to router 2 than to router 3

•Router 2 advertises a smaller MED value for x than Router 3•AS_B prefers the path to x that does not go through 6 and 3•AS_B does not propagate MEDS from AS_A any further

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

34

Routing Process Overview

ImportPolicyEngine

Decisionprocess

Routesused byrouter

Routesreceived from neighbors

Routessent toneighbors

BGP table IP routingtable

Choosebest route

accept,deny, set preferences

forward,not forwardset MEDs

ExportPolicyEngine

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

35

Attribute: Local Preference

Used to indicate preference among multiple paths for the same prefix anywhere in the Internet.

The higher the value the more preferred

Exchanged between IBGP peers only. Local to the AS.

Often used to select a specific exit point for a particular destination

AS4

AS2 AS3

AS1

140.20.1.0/24

Destination AS Path Local Pref

140.20.1.0/24 AS3 AS1 300

140.20.1.0/24 AS2 AS1 100

BGP table at AS4:

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

36

Choosing best route

Choose route with highest LOCAL_PREF Preference-based routing

If multiple choices, select route with shortest hop-count

If multiple choices for same neighboring AS, choose path with max MED value

Choose route based on lowest origin type IGP < EGP < INCOMPLETE

Among IGP paths, choose one with lowest cost Finally use router ID to break the tie.

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

37

BGP Policies

Multiple ways to implement a “policy” Decide not propagate advertisements

I’m not carrying your traffic Decide not to consider MEDs but use shortest

hop Hot potato routing

Prepend own AS# multiple times to fool BGP into not thinking AS further away

Many others…

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

38

Transit vs. Nontransit AS

AS1

ISP1 ISP2

r1r2 r2

r3

r2

r1 r3

AS1

ISP1 ISP2

r1r2,r3 r2,r1

r3

r2

r1 r3

Transit traffic = traffic whose source and destination are outside the AS

Nontransit AS: does not carry transit traffic Transit AS: does carry transit traffic• Advertise own routes only• Do not propagate routes learned from other AS’s

• Advertises its own routes PLUS routeslearned from other AS’s

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

39

Customer-Transit Problem

Small ISP

Large ISP Large ISP

r1

r2,r3 r2,r1r3

r2

r1 r3

Assume that the small ISP is a customer of two large ISPs If customer ISP does not obey export rules

forwards advertisements from one large ISP to another Carries huge volume of transit traffic between two large ISPs

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

40

BGP and Performance

BGP isn’t designed for policy routing not performance Hot Potato routing is most common but suboptimal Performance isn’t the greatest

20% of internet paths inflated by at least 5 router hops Very susceptible to router misconfiguration

Blackholes: announce a route you cannot reach October 1997 one router brought down the internet for 2 hours

Flood update messages (don’t store routes, but keep asking your neighbors to clue you in). 3-5 million useless withdrawals!

In principle, BGP could diverge Various solutions proposed to limit the set of allowable policies Focuses on avoiding “policy cycles”

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

41

4/1-4/16 2002•1,224,733 IP addresses, •2,093,194 IP links, •932,000 destinations, •70% of globally routable network prefixes; •10,999 ASes (84% of ASes),•34,209 peering sessions

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

42

Skitter Legend

Plot the AS based on polar co-ordinates (r,θ): r = 1- log (As degree +1 / Max Degree+1)

Higher the degree lower the radius Θ = longitude of AS headquarters

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

43

February 25, 2003 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002

44

Summary

The Internet is composed of various ASes which use BGP to inter-network themselves

The Internet uses classless addressing BGP as a routing protocol

Path-vector based Supports route-aggregation Supports preferential routing Uses Import and Export policies

BGP is the protocol that “holds” the Internet together