Interdomain Routing Protocols - GBP

47
1 Dr. Yingwu Zhu Interdomain Routing Protocols - GBP

description

Interdomain Routing Protocols - GBP. Dr. Yingwu Zhu. Exterior Routing Protocols. Problems: Topology: The Internet is a complex mesh of different AS’s with very little structure. Autonomy of AS’s: Each AS defines link costs in different ways, so not possible to find lowest cost paths. - PowerPoint PPT Presentation

Transcript of Interdomain Routing Protocols - GBP

Page 1: Interdomain Routing Protocols - GBP

1

Dr. Yingwu Zhu

Interdomain Routing Protocols- GBP

Page 2: Interdomain Routing Protocols - GBP

Exterior Routing Protocols

Problems:Topology: The Internet is a complex mesh of different AS’s

with very little structure.Autonomy of AS’s: Each AS defines link costs in different

ways, so not possible to find lowest cost paths.Trust: Some AS’s can’t trust others to advertise good routes

(e.g. two competing backbone providers), or to protect the privacy of their traffic (e.g. two warring nations).

Policies: Different AS’s have different objectives (e.g. route over fewest hops; use one provider rather than another).

Page 3: Interdomain Routing Protocols - GBP

Border Gateway Protocol (BGP-4)

• BGP is not a link-state or distance-vector routing protocol.– Instead, BGP uses “Path vector”

• BGP advertises complete paths (a list of AS’s).– Also called AS_PATH (this is the path vector)– Example of path advertisement:“The network 171.64/16 can be reached via the path {AS1, AS5, AS13}”.

• Paths with loops are detected locally and ignored.• Local policies pick the preferred path among options.• When a link/router fails, the path is “withdrawn”.

Page 4: Interdomain Routing Protocols - GBP

4

Autonomous Systems

• An autonomous system (AS) is a region of the Internet that is administered by a single entity and that has a unified routing policy

• Each autonomous system is assigned an Autonomous System Number (ASN: 16-bit unique number).

• Stanford(AS32) • Rogers Cable Inc. (AS812)• Sprint (AS1239, AS1240, AS 6211, …)• AT&T (AS 6431, …)

• Interdomain routing is concerned with determining paths between autonomous systems (interdomain routing)

• Routing protocols for interdomain routing are called exterior gateway protocols (EGP)

Page 5: Interdomain Routing Protocols - GBP

Internet Structure

5

Page 6: Interdomain Routing Protocols - GBP

6

Interdomain and Intradomain Routing

• Routing protocols for intradomain routing are called interior gateway protocols (IGP)– Objective: shortest path

• Routing protocols for interdomain routing are called exterior gateway protocols (EGP)– Objective: satisfy policy of the AS

AS 6 AS 7

AS 4

AS 2 AS 5

AS 1

AS 3

Page 7: Interdomain Routing Protocols - GBP

7

Interdomain vs Intradomain

• Intradomain routing (OSPF, RIP)– Routing is done based on metrics– Routing domain is one autonomous system– Routing on IP addresses

• Interdomain routing (BGP)– Routing is done based on policies and business relations– Routing domain is the entire Internet– Routing is based on AS numbers

EGP (e.g., BGP)

AS 2 AS 2

IGP (e.g., OSPF)IGP (e.g., RIP)

Page 8: Interdomain Routing Protocols - GBP

8

Interdomain Routing

• Interdomain routing is based on connectivity between autonomous systems

• Interdomain routing can ignore many details of router interconnection

AS 1 AS 2

AS 3

Page 9: Interdomain Routing Protocols - GBP

9

AS Graphs

From: T. Griffin, BGP Tutorial, ICNP 2002

AT&T North America

Page 10: Interdomain Routing Protocols - GBP

10

Multiple Routing Protocols

• Multiple routing protocols can run on the same router

• Each routing protocol updates the routing table

routingtable

IP Forwarding

routing tablelookup

incoming IP datagrams

outgoing IP datagrams

routing protocol

routing protocol

RIP Process

OSPFProcess

BGP Process

routing table updates

Page 11: Interdomain Routing Protocols - GBP

11

Autonomous Systems Terminology

• local traffic = traffic with source or destination in AS

