interdomain routing and bgp routing

44
Interdomain Routing and BGP Interdomain Routing and BGP Routing Routing NJIT May 3, 2003 Timothy G. Griffin AT&T Research [email protected] http://www.research.att.com/~griffin

Upload: shay-farmer

Post on 04-Jan-2016

57 views

Category:

Documents


2 download

DESCRIPTION

Interdomain Routing and BGP Routing. Timothy G. Griffin AT&T Research [email protected] http://www.research.att.com/~griffin. NJIT May 3, 2003. Architecture of Dynamic Routing. OSPF. BGP. AS 1. EIGRP. IGP = Interior Gateway Protocol. Metric based: OSPF, IS-IS, RIP, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Interdomain Routing and BGP Routing

Interdomain Routing and BGP Interdomain Routing and BGP RoutingRouting

NJIT May 3, 2003

Timothy G. Griffin AT&T Research

[email protected]

http://www.research.att.com/~griffin

Page 2: Interdomain Routing and BGP Routing

Architecture of Dynamic Routing

AS 1

AS 2

BGP

EGP = Exterior Gateway Protocol

IGP = Interior Gateway Protocol

Metric based: OSPF, IS-IS, RIP, EIGRP (cisco)

Policy based: BGP

The Routing Domain of BGP is the entire Internet

OSPF

EIGRP

Page 3: Interdomain Routing and BGP Routing

• Topology information is flooded within the routing domain

• Best end-to-end paths are computed locally at each router.

• Best end-to-end paths determine next-hops.

• Based on minimizing some notion of distance

• Works only if policy is shared and uniform

• Examples: OSPF, IS-IS

• Each router knows little about network topology

• Only best next-hops are chosen by each router for each destination network.

• Best end-to-end paths result from composition of all next-hop choices

• Does not require any notion of distance

• Does not require uniform policies at all routers

• Examples: RIP, BGP

Link State Vectoring

Technology of Distributed Routing

Page 4: Interdomain Routing and BGP Routing

The Gang of Four

Link State Vectoring

EGP

IGP

BGP

RIPIS-IS

OSPF

Page 5: Interdomain Routing and BGP Routing

5

Many Routing Processes Can Run on a Single Router

Forwarding Table

OSPFDomain

RIPDomain

BGP

OS kernel

OSPF Process

OSPF Routing tables

RIP Process

RIP Routing tables

BGP Process

BGP Routing tables

Forwarding Table Manager

Page 6: Interdomain Routing and BGP Routing

AS Numbers (ASNs)ASNs are 16 bit values.

64512 through 65535 are “private”

• Yale: 29 • MIT: 3• Harvard: 11• Genuity: 1 • AT&T: 7018, 6341, 5074, … • UUNET: 701, 702, 284, 12199, …• Sprint: 1239, 1240, 6211, 6242, …• …

ASNs represent units of routing policy

Currently over 12,000 in use.

Page 7: Interdomain Routing and BGP Routing

Autonomous Routing Domains Don’t Always Need BGP or an ASN

Qwest

Yale University

Nail up default routes 0.0.0.0/0pointing to Qwest

Nail up routes 130.132.0.0/16pointing to Yale

130.132.0.0/16

Static routing is the most common way of connecting anautonomous routing domain to the Internet. This helps explain why BGP is a mystery to many …

Page 8: Interdomain Routing and BGP Routing

A Bit of OGI’s AS Neighborhood

AS 2914 Verio

AS 11964 OGI128.223.0.0/16

AS 7018 AT&T

AS 1239 Sprint

AS 6366Portland State U

AS 11995Oregon Health Sciences U

AS 3356 Level 3

Sources: ARIN, Route Views, RIPE

AS 3356 Level 3

AS 14262Portland Regional Education Network

AS 7774 U of Alaska

AS 3807 U of Montana

AS 101U of Washington

Page 9: Interdomain Routing and BGP Routing

A Bit of U Oregon’s AS Neighborhood

AS 2914 Verio

AS 3582U Oregon128.223.0.0/16

AS 701 UUNET

AS 1239 Sprint

AS 3701Oregon Joint Graduate SchoolsOf Engineering

AS 4600U Oregon

AS 11537U Corp forAdvanced InternetDevelopment

AS 293 ESN

