Title: On the Death of BGP
1On the Death of BGP
Timothy G. Griffin Intel Research,
Cambridge UK tim.griffin_at_intel.com http//www.cam
bridge.intel-research.net/tgriffin/
2Hacking 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 providers
3BANG!
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
4OUCH!
Provider A (Tier 1)
Provider B (Tier 1)
peering
provider/customer
This is a stable BGP routing! Its NOT ciscos
fault!
1/2 Wedgie
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!)
5REALLY, OUCH!
BELL NET
CIRCUIT NET
¾ Wedgie
HappyPackets (Tier 2)
NetNet (Tier 2)
primary
primary
backup
backup
LoadBalancer
P1
P2
6What 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
7Deconstruction
Specification of routing message semantics
BGP
Generic Path Vector
or
MSP
SCTP
TCP
TCP
MSP Managed Session Protocol (Veiera, Griffin)
8Routing Algebras to the Rescue!
Network Routing with Path Vector Protocols
Theory and Applications. Joao Luis Sobrinho.
SIGCOMM 2003
Signature
5
6
r
e c r p f
c c c f f f
r r r f f f
p p p p p f
c
4
2
3
Label
c
c
p
1
0
9Really 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
10Just 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