160 likes | 260 Views
The Problem with BGP. Craig Labovitz, Abha Ahuja, Abhijit Abose, Farnam Jahanian. At Last NANOG (http://www.nanog.org/mtg-9910/converge.html). Presented experimental results from two year study which measured 150,000 BGP faults injected into peering sessions at several IXPs Found
E N D
The Problem withBGP Craig Labovitz, Abha Ahuja, Abhijit Abose, Farnam Jahanian
At Last NANOG(http://www.nanog.org/mtg-9910/converge.html) • Presented experimental results from two year study which measured 150,000 BGP faults injected into peering sessions at several IXPs • Found • Internet averages 3 minutes to converge after failover • Some multihomed failovers (short to long ASPath) require 15 minutes
The Problem with Distance Vector • Distance vector protocols (e.g. RIP) suffer routing table loops • Counting-to-infinity • Routing table loops • Bouncing problem • BGP uses path vector to “solve” problems seen with RIP and other Bellman-Ford derived protocols
Counting to Infinity B 2 A 1 R A 2 R 1 B 2 R 1+2=3 2+3=5 R 5+2=7 R 7+2=9
Taming Infinity • RIP solved counting to infinity problem by re-defining infinity. • Added speedups: poison reverse, split horizon, triggered updates. • Strictly increasing O(N) • ASPath limits “infinity” to the width of the Internet (an ASPath through all your neighbors) • Monotonically increasing • Upper bound?
R AS2 AS3 AS0 AS1 *B R via AS3 B R via AS1,AS3 B R via AS2,AS3 *B R via AS3 B R via AS1,AS3 B R via AS2,AS3 *B R via AS3 B R via AS0,AS3 B R via AS2,AS3 * * * *B R via 031 B R via 103 *B R via 203 AS0 AS1 AS2 Convergence Example
N > 4? AS6453 AS2497 6453 1239 5696 237 AS6113 2497 5696 237 6113 2914 237 AS6461 6461 5696 237 AS1239 1239 5696 237 AS5696 5696 237 AS2914 2914 237 AS237 237 AS701 701 6461 5696 237 AS5000 5000 237 AS1 AS1673 1 5696 237 1673 5696 237
The Problem with BGP • If we assume • unbounded delay on BGP processing and propagation • Full BGP mesh BGP peers • Constrained shortest path first selection algorithm • BGP is O(N!), where N number of default-free BGP speakers • There exists possible ordering of messages such that BGP will explore all possible ASPaths of all possible lengths
BGP and RIP • RIP precisely monotonically increasing. Can explore metrics (1…N) • BGP monotonically increasing. Multiple (N!) ways to represent a path metric of N. • BGP “solved” RIP routing table loop problem by making it exponentially worse… 2117 5696 2129 2117 1 5696 2129 2117 2041 3508 3508 4540 7037 1239 5696 2129 2117 1 2041 3508 3508 4540 7037 1239 5696 2129 2117 2041 3508 3508 4540 7037 1239 6113 5696 2129 2117 1 2041 3508 3508 4540 7037 1239 6113 5696 2129
BGP Best Case • What is the best we can expect from BGP? • Implementation of MinRouteAdver timer leads to 30 second rounds • Time complexity is O(n-3)*30 seconds • State/Computational complexity O(n) • At its best, BGP performs as well as RIP2 (but uses exponentially more memory in the process)
MinRouteAdver • Minimum interval between successive updates sent to a peer for a given prefix • Allow for greater efficiency/packing of updates • Rate throttle • Applied only to announcements (at least according to BGP RFC) • Applied on (prefix destination, peer) basis, but implemented on (peer) basis
MinRouteAdver • 30*(N-3) delay due to creation mutual dependencies. Provide proof that N-3 rounds necessarily created during bounded BGP MinRouteAdver convergence • Rounds due to • Ambiguity in the BGP RFC and lack receiver loop detection • Inclusion of BGP withdrawals with MinRouteAdver (in violation of RFC)
More Info • Submitted for publication, tech report available soon • http://www.merit.edu/ipma