Presentation is loading. Please wait.

Presentation is loading. Please wait.

How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.

Similar presentations


Presentation on theme: "How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan."— Presentation transcript:

1 How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan

2 BGP eBGP iBGP 18.0.0.0/8 Border router/ Egress A B C D Autonomous System (AS) eBGP and iBGP Route

3 Our contribution  Status quo in configuring iBGP  Full-mesh (not scalable)  Route reflection (no correctness guarantees)  New approach (“BGPSep”) to configure iBGP that is both correct and scalable  Uses the results on graph separators from graph theory

4 Outline of the talk  More background  What is the status quo?  What are the problems with it?  Problem statement  Our solution

5 Background - iBGP  iBGP sessions run on TCP  Overlay over the intra- domain routing protocol or Interior Gateway Protocol (IGP) like OSPF  Routing messages and data packets forwarded via IGP within AS  iBGP Rule to avoid routing loops: Routes from iBGP session not propagated to another iBGP session iBGP A B C D IGP 18.0.0.0/8 Route

6 Approach#1: Full-mesh iBGP 18.0.0.0/8  Every router has an iBGP session to every border router  Large number of iBGP sessions: not scalable A B C D Route iBGP session

7 Scalable alternative: Route reflection 18.0.0.0/8  “Reflects” routes to and from client iBGP sessions  Avoids full-mesh  Hierarchy of reflectors Route reflector A B C D Route Client iBGP session

8 Problems with route reflection: #1  Problem #1: Routers may not choose best route  Why? Route reflector reflects only its best route  B chooses the sub-optimal route through C  In full-mesh B would have chosen route through A  Sub-optimal path assignments A B C D Lower cost to egress Route Client session Data packets 18.0.0.0/8

9 Problem#2: Forwarding loops A B C D R1 R2 18/8 18.0.0.0/8: goto A 18.0.0.0/8: goto D To: 18.0.0.1 IGP Route Client iBGP session Data packets IGP link

10 iBGP configurationCorrectnessScalability Full-mesh √ × Route reflection× √ We need √√ Background - Summary

11 Outline of the talk  More background  What is the status quo?  What are the problems with it?  Problem statement  Our solution

12 Problem Statement  Input: IGP (IP-level connectivity) graph  Output: iBGP configuration  Route reflectors and clients  iBGP sessions  Constraints  Emulate full-mesh  More scalable than full-mesh  Previous work [GW02] – how to check for correctness, not how to construct correct configurations [GW02] T. Griffin and G. Wilfong, “On the Correctness of iBGP Configuration”, In Proc. ACM SIGCOMM 2002, Pittsburg, PA, August 2002.

13 Outline of the talk  More background  What is the status quo?  What are the problems with it?  Problem statement  Our solution

14 Key insight for emulating full-mesh  For every BGP router P, every egress E  P and E have iBGP session, OR  P should be the client of a route reflector on the shortest path between P and E 18.0.0.0/8 A B RC

15 Our solution – “BGPSep”  S is graph separator  Nodes in graph separator S are route reflectors  u in G 1 or G 2, v in S: u is a client of v  Full-mesh in G 1, G 2 !!!  Recurse on G 1, G 2  Recursion terminates when component small enough G1G1 G2G2 S 18/8 A B D ?

16 Evaluation  2.5 to 5X fewer iBGP sessions on ISP topologies [Source: Rocketfuel]

17 Features of BGPSep  Efficient implementation  ~100 lines of Matlab  Runs in a few seconds  Convenient to use  Need not be re-run when link costs change or nodes/links fail  Small number of top-level route reflectors  Not incremental – need to be re-run when nodes/links added

18 Conclusion  First algorithm to construct correct iBGP configurations with route reflection.  Reduces # iBGP sessions compared to full-mesh  Efficient implementation  Convenient and practical to use  Questions?

19 Questions?

20 Best route selection  BGP best route selection rules  Local Pref  AS path length  MED  IGP cost to egress  Best route selected by route reflector might not be the best route for the client

21 Route reflection  2 types of iBGP sessions  Client iBGP session  Normal (“peer”) iBGP session  Route from client → all clients and peers  Route from peer → all clients  Multiple route reflectors  Hierarchy of route reflectors

22 Problems with route reflection  Lack of complete visibility: every router is not guaranteed to see its best available route.  Forwarding loops  Some router along the forwarding path chooses a different egress  Packets do not make progress towards egress and loop forever  Not robust to IGP changes  IGP link failures trigger forwarding loops  Full-mesh iBGP has none of these problems

23 Key insight for emulating full-mesh  For every router P, every egress E  P and E have iBGP session, OR  P should be the client of a route reflector on the shortest path between P and E A B C D R1 R2 R R R: goto D R: goto A To: R Route Client iBGP session Data packets IGP link


Download ppt "How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan."

Similar presentations


Ads by Google