• transit traffic = traffic that passes through the AS• Stub AS = has connection to only one AS, only

carry local traffic• Multihomed AS = has connection to >1 AS, but does

not carry transit traffic• Transit AS = has connection to >1 AS and

carries transit traffic

Page 12: Interdomain Routing Protocols - GBP

12

Stub and Transit Networks

• AS 1, AS 2, and AS 5 are stub networks

• AS 2 is a multi-homed stub network

• AS 3 and AS 4 are transit networks

AS 3

AS 1

AS 4

AS 2

AS 5

Page 13: Interdomain Routing Protocols - GBP

13

Selective Transit

Example:• Transit AS 3 carries traffic

between AS 1 and AS 4 and between AS 2 and AS 4

• But AS 3 does not carry traffic between AS 1 and AS 2

• The example shows a routing policy.

AS 2AS 1

AS 3

AS 4

Page 14: Interdomain Routing Protocols - GBP

14

Customer/Provider

• A stub network typically obtains access to the Internet through a transit network.

• Transit network that is a provider may be a customer for another network

• Customer pays provider for service

AS 5

AS 2

Customer/Provider

AS 6

Customer/Provider

AS 6

Customer/Provider

AS 4

Customer/Provider

AS 6

Customer/Provider

Page 15: Interdomain Routing Protocols - GBP

15

Customer/Provider and Peers

• Transit networks can have a peer relationship• Peers provide transit between their respective customers• Peers do not provide transit between peers• Peers normally do not pay each other for service

AS 3

AS 5

AS 2Peers

Customer/Provider

AS 6

Customer/Provider

AS 1Peers

AS 6

Customer/Provider

AS 4

Customer/Provider

AS 6

Customer/Provider

Page 16: Interdomain Routing Protocols - GBP

16

Shortcuts through peering

• Note that peering reduces upstream traffic• Delays can be reduced through peering• But: Peering may not generate revenue

AS 3

AS 5

AS 2Peers

Customer/Provider

AS 6

Customer/Provider

AS 1Peers

AS 6

Customer/Provider

AS 4

Customer/Provider

AS 6

Customer/Provider

Peers

Page 17: Interdomain Routing Protocols - GBP

17

Border Gateway Protocol (BGP)

• Border Gateway Protocol is the interdomain routing protocol for the Internet for routing between autonomous systems

• Currently in version 4 (1995)– Network administrators can specify routing policies– BGP is a distance vector protocol (However, routing

messages in BGP contain complete routes)

• Uses TCP to transmit routing messages

Page 18: Interdomain Routing Protocols - GBP

18

Border Gateway Protocol (BGP)

• An autonomous system uses BGP to advertise its network address(es) to other AS’s

• BGP helps an autonomous system with the following:

1. Collect information about reachable networks from neighboring AS’s

2. Disseminate the information about reachable networks to routers inside the AS and to neighboring AS’s

3. Picks routes if there are multiple routes available

Page 19: Interdomain Routing Protocols - GBP

19

BGP interactions

• Router establishes a TCP connection (TCP port 175)

• Routers exchange BGP routes• Periodically send updates• BGP is executed between two

routers– BGP session– BGP peers or BGP speakers

• Note: Not all autonomous systems need to run BGP. On many stub networks, the route to the provider can be statically configured

AS 1

AS 2

BGP Session

Page 20: Interdomain Routing Protocols - GBP

Advertising a Prefix

• When a router advertises a prefix to one of its BGP neighbors: – information is valid until first router explicitly

advertises that the information is no longer valid – BGP does not require routing information to be

refreshed– if node A advertises a path for a prefix to node B, then

node B can be sure node A is using that path itself to reach the destination.

20

Page 21: Interdomain Routing Protocols - GBP

21

BGP interactions

AS 2

AS 1

AS 3

• The networks that are advertised are network IP addresses with a prefix, E.g., 128.100.0.0/16

Prefixes reachable from AS 1

Prefixes reachablefrom AS 3

Page 22: Interdomain Routing Protocols - GBP

22

BGP interactions

• BGP peers advertise reachability of IP networks

• A advertises a path to a network (e.g., 10.0.0.0/8) to B only if it is willing to forward traffic going to that network

