How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul...
-
Upload
lorena-dickerson -
Category
Documents
-
view
215 -
download
0
Transcript of How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul...
![Page 1: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/1.jpg)
How to Construct a Correct and Scalable iBGP Configuration
Mythili Vutukuru
Joint work withPaul Valiant, Swastik Kopparty and Hari Balakrishnan
![Page 2: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/2.jpg)
BGP
RR
R
R
eBGPiBGP
R
Border routers/Egress
Internal routers
AB
C D
FEAutonomous System (AS)
BGP routers
eBGP and iBGP
Route
![Page 3: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/3.jpg)
Our contribution
Status quo in configuring iBGP Full-mesh (not scalable) Route reflection (no correctness guarantees)
Problems with both approaches New approach to configure iBGP that is
both correct and scalable Uses elegant results from graph theory
![Page 4: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/4.jpg)
Outline of the talk
More background What is the status quo? What are the problems with it?
Problem statement Our solution
![Page 5: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/5.jpg)
Background - iBGP
iBGP sessions run on TCP Overlay over the intra-
domain routing protocol (IGP) like OSPF
Routing messages and data packets forwarded via IGP within AS
Routes from iBGP session not propagated to another iBGP session
iBGP
AB
C D
FE
IGP
R
Route
![Page 6: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/6.jpg)
Approach#1: Full-mesh iBGP
R
RR
R
R
Every router has an iBGP session to every border router
Not scalable
AB
C
DE
F
RouteiBGP session
![Page 7: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/7.jpg)
Approach#2: Route reflection
R
“Reflects” routes to and from client iBGP sessions
Avoids full-mesh Hierarchy of reflectors
Route reflector
A
B
CD
E
F
RouteClient iBGP session
![Page 8: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/8.jpg)
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
RA
B
C
D
E
F
Lower cost to egress
RouteClient session
Data packets
![Page 9: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/9.jpg)
Problem#2: Forwarding loops
A
B
C
DR1 R2
R
R
R: goto A
R: goto D
To: R
To: R
IGP
Route
Client iBGP session
Data packetsIGP link
![Page 10: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/10.jpg)
iBGP configuration Correctness Scalability
Full-mesh √ ×
Route reflection × √
We need √ √
Background - Summary
![Page 11: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/11.jpg)
Outline of the talk
More background What is the status quo? What are the problems with it?
Problem statement Our solution
![Page 12: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/12.jpg)
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.
![Page 13: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/13.jpg)
Outline of the talk
More background What is the status quo? What are the problems with it?
Problem statement Our solution
![Page 14: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/14.jpg)
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
DR1 R2R
R
R: goto D
R: goto A
To: R
To: RTo: R
RouteClient iBGP session
Data packetsIGP link
![Page 15: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/15.jpg)
Our solution
S is graph separator Nodes in graph
separator S are route reflectors
u in G1 or G2, v in S: u is a client of v
Full-mesh in G1, G2
Recurse on G1, G2
G1G2
SR
R
A
B
D
?
![Page 16: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/16.jpg)
Evaluation 2.5 to 5X fewer iBGP sessions on ISP topologies
[Source: Rocketfuel]
0
2000
4000
6000
8000
10000
12000
14000
AS1221 AS1755 AS3257 AS3967 AS6461
Nu
mb
er o
f iB
GP
ses
sio
ns
Full-mesh
Our algorithm
![Page 17: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/17.jpg)
Conclusion
First algorithm to construct correct iBGP configurations with route reflection.
Efficient implementation 2.5 to 10X fewer iBGP sessions compared
to full-mesh iBGP
![Page 18: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/18.jpg)
Questions?
![Page 19: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/19.jpg)
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
![Page 20: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/20.jpg)
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
![Page 21: How to Construct a Correct and Scalable iBGP Configuration Mythili Vutukuru Joint work with Paul Valiant, Swastik Kopparty and Hari Balakrishnan.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649f395503460f94c557f6/html5/thumbnails/21.jpg)
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