The Problem with BGP Craig Labovitz Abha Ahuja
The Problem with BGP Craig Labovitz, Abha Ahuja, Abhijit Abose, Farnam Jahanian
At Last NANOG (http: //www. nanog. org/mtg-9910/converge. html) n n 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 2
BGP Convergence Times 3
End-to-End Impact Failover 4
The Problem with Distance Vector n Distance vector protocols (e. g. RIP) suffer routing table loops – Counting-to-infinity – Routing table loops – Bouncing problem n BGP uses path vector to “solve” problems seen with RIP and other Bellman-Ford derived protocols 5
Counting to Infinity 2 A B R R 2 1+2=3 5+2=7 1 B R A R 2 1 R 7+2=9 2+3=5 6
Taming Infinity n RIP solved counting to infinity problem by redefining infinity. – Added speedups: poison reverse, split horizon, triggered updates. – Strictly increasing O(N) n ASPath limits “infinity” to the width of the Internet (an ASPath through all your neighbors) – Monotonically increasing – Upper bound? 7
Convergence Example AS 2 AS 3 AS 0 *B R via AS 3 *B R via AS 1, AS 3 B R via AS 2, AS 3 AS 0 R AS 1 *B *B *B B R R R via AS 3 via AS 1, AS 3 via 203 AS 2, AS 3 AS 1 *B *B *B B R R R via AS 3 via. AS 0, AS 3 031 via. AS 2, AS 3 103 AS 2 8
AS 6113 2914 237 AS 2497 AS 6453 1239 5696 237 2497 5696 237 N > 4? AS 6461 5696 237 AS 1239 5696 237 AS 2914 237 AS 701 6461 5696 237 AS 5000 237 AS 1673 5696 237 1 5696 237 9
The Problem with BGP n If we assume 1. unbounded delay on BGP processing and propagation 2. Full BGP mesh BGP peers 3. Constrained shortest path first selection algorithm There exists possible ordering of messages such that BGP will explore all possible ASPaths of all possible lengths n BGP is O(N!), where N number of default-free BGP speakers 10
BGP and RIP n n RIP precisely monotonically increasing. Can explore metrics (1…N) BGP monotonically increasing. Multiple (N!) ways to represent a path metric of N. 2117 5696 2129 2117 1 5696 2129 2117 2041 3508 4540 7037 1239 5696 2129 2117 1 2041 3508 4540 7037 1239 5696 2129 2117 2041 3508 4540 7037 1239 6113 5696 2129 2117 1 2041 3508 4540 7037 1239 6113 5696 2129 n BGP “solved” RIP routing table loop problem by making it exponentially worse… 11
BGP Best Case What is the best we can expect from BGP? n Implementation of Min. Route. Adver 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 RIP 2 (but uses exponentially more memory in the process) n 12
Min. Route. Adver n 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) n Applied on (prefix destination, peer) basis, but implemented on (peer) basis n 13
Min. Route. Adver 30*(N-3) delay due to creation mutual dependencies. Provide proof that N-3 rounds necessarily created during bounded BGP Min. Route. Adver convergence n Rounds due to n – Ambiguity in the BGP RFC and lack receiver loop detection – Inclusion of BGP withdrawals with Min. Route. Adver (in violation of RFC) 14
Simulation Results 15
More Info n Submitted for publication, tech report available soon – http: //www. merit. edu/ipma 16
- Slides: 16