• Path-Vector:– A advertises the complete

path to the advertised network– Path is sent as a list of AS’s

this avoids loops

A

B

Advertisepath to 10.0.0.0/24

10.0.0.0/24

BGP Peer

BGP Peer

Page 23: Interdomain Routing Protocols - GBP

23

BGP Sessions

• External BGP session (eBGP):Peers are in different AS’es

• Internal BGP session (iBGP)Peers are in same AS’es

• Note that iBGP sessions are going over routes that are set up by an intradomain routing protocol!

AS B

iBGP session

eBGP session

AS A

Page 24: Interdomain Routing Protocols - GBP

24

iBGP sessions

• All iBGP peers in the same autonomous system are fully meshed

• Peer announces routes received via eBGP to iBGP peers

• But: iBGP peers do not announce routes received via iBGP to other iBGP peers

Update from eBGP session

AS A

Page 25: Interdomain Routing Protocols - GBP

25

Hot Potato Routing

• Router R3 in autonomous system A receives two advertisements to network X– Which route should it pick?

• Hot Potato Rule: Select the iBGP peer that has the shortest IGP route

• Analogy: Get the packet out of one’s own AS as quickly as possible, i.e., on the shortest path

Route to X

AS A

R1

Route to X

R2

Route to X Route

to X

R3

Page 26: Interdomain Routing Protocols - GBP

26

Hot Potato Routing

Finding the cheapest IGP route:• Compare the cost of the two

paths– R3 R1 – R3 R2

according to the IGP protocol

• Here: R1 has the shortest path

• Add a routing table entry for destination X

Route to X

AS A

R1

Route to X

R2

Cost=6

R3

Cost=23

Page 27: Interdomain Routing Protocols - GBP

27

Hot Potato Routing can backfire!

• AS1 would serve its customer (source) better by not picking the shortest route to AS 2

• In fact, customer may have paid for a high-bandwidth service!

AS 2

AS 1

Low bandwidth network

Cost=20

Destination

Source

Cost=5

High bandwidth network

Page 28: Interdomain Routing Protocols - GBP

28

BGP Message Types

• Open: Establishes a peering session

• Keep Alive: Handshake at regular intervals to

maintain peering session

• Notification: Closes a peering session

• Update: Advertises new routes or withdraws

previously announced routes. Each announced route is

specified as a network prefix with attribute values

Page 29: Interdomain Routing Protocols - GBP

29

Content of Advertisements

• BGP routers advertise routes

• Each route consists of a network prefix and a list of attributes that specify information about a route

• Mandatory attributes:

ORIGIN

AS_PATH

NEXT_HOP

• Many other attributes

Page 30: Interdomain Routing Protocols - GBP

30

ORIGIN attribute

• Originating domain sends a route with ORIGIN attribute• ORIGIN attributes also specifies if the origin is internal to the AS or not

AS 1

AS 2 AS 4

AS 5

AS 3

10.0.1.0/8, ORIGIN {1}

10.0.1.0/8, ORIGIN {1}

10.0.1.0/8, ORIGIN {1}

10.0.1.0/8, ORIGIN {1}

10.0.1.0/8, ORIGIN {1}

Page 31: Interdomain Routing Protocols - GBP

31

AS-PATH attributes

• Each AS that propagates a route prepends its own AS number– AS-PATH collects a path to reach the network prefix

• Path information prevents routing loops from occurring• Path information also provides information on the length of a path (By

default, a shorter route is preferred)• Note: BGP aggregates routes according to CIDR rules

AS 1

AS 2 AS 4

AS 5

AS 3

10.0.1.0/8, AS-PATH {2,1}

10.0.1.0/8, AS-PATH {3,1}

10.0.1.0/8, AS-PATH {4,2,1}

10.0.1.0/8, AS-PATH {1}

10.0.1.0/8, AS-PATH {1}

Page 32: Interdomain Routing Protocols - GBP

32

NEXT-HOP attributes

• Each router that sends a route advertisement it includes its own IP address in a NEXT-HOP attribute

• The attribute provides information for the routing table of the receiving router.

AS 5 AS 1

AS 3

128.100.11.1 128.143.71.21

10.0.1.0/8, NEXT-HOP {128.100.11.1}