Sources: ARIN, Route Views, RIPE

Page 10: Interdomain Routing and BGP Routing

Partial View of cs.wisc.edu Neighborhood

AS 2381WiscNet

AS 209Qwest

AS 59 UW Academic Computing

128.105.0.0/16

AS 3549Global Crossing

AS 1Genuity

AS 3136 UW Madison

AS 7050 UW Milwaukee

129.89.0.0/16 130.47.0.0/16

Page 11: Interdomain Routing and BGP Routing

ASNs Can Be “Shared” (RFC 2270)

AS 701UUNet

ASN 7046 is assigned to UUNet. It is used byCustomers single homed to UUNet, but needing BGP for some reason (load balancing, etc..) [RFC 2270]

AS 7046Crestar Bank

AS 7046 NJIT

AS 7046HoodCollege

128.235.0.0/16

Page 12: Interdomain Routing and BGP Routing

Autonomous Routing Domain (ARD) != AS

• Most ARDs have no ASN (statically routed at Internet edge)

• Some unrelated ARDs share the same ASN (RFC 2270)

• Some ARDs are implemented with multiple ASNs (example: MCI)

ASes are an implementation detail of Interdomain routing

Page 13: Interdomain Routing and BGP Routing

How Many ASNs are there?

Thanks to Geoff Huston. http://bgp.potaroo.net on May 3, 2003

Page 14: Interdomain Routing and BGP Routing

AS Graphs Can Be Fun

The subgraph showing all ASes that have more than 100 neighbors in fullgraph of 11,158 nodes. July 6, 2001. Point of view: AT&T route-server

Page 15: Interdomain Routing and BGP Routing

BGP Table Growth

Thanks to Geoff Huston. http://bgp.potaroo.net on May 3, 2003

Page 16: Interdomain Routing and BGP Routing

16

Nontransit vs. Transit ASes

ISP 1ISP 2

Nontransit ASmight be a corporateor campus network.Could be a “content provider”

NET ATraffic NEVER flows from ISP 1through NET A to ISP 2(At least not intentionally!)

IP traffic

Internet Serviceproviders (often)have transit networks

Page 17: Interdomain Routing and BGP Routing

17

Selective Transit

NET BNET C

NET A provides transitbetween NET B and NET Cand between NET D and NET C

NET A

NET D

NET A DOES NOTprovide transitBetween NET D and NET B

Most transit networks transit in a selective manner…

IP traffic

Page 18: Interdomain Routing and BGP Routing

Customers and Providers

Customer pays provider for access to the Internet

provider

customer

IP trafficprovider customer

Page 19: Interdomain Routing and BGP Routing

The Peering Relationship

peer peer

customerprovider

Peers provide transit between their respective customers

Peers do not provide transit between peers

Peers (often) do not exchange $$$trafficallowed

traffic NOTallowed

Page 20: Interdomain Routing and BGP Routing

Peering Provides Shortcuts

Peering also allows connectivity betweenthe customers of “Tier 1” providers.

peer peer

customerprovider

Page 21: Interdomain Routing and BGP Routing

Golden rules of Interdomain Routing

•Thou shall prefer customer routes over all others

•Thou shall prefer peer routes to the customers of thy neighbors

•Thou shall use provider routes only as a last resort

Page 22: Interdomain Routing and BGP Routing

22

BGP-4• BGP = Border Gateway Protocol

• Is a Policy-Based routing protocol

• Is the de facto EGP of today’s global Internet

• Relatively simple protocol, but configuration is complex and the

entire world can see, and be impacted by, your mistakes.

• 1989 : BGP-1 [RFC 1105]– Replacement for EGP (1984, RFC 904)

• 1990 : BGP-2 [RFC 1163]

• 1991 : BGP-3 [RFC 1267]

• 1995 : BGP-4 [RFC 1771] – Support for Classless Interdomain Routing (CIDR)

Page 23: Interdomain Routing and BGP Routing

23

BGP Operations (Simplified)

Establish session on TCP port 179

Exchange all active routes

Exchange incremental updates

AS1

AS2

While connection is ALIVE exchangeroute UPDATE messages

BGP session

Page 24: Interdomain Routing and BGP Routing

24

Four Types of BGP Messages

• Open : Establish a peering session.

