No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best...

56
29 Inter-Domain Routing & BGP

Transcript of No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best...

Page 1: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

29

Inter-Domain Routing & BGP

Page 2: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

Outline

The glue that holds the Internet together : interdomain routing with The Border Gateway Protocol (BGP)

Page 3: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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 4: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

•  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 5: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

The Gang of Four

Link State Vectoring

EGP

IGP

BGP

RIP IS-IS

OSPF

Page 6: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

6

Many Routing Processes Can Run on a Single Router

Forwarding Table

OSPF Domain

RIP Domain

BGP

OS kernel

OSPF Process

OSPF Routing tables

RIP Process

RIP Routing tables

BGP Process

BGP Routing tables

Forwarding Table Manager

Page 7: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

31

Internet Hierarchy

What is an Autonomous System (AS)?A set of routers under a single technical administration, using an intra-domain routing protocol (IGP) and common metrics to route packets within the AS and using an inter-domain routing protocol (EGP) to route packets to other ASesSometimes ASes use multiple intra-domain routing protocols and metrics, but appear as a single AS to other ASes

Each AS is assigned a unique ID

Page 8: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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 9: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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

Qwest

Yale University

Nail up default routes 0.0.0.0/0 pointing to Qwest

Nail up routes 130.132.0.0/16 pointing to Yale

130.132.0.0/16

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

Page 10: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

ASNs Can Be “Shared” (RFC 2270)

AS 701 UUNet

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

AS 7046 Crestar Bank

AS 7046 NJIT

AS 7046 Hood College

128.235.0.0/16

Page 11: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

10

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 12: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

11

BGP Operations (Simplified)

Establish session on TCP port 179

Exchange all active routes

Exchange incremental updates

AS1

AS2

While connection is ALIVE exchange route UPDATE messages

BGP session

Page 13: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

12

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 14: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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

Most important attributes

Not all attributes need to be present in every announcement

Page 15: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

Attributes are Used to Select Best Routes

192.0.2.0/24 pick me!

192.0.2.0/24 pick me!

192.0.2.0/24 pick me!

192.0.2.0/24 pick me!

Given multiple routes to the same prefix, a BGP speaker must pick at most one best route

(Note: it could reject them all!)

Page 16: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

15

BGP Route Processing

Best Route Selection

Apply Import Policies

Best Route Table

Apply Export Policies

Install forwarding Entries for best Routes.

Receive BGP Updates

Best Routes

Transmit BGP Updates

Apply Policy = filter routes & tweak attributes

Based on Attribute Values

IP Forwarding Table

Apply Policy = filter routes & tweak attributes

Open ended programming. Constrained only by vendor configuration language

Page 17: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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 and break ties

Page 18: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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

outbound routes

inbound routes

inbound traffic

outbound traffic

In general, an AS has more control over outbound traffic

Page 19: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

18

ASPATH Attribute

AS7018 135.207.0.0/16 AS Path = 6341

AS 1239 Sprint

AS 1755 Ebone

AT&T

AS 3549 Global Crossing

135.207.0.0/16 AS Path = 7018 6341

135.207.0.0/16 AS Path = 3549 7018 6341

AS 6341

135.207.0.0/16 AT&T Research

Prefix Originated

AS 12654 RIPE NCC RIS project

AS 1129 Global Access

135.207.0.0/16 AS Path = 7018 6341

135.207.0.0/16 AS Path = 1239 7018 6341

135.207.0.0/16 AS Path = 1755 1239 7018 6341

135.207.0.0/16 AS Path = 1129 1755 1239 7018 6341

Page 20: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

AS Graphs Do Not Show Topology!

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

BGP was designed to throw away information!

Page 21: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

AS Graphs Depend on Point of View

peer peer

customer provider

5 4

2

1 3

6

5 4

2

6

1 3

5 4 6

1 3

5 4

2

6

1 3 2

Page 22: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

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

Exporting internal state would dramatically increase global instability and amount of routing state

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 23: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

22

Shedding Inbound Traffic with ASPATH Padding Hack

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

AS 1

192.0.2.0/24 ASPATH = 2 2 2

customer AS 2

provider

192.0.2.0/24

backup primary

192.0.2.0/24 ASPATH = 2

Page 24: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

23

Padding May Not Shut Off All Traffic

AS 1

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

customer AS 2

provider

192.0.2.0/24

192.0.2.0/24 ASPATH = 2

AS 3 provider

AS 3 will send traffic on “backup” link because it prefers customer routes and local preference is considered before ASPATH length!

Padding in this way is often used as a form of load balancing

backup primary

Page 25: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

24

COMMUNITY Attribute to the Rescue!

AS 1

customer AS 2

provider