10.0.1.0/8, NEXT-HOP {128.143.71.21}

Page 33: Interdomain Routing Protocols - GBP

33

Connecting NEXT-HOP with IGP information

AS 1

AS 3

128.100.11.1/24 192.0.1.2

eBGP

iBGP

R1IGP router

10.1.1.0/8, NEXT-HOP {128.100.11.1}

10.1.1.0/8, NEXT-HOP {128.100.11.1}

Dest. Next hop128.100.11.0/24 192.0.1.2

At R1:

Dest. Next hop10.1.1.0/8 128.100.11.1

Routing table

BGP info

Dest. Next hop128.100.11.0/24 192.0.1.2

10.1.1.0/8 192.0.1.2

Routing table

Page 34: Interdomain Routing Protocols - GBP

Local Preference Attribute

34

Page 35: Interdomain Routing Protocols - GBP

Use of Local Preference

35

Page 36: Interdomain Routing Protocols - GBP

Multi-Exit Discriminator (MED) Attribute

36

Page 37: Interdomain Routing Protocols - GBP

BGP route selection

• Router may learn about more than 1 route to some prefix. Router must select route.

• Elimination rules:

1. Local preference value attribute: policy decision

2. Shortest AS-PATH

3. Closest NEXT-HOP router: hot potato routing

4. Additional criteria

Page 38: Interdomain Routing Protocols - GBP

38

Importing and Exporting Routes

• An AS may not accept all routes that are advertised

• An AS may not advertise certain routes

• Route policies determines which routes are filtered

• If an AS wants to have less inbound traffic it should adapt its export rules

• If an AS wants to control its inbound traffic, it adapts its import rules (When gateway router receives route advert, uses import policy to accept/decline.)

Control Inbound

traffic

AS A

Change export rules

Change import rules

Control Outbound

traffic

Page 39: Interdomain Routing Protocols - GBP

Import Policy: Local Preference

39

Page 40: Interdomain Routing Protocols - GBP

Import Policy: Filtering

40

Page 41: Interdomain Routing Protocols - GBP

Export Policy: Filtering

41

Page 42: Interdomain Routing Protocols - GBP

Export Policy: Attribute Manipulation

42

Page 43: Interdomain Routing Protocols - GBP

43

Routing Policies

• Since AS 5 is a stub network it should not advertise routes to networks other than networks in AS 5

• When AS 3 learns about the path {AS1, AS4}, it should not advertise the route {AS3, AS1, AS4} to AS 2.

AS 1

AS 3

AS 5

AS 2

Peers

Customer/Provider

Peers

Customer/Provider

AS 4

AS 6

Peers

Customer/Provider

Page 44: Interdomain Routing Protocols - GBP

44

Traffic Often Follows ASPATH

• In many cases, packets are routed according to the AS-PATH

• However, in some cases this is not true

(Here: AS 2 filters routes with a long prefix)

AS 2 AS 5AS 3AS 1128.100.0.0/16

128.100.0.0/16, AS-PATH {3,2,1}

AS 2 AS 5AS 3AS 1128.100.0.0/16

128.100.0.0/16, AS-PATH {3,2,1}

AS 4

128.100.22.0/24, AS-PATH {4}

128.100.22.0/24

128.100.0.0/16, AS-PATH {1}

128.100.0.0/16, AS-PATH {2, 1}

Does not advertise /24 networks

Page 45: Interdomain Routing Protocols - GBP

45

Short AS-PATH does not mean that route is short

• From AS 6’s perspective – Path {AS2, AS1} is short– Path {AS5, AS4, AS3, AS1} is

long

• But the number of traversed routers is larger when using the shorter AS-PATH

AS 1

AS 3

AS 4

AS 5

AS 2

AS 6

Page 46: Interdomain Routing Protocols - GBP

46

BGP Table Growth

Source: Geoff Huston. http://www.telstra.net/ops/bgptable.html on August 8, 2001

Page 47: Interdomain Routing Protocols - GBP

47

BGP Issues

• BGP is a simple protocol but it is very difficult to configure

• BGP has severe stability issue due to policies BGP is known to not converge

• As of July 2005, 39,000 AS numbers (of available 64,510) are consumed