• Keep Alive : Handshake at regular intervals.

• Notification : Shuts down a peering session.

• Update : Announcing new routes or withdrawing previously announced routes.

announcement = prefix + attributes values

Page 25: Interdomain Routing and BGP Routing

BGP Attributes

Value Code Reference----- --------------------------------- --------- 1 ORIGIN [RFC1771] 2 AS_PATH [RFC1771] 3 NEXT_HOP [RFC1771] 4 MULTI_EXIT_DISC [RFC1771] 5 LOCAL_PREF [RFC1771] 6 ATOMIC_AGGREGATE [RFC1771] 7 AGGREGATOR [RFC1771] 8 COMMUNITY [RFC1997] 9 ORIGINATOR_ID [RFC2796] 10 CLUSTER_LIST [RFC2796] 11 DPA [Chen] 12 ADVERTISER [RFC1863] 13 RCID_PATH / CLUSTER_ID [RFC1863] 14 MP_REACH_NLRI [RFC2283] 15 MP_UNREACH_NLRI [RFC2283] 16 EXTENDED COMMUNITIES [Rosen] ... 255 reserved for development

From IANA: http://www.iana.org/assignments/bgp-parameters

Mostimportantattributes

Not all attributesneed to be present inevery announcement

Page 26: Interdomain Routing and BGP Routing

Attributes are Used to Select Best Routes

192.0.2.0/24pick me!

192.0.2.0/24pick me!

192.0.2.0/24pick me!

192.0.2.0/24pick me!

Given multipleroutes to the sameprefix, a BGP speakermust pick at mostone best route

(Note: it could reject them all!)

Page 27: Interdomain Routing and BGP Routing

27

BGP Route Processing

Best Route Selection

Apply Import Policies

Best Route Table

Apply Export Policies

Install forwardingEntries for bestRoutes.

ReceiveBGPUpdates

BestRoutes

TransmitBGP Updates

Apply Policy =filter routes & tweak attributes

Based onAttributeValues

IP Forwarding Table

Apply Policy =filter routes & tweak attributes

Open ended programming.Constrained only by vendor configuration language

Page 28: Interdomain Routing and BGP Routing

Route Selection Summary

Highest Local Preference

Shortest ASPATH

Lowest MED

i-BGP < e-BGP

Lowest IGP cost to BGP egress

Lowest router ID

traffic engineering

Enforce relationships

Throw up hands andbreak ties

Page 29: Interdomain Routing and BGP Routing

Tweak Tweak Tweak

• For inbound traffic– Filter outbound routes– Tweak attributes on

outbound routes in the hope of influencing your neighbor’s best route selection

• For outbound traffic– Filter inbound routes– Tweak attributes on

inbound routes to influence best route selection

outboundroutes

inboundroutes

inboundtraffic

outboundtraffic

In general, an AS has morecontrol over outbound traffic

Page 30: Interdomain Routing and BGP Routing

Import Routes

Frompeer

Frompeer

Fromprovider

Fromprovider

From customer

From customer

provider route customer routepeer route ISP route

Page 31: Interdomain Routing and BGP Routing

Export Routes

Topeer

Topeer

Tocustomer

Tocustomer

Toprovider

From provider

provider route customer routepeer route ISP route

filtersblock

Page 32: Interdomain Routing and BGP Routing

32

How Can Routes be Colored?

BGP Communities!A community value is 32 bits

By convention, first 16 bits is ASN indicating who is giving itan interpretation

communitynumber

Very powerful BECAUSE it has no (predefined) meaning

Community Attribute = a list of community values.(So one route can belong to multiple communities)

RFC 1997 (August 1996)

Used for signallywithin and betweenASes

Two reserved communities

no_advertise 0xFFFFFF02: don’t pass to BGP neighbors

no_export = 0xFFFFFF01: don’t export out of AS

Page 33: Interdomain Routing and BGP Routing

Communities Example

• 1:100– Customer routes

• 1:200– Peer routes

• 1:300– Provider Routes

• To Customers– 1:100, 1:200, 1:300

• To Peers– 1:100

• To Providers– 1:100

AS 1

Import Export

Page 34: Interdomain Routing and BGP Routing

34

ASPATH Attribute

AS7018135.207.0.0/16AS Path = 6341

AS 1239Sprint

