cs551 multi-homing in bgpmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · multiple...

22
CS551 Multi-homing in BGP Bill Cheng http://merlot.usc.edu/cs551-f12 1 Computer Communications - CSCI 551 Copyright © William C. Cheng

Upload: hoangkhanh

Post on 15-Apr-2018

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

CS551Multi-homing in BGP

Bill Cheng

http://merlot.usc.edu/cs551-f12

1

Computer Communications - CSCI 551

Copyright © William C. Cheng

Page 2: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

ISPn provides transit service to Customern

2

Transit vs. Nontransit Services

Computer Communications - CSCI 551

Copyright © William C. Cheng

ISPn provides non-transit service from another ISP for

traffic for its customer

ISP1

Customer1

ISP2

Customer2

ISP3

Customer3

singly-homedsubscriber

Page 3: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

Multiple connections provide load sharing but not load

balancing

With multi-homing, a single network has more than one

connections to the Internet

can accommodate link failure

3

Multi-homing

Computer Communications - CSCI 551

Copyright © William C. Cheng

Improves reliability and performance:

bandwidth is sum of links to Internet

BGP cannot do load balancing

Page 4: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

while conventional wisdom prefers symmetric paths,

many are asymmetric

Symmetric routing

4

Issues With Multi-homing

Computer Communications - CSCI 551

Copyright © William C. Cheng

may trigger TCP’s fast retransmit algorithm

Packet re-ordering

addressing, DNS, aggregation

Other concerns:

Note: using BGP in multi-homing situation is not an

off-the-shelf use of the protocol

Page 5: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

5

Static Routing May Not Work

Computer Communications - CSCI 551

Copyright © William C. Cheng

ISP1

Static routing may send traffic to ISPs 2-n from customer

over one link and traffic to ISP1 over the other link

Lacks flexibility (especially when ISP1 grows and shrink)

Customer

ISPn

ISP2

ISP3Inter-

connect

R2 R3

R1

traffic forISP2-n

traffic forISP1

Page 6: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

no BGP, but use IMUX

or Multilink PPP

Easy solution:

6

Multi-homing to a SingleProvider: Case 1

Computer Communications - CSCI 551

Copyright © William C. Cheng

use BGP

Harder solution:

makes assumptions

about traffic (same

amount of prefixes can

be reached from both

links)

Customer

R2

ISP

R1

Page 7: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

use MED in Customer or

LOCAL-PREF in ISP

For ISP-> Customer traffic:

7

Multi-homing to a SingleProvider: Case 2

Computer Communications - CSCI 551

Copyright © William C. Cheng

break-down prefix and

advertise different

prefixes over different

links with default routes

For Customer->ISP traffic:

Customer

R2

ISP

R1

R3

138.39/16 204.70/16

Good if traffic load to/from

prefixes is equal

if single prefix in Customer, only 1 link will be used for

ISP->Customer traffic

Page 8: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

For ISP->Customer traffic,

same as before:

use MED in Customer or

LOCAL-PREF in ISP

8

Multi-homing to a SingleProvider: Case 3

Computer Communications - CSCI 551

Copyright © William C. Cheng

For Customer->ISP traffic:

R3 alternates links

(reordering?)

Customer learns full BGP

routes and load-shares

Customer

ISP

138.39/16 204.70/16

R1

R3

R2

Good if traffic load to/from prefixes is equal

Page 9: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

no equipment sharing

Most reliable approach

9

Multi-homing to a SingleProvider: Case 4

Computer Communications - CSCI 551

Copyright © William C. Cheng

same as case 2

Customer -> ISP:

same as case 3

ISP -> Customer:

Customer

ISP

138.39/16 204.70/16

R1 R2

R3 R4

Page 10: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

Customer

ISP3

ISP1 ISP2

addressing

Major issues:

10

Multi-homing to MultipleProviders

Computer Communications - CSCI 551

Copyright © William C. Cheng

aggregation

delegated by ISP1

Customer address space:

(what are the advantages and

disadvantages of each approach?)

delegated by ISP2

delegated by ISP1 and ISP2

obtained independently

Page 11: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

ISP3

ISP1 ISP2

Customer uses address space from ISP1

11

Case 1: Customer Uses AddressSpace From One ISP (1 or 2)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Customer

138.39/16

138.39.1/24

ISP1 advertises /16 aggregate

Customer advertises /24 route to ISP2

ISP2 relays route to ISP1 and

ISP3

ISP2-3 use /24 route

ISP1 routes directly

Problems with traffic load?

(longest prefix becomes a

"traffic magnet")

Note: this can actually work well

if the relative sizes of the providers

have a good match

Page 12: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

ISP1 aggregates to a /19 at border router

to reduce internal tables

12

Pitfalls

Computer Communications - CSCI 551

Copyright © William C. Cheng

ISP3

ISP1 ISP2

Customer

138.39/16

138.39.1/24

