preventing the unnecessary propagation of bgp withdraws · v. van den schrieck - networking 2009...

74
Networking 2009, May 13th Preventing the unnecessary propagation of BGP withdraws V. Van den Schrieck, P. François, C. Pelsser, O.Bonaventure http://inl.info.ucl.ac.be

Upload: others

Post on 31-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

Networking 2009, May 13th

Preventing the unnecessary propagation

of BGP withdraws

V. Van den Schrieck, P. François, C. Pelsser, O.Bonaventurehttp://inl.info.ucl.ac.be

Page 2: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Agenda

• Introduction

• Presentation and evaluation of iBGP-caused withdraws

• Preventing iBGP-caused withdraws

✓ Advertising more than one path in iBGP (IETF)

✓ Our proposal : Advertising the availability of alternate paths in iBGP

2

Page 3: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Agenda

• Introduction

• Presentation and evaluation of iBGP-caused withdraws

• Preventing iBGP-caused withdraws

✓ Advertising more than one path in iBGP (IETF)

✓ Our proposal : Advertising the availability of alternate paths in iBGP

3

Page 4: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP, the glue of the Internet

• Border Gateway Protocol - Interdomain routing protocol used in the Internet

• Exchange paths to destinations between Autonomous Systems (AS)

✓ Each router advertises its best path to its BGP peers

✓ Selection process : Several rules

• A path is described by the AS Path, i.e. the sequence of AS that leads to the path destination

4

Page 5: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6

Page 6: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6> P : local

Page 7: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6

P : 1

P : 1

> P : local

Page 8: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6> P : local

> P : 1

> P : 1

Page 9: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6> P : local

P : 3 1 > P : 1

> P : 1

P : 2 1

Page 10: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6> P : local

> P : 3 1> P : 1

> P : 1

> P : 2 1

Page 11: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6> P : local

> P : 3 1> P : 1

> P : 1

> P : 2 1 P : 4 3 1

P : 5 2 1

P : 5 2 1

Page 12: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP

5

P

AS1

AS3

AS4

AS2

AS5

AS6> P : local

> P : 3 1> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 3 1 P : 5 4 3 1

Page 13: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

iBGP vs eBGP

• An Autonomous System has several routers

• All routers of an AS need to learn the paths to all destination advertised to the AS

✓ BGP sessions between routers of the AS : iBGP

- Specific iBGP rule : Do not advertise an iBGP-received path on an iBGP session

- Exception : Route Reflectors

✓ BGP sessions between routers of different AS : eBGP

6

Page 14: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

iBGP vs eBGP

7

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

Page 15: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Agenda

• Introduction

• Presentation and evaluation of iBGP-caused withdraws

• Preventing iBGP-caused withdraws

✓ Advertising more than one path in iBGP (IETF)

✓ Our proposal : Advertising the availability of alternate paths in iBGP

8

Page 16: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP Churn

• Churn is one of today’s BGP issues

• Churn : High number of unnecessary BGP messages

✓ Unnecessary : Do not impact the final routing state

• Consequences :

✓ Load on router’s CPU

✓ Transient losses of reachability

9

Page 17: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

BGP Churn

10

http://bgpupdates.potaroo.net/instability/bgpupd.html

• Average daily number of BGP updates : 400.000

Page 18: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Origin of BGP churn

• Path exploration during BGP convergence

• Flapping prefixes

• Bad iBGP propagation

✓ Routers without path diversity could send unnecessary BGP withdraws in case of failure

✓ Even tough alternate paths exist in the AS

11

Page 19: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Bad iBGP propagation

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

2 paths

1 path

Page 20: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Origins of bad iBGP propagation

• Only best path announced on iBGP sessions

• One path preferred over all others => alternate paths are never propagated

✓ Path quality (AS path length)

✓ BGP policies (Local preference)

• Complex iBGP organizations

✓ Paths hidden by Route Reflectors

13

Page 21: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

Page 22: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

> P : 1

Page 23: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

W(P)

> P : 1

Page 24: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1

Page 25: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

W(P)

W(P)

> P : 2 1

> P : 1

Page 26: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

W(P)

W(P)

> P : 2 1

> P : 1> P : 5 2 1

