interdomain routing - University of California, Berkeley

hardsweetlipsNetworking and Communications

Oct 28, 2013 (3 years and 9 months ago)

121 views

Interdomain Routing

EECS 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

3

1

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

10

11

Inter Domain

Routing

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
-
Up

ISP

Access

Network

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 from

William 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 from

William 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

BGP

R2

R1

R3

A

AS1

AS2

you can reach

net A via me

traffic to A

table at R1:

dest

next hop

A

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

R2

R3

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 Sessions

AS1

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

16

0

network

host

1

24

0

~2 million nets

256 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 2
k

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


2
6

= 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: 2
32
-
Y

addresses in the range


Example 128.5.10/23


Common prefix is 23 bits: 01000000 00000101 0000101


Number of addresses: 2
9

= 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 decisions

of 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

Import

Policy

Engine

Decision

process

Routes

used by

router

Routes

received

from

neighbors

Routes

sent to

neighbors

BGP table

IP routing

table

Choose

best route

accept,

deny, set

preferences

forward,

not forward

set MEDs

Export

Policy

Engine

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

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

r1

r2

r2

r3

r2

r1

r3

AS1

ISP1

ISP2

r1

r2,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 routes

learned 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,r1

r3

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