138.39.0/19

ISP1 still announces /16

ISP1 hears /24 from ISP2

ISP1 routes packets for

customer to ISP2!

Workaround: ISP1 must

inject /24 into I-BGP

Page 13: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

ISP1 and ISP2 continue to

announce aggregates

13

Case 2: Customer Uses AddressSpace From Both ISPs

Computer Communications - CSCI 551

Copyright © William C. Cheng

ISP3

ISP1 ISP2

Customer

138.39.1/24 204.70.1/24

Load sharing depends on traffic

to two prefixes

Lack of reliability: if ISP1 link

goes down, part of customer

becomes inaccessible

Customer may announce

prefixes to both ISPs, but still

problems with longest match as

in case 1

Page 14: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

suppose ISP1 large, ISP2-3

small

Offers the most control, but at the

cost of aggregation

14

Case 3: Customer Uses Its OwnAddress Space

Computer Communications - CSCI 551

Copyright © William C. Cheng

Still need to control paths:

customer advertises long

path to ISP1, but LOCAL-PREF

attribute used to override

ISP3 learns shorter path from ISP2

ISP3

ISP1 ISP2

CustomerBottom line: no good and general

solution for multi-homing to multiple providers

Page 15: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

1 will use the blue path for packets destined to 4 and the red for

packets destined to 5

15

How Can BGP Express the Following Policies:

Computer Communications - CSCI 551

Copyright © William C. Cheng

1.2

1.1

2

3

2.1 2.2

2.2.1

3.1

3.2

5

5.1

5.2

4

4.1

4.2

1

2 will not act as transit to 3

2 will not accept packets sourced in 1

Page 16: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

1.2

1.1

2

3

2.1 2.2

2.2.1

3.1

3.2

5

5.1

5.2

4

4.1

4.2

1

1 will use the blue path for packets destined to 4 and the red for

packets destined to 5 (cannot control path, just first hop)

16

How Can BGP Express the Following Policies:

Computer Communications - CSCI 551

Copyright © William C. Cheng

2 will not act as transit to 3 (do not tell anyone about 3)

2 will not accept packets sourced in 1 (no way)

Page 17: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

17

Computer Communications - CSCI 551

Copyright © William C. Cheng

Route Flap Dampening

BGP sessions disappear and reappear

Problem: route flap when a flaky link constantly goes up and

down:

routes are withdrawn and re-advertised

global effects (does the flap of a butterfly’s wing in Brazil

set off a tornado in Texas?)

BGP was extended to dampen route flaps

increase when route flaps

Associate a penalty with each route

exponentially decay penalty with time

must never forget routes

When penalty reaches threshold, suppress route

Page 18: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

18

Computer Communications - CSCI 551

Copyright © William C. Cheng

Route Flap Dampening (Cont...)

0

1

2

3

4

0 2 4 6 8 10 12 14 16 18 20 22 241 3 5 7 9 11 13 15 17 19 21 23 25

Reuse-Limit

Suppress-Limit

Time

Pe

na

lty

[CISCO - Intro to BGP]

Page 19: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

19

Computer Communications - CSCI 551

Copyright © William C. Cheng

Tricky Issues

interaction with aggregation

"Synchronizing" intra and inter-domain routing

Getting packets to the right exit router without introducing

too much flux into intra-domain routing

Multi-homing

How much policy should we actually be able to support???

Page 20: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

20

Computer Communications - CSCI 551

Copyright © William C. Cheng

BGP Limitations: Policy

A

B

D

F

E

C

Ex: fish routing

E would like A to send traffic to E via B while

F would like A to send traffic to F via C

but how?

Page 21: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

Router synchronization [Floyd94b]

routing arbiter - central DB of policies

21

Other BGP-related Issues

Computer Communications - CSCI 551

Copyright © William C. Cheng

Convergence Time [Labovitz00a]

Congestion [Shaikh00a]

Policy and convergence [Gao00a, Tangmunarunkit01a]

Misconfiguration [Mahajan02a]

Other other issues

robustness in the face of router resource exhaustion

[Chang, Govindan, Heidemann]

Page 22: CS551 Multi-homing in BGPmerlot.usc.edu/cs551-f04/lectures/tentative/07b_bgpops.pdf · Multiple connections provide load sharing but not load balancing ... BGP cannot do load balancing

origin-only AS’s with only 1 prefix: 5,690

prefixes after max aggregation: 76,596

BGP routing table entries: 120,000

22

Some BGP Stats (as of 30-Jan-2003)

Computer Communications - CSCI 551

Copyright © William C. Cheng

31.8% of available address space announced

Addresses announced: 1,180,368,745

57.9% of the allocated address space announced

55.0% of available address space allocated

origin-only AS’s: 12,615

AS’s in Internet routing table: 14,513

transit AS’s: 1,898

mean: 5.3

AS path length

maximum seen: 17

[ data from Japan([email protected]) ]