Page 27: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1> P : 5 2 1

> P : 2 1 P : 4 3 1

Page 28: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1> P : 5 2 1

> P : 2 1 P : 4 3 1 P : 2 1 > P : 4 3 1

Page 29: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1> P : 5 2 1

> P : 2 1 P : 4 3 1 P : 2 1 > P : 4 3 1

P : 4 3 1

W(P)

Page 30: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1> P : 5 2 1

> P : 2 1 P : 4 3 1 P : 2 1 > P : 4 3 1

P : 2 1> P : 4 3 1

> P : 3 1 P : 5 2 1

Page 31: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1> P : 5 2 1

> P : 2 1 P : 4 3 1 P : 2 1 > P : 4 3 1

P : 2 1> P : 4 3 1

P : 5 4 3 1

> P : 3 1 P : 5 2 1

Page 32: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Withdraw Propagation when alternate path exists

14

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1

> P : 1> P : 5 2 1

> P : 2 1 P : 4 3 1 P : 2 1 > P : 4 3 1

P : 2 1> P : 4 3 1

P : 5 4 3 1

> P : 5 4 3 1

> P : 3 1 P : 5 2 1

Page 33: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Quantification of unnecessary iBGP-caused Withdraws

• RouteViews Dataset : BGP feeds of parallel sessions (2 sessions with the same AS)

• Withdraw defined as iBGP-caused if the destination is withdrawn on one session, but stay stable on the other during 30 seconds before and after

• Withdraw is unnecessary because an alternate path exists in the AS

AS X

RouteView Collector

W (D)

15

Page 34: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2

Page 35: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2

Page 36: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2

Page 37: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2 W(P)

W(P)

Page 38: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2 W(P)

W(P)

Withdraw detected=> start timer

Page 39: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2

Withdraw detected

P : 2> P : 3 4

Page 40: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2

Withdraw detected

P : 2> P : 3 4

P : 1 3 4

P : 3 4

Page 41: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2

Withdraw detected

P : 2> P : 3 4 P : 2

> P : 3 4

Page 42: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2

Withdraw detected

P : 2> P : 3 4 P : 2

> P : 3 4

P : 1 3 4

Page 43: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Detecting unnecessary iBGP-caused withdraws

16

RouteView Collector

R2R1

AS2

AS1

AS3

AS4

> P : 2 P : 3 4> P : 2> P : 2

Withdraw detected

P : 2> P : 3 4 P : 2

> P : 3 4

P : 1 3 4

Timer expiredNo withdraw from R2

MATCH

Page 44: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Quantification of iBGP-caused withdraws on RouteViews sessions

17

0

5000

10000

15000

20000

25000

30000

35000

40000

01-10-2008

02-10-2008

03-10-2008

04-10-2008

05-10-2008

06-10-2008

07-10-2008

08-10-2008

09-10-2008

10-10-2008

11-10-2008

12-10-2008

13-10-2008

14-10-2008

Num

ber

of w

ithdra

ws

Days

Page 45: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Agenda

• Introduction

• Presentation and evaluation of iBGP-caused withdraws

• Preventing iBGP-caused withdraws

✓ Advertising more than one path in iBGP (IETF)

✓ Our proposal : Advertising the availability of alternate paths in iBGP

18

Page 46: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

Page 47: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

P : 2 1P : 4 3 1

Page 48: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1 P : 4 3 1

Page 49: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1 P : 4 3 1

> P : 1

Page 50: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1 P : 4 3 1

W(P)

> P : 1

Page 51: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1 P : 4 3 1

P : 5 4 3 1

P : 2 1 > P : 4 3 1

W(P)

> P : 1

Page 52: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

19

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1> P : 2 1 P : 4 3 1

P : 5 4 3 1

P : 2 1 > P : 4 3 1

W(P)

> P : 5 4 3 1

P : 2 1 > P : 4 3 1

> P : 1

Page 53: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising multiple paths in iBGP

• Very promising solution, but :

✓ Need to modify the BGP protocol to support advertisement of multiple paths for a prefix

✓ All the routers of an AS need to be upgraded accordingly

20

Page 54: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Agenda

• Introduction

