Top Banner
CS551 Multi-homing in BGP Bill Cheng http://merlot.usc.edu/cs551-f12 1 Computer Communications - CSCI 551 Copyright © William C. Cheng
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.

Apr 15, 2018

Download

Documents

hoangkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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]) ]