100 likes | 121 Views
On the Death of BGP. Timothy G. Griffin Intel Research, Cambridge UK tim.griffin@intel.com http://www.cambridge.intel-research.net/~tgriffin/. MSN July 8, 2004. Hacking our way to disaster …. Provider A (Tier 1). Provider B (Tier 1). peering. provider/customer. Provider C (Tier 2).
E N D
On the Death of BGP Timothy G. Griffin Intel Research, Cambridge UK tim.griffin@intel.com http://www.cambridge.intel-research.net/~tgriffin/ MSN July 8, 2004
Hacking our way to disaster … Provider A (Tier 1) Provider B (Tier 1) peering provider/customer Provider C (Tier 2) primary backup customer customer sends community that lowers local preference below a provider’s
BANG! Provider A (Tier 1) Provider B (Tier 1) peering provider/customer Provider C (Tier 2) primary backup customer customer is happy that backup was installed …
OUCH! Provider A (Tier 1) Provider B (Tier 1) peering provider/customer 1/2 Wedgie This is a stable BGP routing! It’s NOT cisco’s fault! Provider C (Tier 2) primary backup customer One “solution” --- reset BGP session on backup link! Better --- C should translate its customer depref communities to those of Provider A when re-exporting routes to A (not DT!)
REALLY, OUCH! BELL NET CIRCUIT NET ¾ Wedgie HappyPackets (Tier 2) NetNet (Tier 2) primary primary backup backup LoadBalancer P1 P2
What the heck is going on? • There is no guarantee that a BGP configuration has a unique routing solution. • When multiple solutions exist, the (unpredictable) order of updates will determine which one is wins. • There is no guarantee that a BGP configuration has any solution! • And checking configurations NP-Complete • Complex policies (weights, communities setting preferences, and so on) increase chances of routing anomalies. • … yet this is the current trend! • And you have to code your policies in an assembly language that was never designed, but has EVOLVED to allow the required HACKS
Deconstruction Specification of routing message semantics BGP Generic Path Vector SCTP or MSP TCP TCP MSP = Managed Session Protocol (Veiera, Griffin)
Routing Algebras to the Rescue! A node does not export to a provider a route learned from another provider A node exports to its peers routes learned from its customers Network Routing with Path Vector Protocols: Theory and Applications. Joao Luis Sobrinho. SIGCOMM 2003 Signature 5 6 r c 4 2 3 Label c c p 1 0
Really Hard Bits • Tools and techniques for design and development of new Algebras (ongoing work with João Sobrinho) • Auto-generation and checking of global constraints • Generalize distrbuted cycle detection algorithms. • Error reporting? • Generalize interface between routing protocols and forwarding engine
Just Imagine …. • Inventing, implementing, and deploying new routing Algebras without ever going to the IETF or a vendor. • Selecting a routing Algebra from a certified library. • Working with another Autonomous Systems to develop a routing algebra that is best suited to solving your problems. • Having a guarantee that the network is free of anomalies caused by policy interactions…