putting bgp on the right path: a case for next-hop routing
DESCRIPTION
Putting BGP on the Right Path: A Case for Next-Hop Routing. Michael Schapira Joint work with Yaping Zhu and Jennifer Rexford (Princeton University). Once Upon a Time… Internet Inter-Network Routing:. Small network Single administrative entity NSFNET Shortest-path routing - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/1.jpg)
Putting BGP on the Right Path: A Case for Next-Hop
Routing
Michael Schapira
Joint work with Yaping Zhu and Jennifer Rexford
(Princeton University)
![Page 2: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/2.jpg)
Once Upon a Time… Internet Inter-Network Routing: •Small network
•Single administrative entity NSFNET
•Shortest-path routing distance-vector routing
•Then....
![Page 3: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/3.jpg)
Interdomain RoutingOver 35,000 Autonomous Systems (ASes)
Interdomain routing = routing between ASes– Border Gateway Protocol (BGP)
AT&T
Qwest
Comcast
Sprint
![Page 4: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/4.jpg)
Today’s Path-Based Routing With BGP
•Complex!– configuration errors, software bugs, …
•Bad convergence!– persistent route oscillations, slow convergence, …
•Vulnerable to attacks!– malicious, economically-driven, inadvertent, …
•and more, and more, and more …– bad performance, clumsy traffic engineering, …
![Page 5: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/5.jpg)
How Can We FixInterdomain Routing?
•One approach: add mechanisms to an already complex protocol– route flap damping, S-BGP, …
•Another approach: redesign interdomain routing from scratch– HLP, NIRA, pathlet routing, consensus routing, …
•Our approach: simplify BGP!
![Page 6: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/6.jpg)
Background: Today’s Path-Based Routing With BGP
• AS i’s routing policy: ranking of simple routes from i to each
destination d export policy
• BGP is a path-vector protocolReceive
route updates from
neighbors
Choose single “best”route
(ranking)
Send route updates to neighbors
(export policy)
![Page 7: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/7.jpg)
3 d
1
2
Background: Today’s Path-Based Routing With BGP
32d > 31d
Don’t export 2d
to 3
1, 2, I’m available
3, I’m using 1d
a stable state is reached
![Page 8: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/8.jpg)
AS-PATH = the Route of All Evil
•AS-PATH: list of all ASes on path– originally meant for loop-detection
•The AS-PATH is to blame!– error-prone, software bugs– no/slow convergence– large attack surface– bad scalability, clumsy traffic engineering, bad
performance, …
![Page 9: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/9.jpg)
Getting Off the AS-PATH•No way back to shortest-path
routing…
•Our proposal: next-hop routing–make routing decisions based solely on the “next hop”
–relegate the AS-PATH to its original role
![Page 10: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/10.jpg)
Wish List• Loop freedom• Fast Convergence• Security• Incentive compatibility• Business policies• Good performance• Traffic engineering• Scalability• Simplicity
![Page 11: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/11.jpg)
Expressiveness vs. Complexity
complexity
expressivenessnot expressive
enoughsufficientlyexpressive
extremelyexpressive
simple
too complex
shortest-pathrouting
next-hoprouting
BGP’spath-based
routing
![Page 12: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/12.jpg)
Next-Hop Routing Rules!• Rule 1: use next-hop rankings
4 d
3
5
1
2
4 > 3541d > 53d > 542d
![Page 13: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/13.jpg)
Next-Hop Routing Rules!• Rule 1: use next-hop rankings • Rule 2: prioritize current route
– to minimize path exploration [Godfrey-Caesar-Hagen-Singer-Shenker]
2
d
3
1
2=3Break ties in
favor of lower AS number
2=3Prioritize current route
![Page 14: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/14.jpg)
Next-Hop Routing Rules!• Rule 1: use next-hop rankings • Rule 2: prioritize current route• Rule 3: consistently export
– to avoid disconnecting upstream nodes [Feigenbaum-S-Ramachandran]
3 d41
2
1 > 2,Export 32d, but not 31d,
to 4
1 > 2,Export 31d
to 4
![Page 15: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/15.jpg)
Next-Hop Routing Rules!• Rule 1: use next-hop rankings • Rule 2: prioritize current route• Rule 3: consistently export
– Defn: Node i consistently exports w.r.t. neighbor j if there is some route R s.t. each route Q is exportable to j iff R ≤i Q.
– Defn: Node i consistently exports if it consistently exports with respect to each neighboring node j.
![Page 16: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/16.jpg)
Next-Hop Routing Rules!• Rule 1: use next-hop rankings • Rule 2: prioritize current route• Rule 3: consistently export
• 3 deployment schemes– Configure today’s routers– Create new router configuration interface– Build new router software
![Page 17: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/17.jpg)
Wish List Revisited
![Page 18: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/18.jpg)
Wish List Revisited• Loop freedom• Fast convergence?• Security• Incentive compatibility [Feigenbaum-S-Ramachandran]
• Business policies• Good performance• Traffic engineering• Scalability?• Simplicity
![Page 19: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/19.jpg)
Existence of Stable State•Existence of stable state not guaranteed even
with next-hop rankings (Rule 1) [Feamster-Johari-Balakrishnan]
•Thm: If the next-hop routing rules hold, then a stable state exists in the network.
• What about (fast!) convergence?
![Page 20: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/20.jpg)
BGP OscillationsBGP not guaranteed to converge even with next-hop routing! [Griffin-Shepherd-Wilfong]
1
d
22 > d 1 > d
![Page 21: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/21.jpg)
The Commercial Internet•ASes sign long-term contracts.
•Neighboring pairs of ASes have:– a customer-provider relationship– a peering relationship
peer providers
customerspeer
![Page 22: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/22.jpg)
Gao-Rexford Framework• 3 simple conditions that are naturally
induced by the AS-business-hierarchy.– Topology condition, Preference condition, Export condition
• If the Gao-Rexford conditions hold, then BGP is guaranteed to converge to a stable state. [Gao-Rexford]
• But, this might require exponentially-many forwarding changes! [Syed-Rexford]
![Page 23: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/23.jpg)
Fast BGP Convergence• Thm: In the Gao-Rexford framework,
next-hop routing convergence to a stable state involves at most O(L2) forwarding changes (L = # links).– all network topologies– all timings of AS activations and update
message arrivals– all initial routing states– all initial “beliefs”– implications for routing changes and number of
BGP updates
![Page 24: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/24.jpg)
Simulations• C-BGP simulator. Cyclops AS-level topology,
Jan 1st 2010 (33,976 ASes, ~5000 non-stubs)
• Protocols: BGP, Prefer Recent Route (PRR), next-hop routing
• Metrics: # forwarding changes, # routing changes,# updates, AS-PATH length
• Events: prefix up, link failure, link recovery
• Methodology: 500 experiments, 10,000 vantage points (all non-stubs, 5000 stubs)
![Page 25: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/25.jpg)
Simulation Results(# Forwarding Changes)
maximum number of BGP
forwarding changes > 20
maximum number of routing changes in next-hop routing
= 3maximum number of forwarding
changesin PRR = 10
![Page 26: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/26.jpg)
Simulation Results(# Routing Changes)
maximum number of BGP routing changes
> 160
maximum number of routing changes in next-hop routing
< 20
maximum number of
routing changesin PRR > 40
![Page 27: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/27.jpg)
Simulation Results(# BGP Updates, Non-Stub ASes)
maximum number of BGP updates > 6000
maximum number of
updates in next-hop routing <
300
maximum number of updates in PRR >
1000
![Page 28: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/28.jpg)
Simulation Results(# Routing Changes, The 0.1%
Position)
![Page 29: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/29.jpg)
Incentive Compatible Routing Configurations
2
d
3 1d > 2
3 > d > 1
2
Each node is getting its best feasible next-hop
![Page 30: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/30.jpg)
Next-Hop Routing isIncentive Compatible
•Thm [Feigenbaum-Ramachandran-S]: In the Gao-Rexford framework, next-hop routing is incentive compatible.
(each node is guaranteed its best feasible next-hop)
![Page 31: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/31.jpg)
Wish List Revisited• Loop freedom• Fast convergence• Security?• Incentive compatibility• Business policies• Good performance?• Traffic engineering?• Scalability• Simplicity
![Page 32: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/32.jpg)
Limitations of Next-Hop Routing
•AS-PATH length•AS-avoiding policies•AS-name prepending•AS-PATH-based traffic engineering
![Page 33: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/33.jpg)
Security, Performance,Traffic Engineering
•Still open research questions.
•Handled mostly outside the routing protocol.
•We argue that next-hop routing makes things mostly better.
![Page 34: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/34.jpg)
Performance• Faster/better convergence than BGP.• much more scalable.• But…potential increase in path lengths.• b
– loosely correlated with performance (# routers, physical distance… throughput…).
– still, significant increase clearly undesirable!– Simulation results: same path length for 97-99%
of ASes; big increase only for ~0.1%.
![Page 35: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/35.jpg)
Security• Reduces BGP’s attack surface (AS-PATH
length plays no role in routing decisions).
• More resilient to economically-driven attacks (incentive compatible).
• More resilient to misconfigurations (in progress)
• But… AS-avoiding policies impossible.– come with no guarantees. e2e?
![Page 36: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/36.jpg)
Traffic Engineering•We discuss how traffic engineering
can be done without relying on the AS-PATH.– using different next-hop rankings for different
(groups of) prefixes– using the BGP communities attribute– …
![Page 37: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/37.jpg)
Multipath Routing• Performance, security and traffic engineering
can greatly benefit from multipath routing.– multiple working paths– immediate response to failures– load balancing among multiple next-hops– …
• Next-hop routing lowers the barrier for making this a reality (work in progress).
![Page 38: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/38.jpg)
Multipath Routing•Exploiting path diversity to
–realize the AS’s own objectives–customize route selection for neighboring ASes
•But... multipath routing is not scalable!– disseminate and store multiple routes
![Page 39: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/39.jpg)
Multipath Routing is Not Scalable!
d
1
2
34
P1
P2
Q1
Q2
I’m using P1 and P2
I’m using Q1 and Q2
I’m using P1, P2, Q1 and Q2
![Page 40: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/40.jpg)
From AS-PATH to AS-SET
•Next-hop routing is more amenable to multipath– nodes don’t care about entire paths– … other than for loop detection
•Don’t announce routes, announce sets!– set = union of ASes on all routes– BGP route aggregation
![Page 41: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/41.jpg)
Neighbor-SpecificNext-Hop Routing
•Customizing route selection for neighbors– operational motivation [Kushman-Kandula-Katabi-Maggs]– economic motivation [Wang-S-Rexford]
C1
zC2
C3
d
?R1
R2
R3
Secure!
Short!
Cheap!
![Page 42: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/42.jpg)
Neighbor-SpecificNext-Hop Routing
•Neighbor-Specific BGP [Wang-S-Rexford]– implementable using existing tools
•Results for convergence and incentive compatibility extend to multipath!
![Page 43: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/43.jpg)
Conclusions andFuture Research
•BGP is far too complicated!
•New approach: simplify BGP– without compromising global and local goals!
•Directions for future research:– getting rid of the AS-PATH?– software / configuration complexity– more theoretical and experimental work
![Page 44: Putting BGP on the Right Path: A Case for Next-Hop Routing](https://reader036.vdocument.in/reader036/viewer/2022062814/5681675c550346895ddc2582/html5/thumbnails/44.jpg)
Thank YouThank You