AS 1755Ebone

AT&T

AS 3549Global Crossing

135.207.0.0/16AS Path = 7018 6341

135.207.0.0/16AS Path = 3549 7018 6341

AS 6341

135.207.0.0/16

AT&T Research

Prefix Originated

AS 12654RIPE NCCRIS project

AS 1129Global Access

135.207.0.0/16AS Path = 7018 6341

135.207.0.0/16AS Path = 1239 7018 6341

135.207.0.0/16AS Path = 1755 1239 7018 6341

135.207.0.0/16AS Path = 1129 1755 1239 7018 6341

Page 35: Interdomain Routing and BGP Routing

AS Graphs Do Not Show Topology!

The AS graphmay look like this. Reality may be closer to this…

BGP was designed to throw away information!

Page 36: Interdomain Routing and BGP Routing

AS Graphs Depend on Point of View

This explains why there is no UUNET (701) Sprint (1239) link on previous slide!

peer peer

customerprovider

54

2

1 3

6

54

2

6

1 3

54 6

1 3

54

2

6

1 32

Page 37: Interdomain Routing and BGP Routing

In fairness: could you do this “right” and still scale?

Exporting internalstate would dramatically increase global instability and amount of routingstate

Shorter Doesn’t Always Mean Shorter

AS 4

AS 3

AS 2

AS 1

Mr. BGP says that path 4 1 is better than path 3 2 1

Duh!

Page 38: Interdomain Routing and BGP Routing

38

Shedding Inbound Traffic with ASPATH Padding Hack

Padding will (usually) force inbound traffic from AS 1to take primary link

AS 1

192.0.2.0/24ASPATH = 2 2 2

customerAS 2

provider

192.0.2.0/24

backupprimary

192.0.2.0/24ASPATH = 2

Page 39: Interdomain Routing and BGP Routing

39

Padding May Not Shut Off All Traffic

AS 1

192.0.2.0/24ASPATH = 2 2 2 2 2 2 2 2 2 2 2 2 2 2

customerAS 2

provider

192.0.2.0/24

192.0.2.0/24ASPATH = 2

AS 3provider

AS 3 will sendtraffic on “backup”link because it prefers customer routes and localpreference is considered before ASPATH length!

Padding in this way is oftenused as a form of loadbalancing

backupprimary

Page 40: Interdomain Routing and BGP Routing

40

COMMUNITY Attribute to the Rescue!

AS 1

customerAS 2

provider

192.0.2.0/24

192.0.2.0/24ASPATH = 2

AS 3provider

backupprimary

192.0.2.0/24ASPATH = 2 COMMUNITY = 3:70

Customer import policy at AS 3:If 3:90 in COMMUNITY then set local preference to 90If 3:80 in COMMUNITY then set local preference to 80If 3:70 in COMMUNITY then set local preference to 70

AS 3: normal customer local pref is 100,peer local pref is 90

Page 41: Interdomain Routing and BGP Routing

41

Hot Potato Routing: Go for the Closest Egress Point

192.44.78.0/24

15 56 IGP distances

egress 1 egress 2

This Router has two BGP routes to 192.44.78.0/24.

Hot potato: get traffic off of your network as Soon as possible. Go for egress 1!

Page 42: Interdomain Routing and BGP Routing

42

Getting Burned by the Hot Potato

15 56

172865High bandwidth

Provider backbone

Low bandwidthcustomer backbone

Heavy Content Web Farm

Many customers want their provider to carry the bits!

tiny http request

huge http reply

SFF NYC

San Diego

Page 43: Interdomain Routing and BGP Routing

43

Cold Potato Routing with MEDs(Multi-Exit Discriminator Attribute)

15 56

172865

Heavy Content Web Farm

192.44.78.0/24

192.44.78.0/24MED = 15

192.44.78.0/24MED = 56

This means that MEDs must be considered BEFOREIGP distance!

Prefer lower MED values

Note1 : some providers will not listen to MEDs

Note2 : MEDs need not be tied to IGP distance

Page 44: Interdomain Routing and BGP Routing

Pointers

• Links on Interdomain routing and BGP:

• http://www.research.att.com/~griffin/interdomain.html

• Papers on BGP theory:

• http://www.research.att.com/~griffin/bgpresearch.html

[email protected]