• Presentation and evaluation of iBGP-caused withdraws

• Preventing iBGP-caused withdraws

✓ Advertising more than one path in iBGP (IETF)

✓ Our proposal : Advertising the availability of alternate paths in iBGP

21

Page 55: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

How to prevent iBGP-caused withdraws? (2)

• Instead of advertising alternate paths, advertise the availability of alternate paths

• BGP Community attribute used to tag this information to the path : DIVERSITY_AVAILABLE

• Lighter solution than the previous one, can be incrementally deployed

✓ No modification to BGP protocol

✓ DIVERSITY_AVAILABLE BGP community is simply not considered by legacy routers

22

Page 56: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising the availability of alternate paths

• Principle :

✓ A router knowing an alternate path

- Tags the community DIVERSITY_AVAILABLE to the primary path

- Then, it re-advertises the primary path to all its iBGP peers

23

Page 57: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 24

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

Advertising the availability of alternate paths

Page 58: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 24

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1

P : 2 1 - DIV_AV

Advertising the availability of alternate paths

Page 59: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 24

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1 P : 5 2 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

P : 2 1 - DIV_AV

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

Page 60: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Advertising the availability of alternate paths

25

• When the primary path fails :

• Routers without an alternate path check the community

✓ If present : Wait for the alternate path before sending withdraws on eBGP

✓ Otherwise : send the withdraw on eBGP sessions immediately

Page 61: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 3 1 P : 5 2 1

Page 62: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 3 1 P : 5 2 1

Page 63: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

W(P)

> P : 1

> P : 3 1 P : 5 2 1

Page 64: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

> P : 3 1 P : 5 2 1

Page 65: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

No eBGP WithdrawWait alternate path

> P : 3 1 P : 5 2 1

Page 66: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

W(P)No eBGP WithdrawWait alternate path

> P : 3 1 P : 5 2 1

Page 67: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

P : 2 1 > P : 4 3 1

No eBGP WithdrawWait alternate path

> P : 3 1 P : 5 2 1

Page 68: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

P : 2 1 > P : 4 3 1

P : 4 3 1

No eBGP WithdrawWait alternate path

> P : 3 1 P : 5 2 1

W(P)

Page 69: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

P : 2 1 > P : 4 3 1

P : 4 3 1

P : 2 1 - DIV_AV> P : 4 3 1

No eBGP WithdrawWait alternate path

> P : 3 1 P : 5 2 1

W(P)> P : 3 1 P : 5 2 1

Page 70: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

P : 2 1 > P : 4 3 1

P : 2 1 - DIV_AV> P : 4 3 1

P : 5 4 3 1

> P : 3 1 P : 5 2 1> P : 3 1 P : 5 2 1

Page 71: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009 2619

12

AS1

AS3

AS4

AS2AS6

AS5R1

R2

eBGP sessioniBGP session

> P : local

> P : 3 1

> P : 1

> P : 1

> P : 2 1 P : 4 3 1

> P : 5 2 1

> P : 2 1 - DIV_AV

Advertising the availability of alternate paths

> P : 1

> P : 2 1 - DIV_AV

P : 2 1 > P : 4 3 1

P : 2 1 - DIV_AV> P : 4 3 1

P : 5 4 3 1

> P : 5 4 3 1

> P : 3 1 P : 5 2 1> P : 3 1 P : 5 2 1

Page 72: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Policy-equivalent paths

• In practice : due to policies, alternate paths can still trigger eBGP withdraws

✓ Use two communities instead of one

27

Page 73: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Conclusion

• We highlighted the contribution of iBGP-caused withdraws to BGP churn

• Two solutions to prevent this unnecessary withdraw propagation :

✓ Add-Paths (IETF)

✓ Our proposal : Diversity communities

• Work in progress : Evaluate the reduction of churn resulting from using our solution

✓ Simulations on generated Internet topologies

28

Page 74: Preventing the unnecessary propagation of BGP withdraws · V. Van den Schrieck - Networking 2009 Quantification of unnecessary iBGP-caused Withdraws • RouteViews Dataset: BGP feeds

V. Van den Schrieck - Networking 2009

Questions?

• More information on : http://inl.info.ucl.ac.be

29