192.0.2.0/24

192.0.2.0/24 ASPATH = 2

AS 3 provider

backup primary

192.0.2.0/24 ASPATH = 2 COMMUNITY = 3:70

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

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

Page 26: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

25

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 27: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

26

Getting Burned by the Hot Potato

15 56

17 2865 High bandwidth

Provider backbone

Low bandwidth customer 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 28: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

27

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

15 56

17 2865 Heavy

Content Web Farm

192.44.78.0/24

192.44.78.0/24 MED = 15

192.44.78.0/24 MED = 56

This means that MEDs must be considered BEFORE IGP distance!

Prefer lower MED values

Note1 : some providers will not listen to MEDs Note2 : MEDs need not be tied to IGP distance

Page 29: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

29

Inter-Domain Routing & BGP

Page 30: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

30

Picture of the Internet

Intra-domain routing inside an ASIner-domain routing between ASes

AS-1

AS-2

AS-3

Interior routerBorder router

Figures by MIT OpenCourseWare.

Page 31: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

33

A Logical View of the Internet

Tier 1 Tier 1

Tier 2

Tier 2

Tier 2

Tier 3

Internet connectivity is provided by commercial entities called ISPs, who compete for profit yet have to cooperate to provide connectivity

Each ISP has its own AS (sometimes multiple ASes)

Not all ISPs are created equalTier 1 ISP

�• �“Default-free�” global reachability info

Tier 2 ISP�• Regional or country-wide

Tier 3 ISP�• Local

Figures by MIT OpenCourseWare.

Page 32: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

34

Inter-AS Relationship: Transit vs. Peering

ISP X

ISP Y

ISP Z

ISP P

Transit ($)

Transit ($$$)

Transit ($$)

Transit ($$)

Peering

Transit ($$$)

Transit ($)

Transit ($$)

Transit ($$$)

Figures by MIT OpenCourseWare.

Page 33: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

35

Policy Impact on Routing

AS relationshipsCustomer-providerPeers

Want �“Valley-free�” routesNumber links as (+1, 0, -1) for provider, peer and customer linksIn any path, you should only see sequence of +1, followed by at most one 0, followed by sequence of -1

Page 34: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

36

Customer-Provider Hierarchy

IP trafficprovider customer

Page 35: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

37

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 36: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

38

Peering Provides Shortcuts

peer peer

customerprovider

Page 37: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

39

Policy-Based RoutingPolicies are used to force customer-provider-peer relationships, backup links, load balancing, �…Can�’t use shortest path routing

No universal metric �– policy-based decisionsMain characteristic of shortest path does not hold (i x j is shortest route, then x j is shortest route)

Problems with distance-vector:Bellman-Ford algorithm may not converge, and may loop

Problems with link state:Metric used by different routers are not the same loopsLS database too large �– entire InternetMay expose policies to other AS�’s

Page 38: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

40

BGP: Distance Vector with PathEach routing update carries the entire path

e.g.,: destination 18.26/16 is reachable using {AS1, AS3, AS11}When AS receives a routing update

Reject routes with loops�• To detect loops check whether my AS is already in path

AS remembers loop-free routesFor each destination, the AS chooses the best route according its policies. AS advertises a neighbor routes to a subset of all the destinations, depending on its policy

E.g., I might hide from you that I know how to get to destination X, because I don�’t want to deliver your messages to X

AS advertises to neighbors only those routes that it usesEnsures that if i x j is the used route, then x j is the used routeWhat happens if an AS advertises routes that it doesn�’t use?

Advantage:Metrics are local - AS chooses path, protocol ensures no loops

Page 39: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

43

BGP provides capability for enforcing various policiesPolicies are not part of BGP: they are provided to BGP as configuration informationBGP enforces policies by 1. choosing paths from multiple alternatives

(importing routers)2. controlling advertisement to other AS�’s (exporting

routes)

Implementing Customer/Provider and Peer/Peer relationships using BGP

Page 40: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

44

Importing Routes

Based on route attributesFirst, Prefer customer > peer > providerThen, Shortest AS PATH lengthThen, look at other route attributes

Page 41: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

45

Exporting Routes

When an AS exports a route, others can use the AS to forward packets along that routeRules:

Export customers routes to everyone�• why?

Export routes to your own addresses to everyone�• Why?

Don�’t export routes advertised to you by your provider (may advertise them to customers)

�• Why?Don�’t export routes advertised to you by your peer (may advertise them to customers)

�• Why?

Page 42: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

46

Import Routes

Frompeer

Frompeer

Fromprovider

Fromprovider

From customer

From customer

provider route customer routepeer route ISP route

(Prefer customer > peer > provider)

Page 43: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

47

Export Routes

Topeer

Topeer

Tocustomer

Tocustomer

Toprovider

From provider

provider route customer routepeer route ISP route

filtersblock

Page 44: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

53

Two Types of BGP Neighbor Relationships

�• External Neighbor (eBGP) in a different Autonomous Systems

�• Internal Neighbor (iBGP) in the same Autonomous System AS1

AS2

eBGP

iBGP

Page 45: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

54

iBGP

AS has more than one router participating in eBGPiBGP is run between BGP routers in the same AS to allow all of them to obtain a complete and consistent view of external routes

AS

iBGP

Page 46: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

55

Internal BGP (iBGP)

Same messages as eBGPDifferent rules about re-advertising prefixes:

Prefix learned from eBGP can be advertised to iBGPneighbor and vice-versa, but Prefix learned from one iBGP neighbor cannot be advertised to another iBGP neighbor

�• Reason: no AS PATH within the same AS and thus danger of looping.

Page 47: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

56

We learned

Inter-domain routing uses policy As a result, routing is not a simple optimization of a single number which can be done using shortest path algorithmsBGP is designed to route based on policies

Page 48: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

11

Validity of the routing information: Origin authentication

Page 49: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

12

IP Address Ownership and Hijacking

• IP address block assignment–Regional Internet Registries (ARIN, RIPE, APNIC)–Internet Service Providers

• Proper origination of a prefix into BGP–By the AS who owns the prefix–… or, by its upstream provider(s) in its behalf

• However, what’s to stop someone else?–Prefix hijacking: another AS originates the prefix–BGP does not verify that the AS is authorized–Registries of prefix ownership are inaccurate

Page 50: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

13

Prefix Hijacking

1

2

3

4

5

67

12.34.0.0/1612.34.0.0/16

• Consequences for the affected ASes– Blackhole: data traffic is discarded– Snooping: data traffic is inspected, and then redirected– Impersonation: data traffic is sent to bogus destinations

Page 51: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

14

Hijacking is Hard to Debug

• Real origin AS doesn’t see the problem–Picks its own route–Might not even learn the bogus route

• May not cause loss of connectivity–E.g., if the bogus AS snoops and redirects–… may only cause performance degradation

• Or, loss of connectivity is isolated–E.g., only for sources in parts of the Internet

• Diagnosing prefix hijacking–Analyzing updates from many vantage points–Launching traceroute from many vantage points

Page 52: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

15

Sub-Prefix Hijacking

1

2

3

4

5

67

12.34.0.0/1612.34.158.0/24

• Originating a more-specific prefix– Every AS picks the bogus route for that prefix– Traffic follows the longest matching prefix

Page 53: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

16

How to Hijack a Prefix

• The hijacking AS has–Router with eBGP session(s)–Configured to originate the prefix

• Getting access to the router–Network operator makes configuration mistake–Disgruntled operator launches an attack–Outsider breaks in to the router and reconfigures

• Getting other ASes to believe bogus route–Neighbor ASes not filtering the routes–… e.g., by allowing only expected prefixes–But, specifying filters on peering links is hard

Page 54: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

17

The February 24 YouTube Outage• YouTube (AS 36561)

– Web site www.youtube.com– Address block 208.65.152.0/22

• Pakistan Telecom (AS 17557)– Receives government order to block access to YouTube– Starts announcing 208.65.153.0/24 to PCCW (AS 3491)– All packets directed to YouTube get dropped on the floor

• Mistakes were made– AS 17557: announcing to everyone, not just customers– AS 3491: not filtering routes announced by AS 17557

• Lasted 100 minutes for some, 2 hours for others

Page 55: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

18

Timeline (UTC Time)• 18:47:45

– First evidence of hijacked /24 route propagating in Asia

• 18:48:00– Several big trans-Pacific providers carrying the route

• 18:49:30– Bogus route fully propagated

• 20:07:25– YouTube starts advertising the /24 to attract traffic back

• 20:08:30– Many (but not all) providers are using the valid route

http://www.renesys.com/blog/2008/02/pakistan_hijacks_youtube_1.shtml

Page 56: No Slide Titleplanete.inria.fr/dabbous/INF566/BGP.pdf · 2011. 3. 1. · router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance •

19

Timeline (UTC Time)• 20:18:43

– YouTube starts announcing two more-specific /25 routes

• 20:19:37– Some more providers start using the /25 routes

• 20:50:59– AS 17557 starts prepending (“3491 17557 17557”)

• 20:59:39– AS 3491 disconnects AS 17557

• 21:00:00– All is well, videos of cats flushing toilets are available

http://www.renesys.com/blog/2008/02/pakistan_hijacks_youtube_1.shtml