loup: the principles and practice of intra-domain route ...soup and loup in this talk we propose 2...
TRANSCRIPT
![Page 1: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/1.jpg)
LOUP: The Principles and Practice of
Intra-Domain Route Dissemination Nikola Gvozdiev, Brad Karp, Mark Handley
![Page 2: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/2.jpg)
The Rising Tide of Reachability Expectations
Internet users expect any-to-any reachability:
• Reliable transport masks losses caused by congestion
• Routing system adapts after topology changes
Loss under congestion and unreachability during routing
convergence interrupt end-to-end connectivity
“Legacy” applications (e.g., file transfer, email) handle
interruptions in connectivity well
Increasingly, applications are intolerant of brief interruptions in
reachability:
VoIP, interactive gaming, high-frequency trading, …
![Page 3: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/3.jpg)
Routing a Major Source of Transient Unreachability
How can we make the routing system better support
interruption-intolerant applications?
“VoIP usability is hindered as much by BGP's slow
convergence as network congestion” [Kushman et al. 2007]
“Routing failures contribute to end-to-end packet loss
significantly ... common iBGP configuration and MRAI timer
values play a major role in causing packet loss during routing
events.” [Wang et al. 2006]
![Page 4: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/4.jpg)
The big picture
eBGP – external BGP
![Page 5: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/5.jpg)
The big picture
![Page 6: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/6.jpg)
The big picture
Border Router
![Page 7: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/7.jpg)
The big picture
Border Router
![Page 8: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/8.jpg)
The missing iBGP piece
Previous work has looked into
• the interior gateway protocol
• eBGP reliability, scalability and configuration
• reachability during eBGP convergence
• iBGP reliability, scalability and configuration
Fundamental behavior of intra-AS route propagation unexamined
[Caesar 2005], [Feamster 2005], [Bonaventure 2004], [Griffin 2002], [Gao 2001]
[Van Beijnum 2009], [John 2008], [Pei 2004], [Barr 2003]
[Bonaventure 2007], [Chandrashekar 2005], [Wu 2005], [Feamster 2004]
[Francois 2007], [Shaikh 2006], [Wu 2005], [Garcia-Luna-Aceves 1993]
• reachability during iBGP convergence ?
![Page 9: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/9.jpg)
Full-mesh iBGP
![Page 10: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/10.jpg)
Full-mesh iBGP
![Page 11: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/11.jpg)
Full-mesh iBGP
• Very poor scalability
• Rarely used
![Page 12: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/12.jpg)
Route reflectors
![Page 13: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/13.jpg)
Route reflectors
Route Reflector
Route Reflector
![Page 14: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/14.jpg)
Route Reflector
Route reflectors
Route Reflector
• Error-prone configuration [Griffin et al. 2002]
• Does not achieve the same convergence as full-mesh
![Page 15: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/15.jpg)
How does iBGP go wrong?
![Page 16: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/16.jpg)
iBGP update causes transient loops
BR BR
![Page 17: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/17.jpg)
BR BR
iBGP update causes transient loops
![Page 18: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/18.jpg)
Router 0 receives a better alternative and switches
Router 0 sends messages to update all other routers
iBGP update causes transient loops
![Page 19: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/19.jpg)
Router 0 receives a better alternative and switches
Router 0 sends messages to update all other routers
iBGP update causes transient loops
![Page 20: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/20.jpg)
Router 1 is slow to process the message or 0-1 is congested
Loops due to lack of ordering between sessions
Loop
iBGP update causes transient loops
![Page 21: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/21.jpg)
Why bother?
These loops surely are very transient. After all links in the core
are very fast and control traffic is prioritized.
No. The control plane is a lot slower than the forwarding plane.
BGP processing delays can be 100s of ms [Feldmann et al. 2004].
![Page 22: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/22.jpg)
The collateral damage of routing loops
When a loop occurs if the link is busy all flows will experience
loss.
Flow A
Flow A
Flow B
Queues overflow, drops
for both A and B
These loops not hypothetical.
Observed in practice [Hengartner 2002].
![Page 23: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/23.jpg)
SOUP and LOUP
In this talk we propose 2 iBGP replacements:
• SOUP (Simple Ordered Update Protocol)
• LOUP (Link-Ordered Update Protocol)
SOUP - provably loop-free, but converges slowly in some cases
LOUP - converges faster, but can loop in rare occasions
![Page 24: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/24.jpg)
Ordering the application of updates avoids loops
We want to enforce ordering to the application of updates
![Page 25: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/25.jpg)
• Single-hop sessions between neighbors
• Only forward an update that you have processed
• Flood updates to propagate a “wavefront”
We want to enforce ordering to the application of updates
Ordering the application of updates avoids loops
![Page 26: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/26.jpg)
SOUP ingredients
Wavefront propagation
• Basic ordering of updates
Reverse Forwarding Tree (RFT) and Forward Activation (FA)
• New / improving routes
Reverse Activation (RA)
• Worsening routes / withdrawals
RA -> FA switch
• Multiple alternatives propagating simultaneously
• Complete loop freedom
![Page 27: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/27.jpg)
What about more complex topologies?
![Page 28: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/28.jpg)
Flooding a wavefront is insufficient
(1,3) has a high metric
Same setup, one more link
![Page 29: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/29.jpg)
Router 0’s update is forwarded by 1 to both 2 and 3
Flooding a wavefront is insufficient
(1,3) has a high metric
![Page 30: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/30.jpg)
Router 0’s update is forwarded by 1 to both 2 and 3
Flooding a wavefront is insufficient
(1,3) has a high metric
![Page 31: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/31.jpg)
Loop due to 0’s update reaching 3 before 2
Even though (1,3) is not on anyone’s forwarding path
Loop
Flooding a wavefront is insufficient
(1,3) has a high metric
![Page 32: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/32.jpg)
Why did it loop?
• Only one prefix
• Initially only one route via B
![Page 33: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/33.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
Why did it loop?
![Page 34: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/34.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
Why did it loop?
![Page 35: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/35.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
• Routers switch to A
Forwarding paths to A
Why did it loop?
![Page 36: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/36.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
• Routers switch to A
Forwarding paths to A
Why did it loop?
![Page 37: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/37.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
• Routers switch to A
Forwarding paths to A
X
Y
X cannot reach A.
Y will forward back to X
Why did it loop?
![Page 38: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/38.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
• Routers switch to A
Forwarding paths to A
X
Y
X cannot reach A.
Y will forward back to X
Why did it loop?
![Page 39: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/39.jpg)
• Only one prefix
• Initially only one route via B
• New better alternative at A
• Propagates as a wavefront
Update from A
• Routers switch to A
LoopsNeed to ensure that at any time
along any forwarding path there is
only one switch of route.
• Flooding not ordered
• Loops can form
Forwarding paths to A
Why did it loop?
![Page 40: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/40.jpg)
To avoid loops, propagate over the concatenation
of the forwarding paths to the BR.
Reverse Forwarding Tree propagation avoids loops
![Page 41: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/41.jpg)
SOUP ingredients
Wavefront propagation
• Basic ordering of updates
Reverse Forwarding Tree (RFT) and Forward Activation (FA)
• New / improving routes
Reverse Activation (RA)
• Worsening routes / withdrawals
RA -> FA switch
• Multiple alternatives propagating simultaneously
• Complete loop freedom
![Page 42: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/42.jpg)
What about withdrawals and routes
worsening?
![Page 43: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/43.jpg)
Immediate application of withdrawals causes loops
10 has sent R1
0 has sent R2 == R1
AS is split in half.
Setup common with peering.
![Page 44: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/44.jpg)
10 withdraws R1
0 has sent R2 == R1
Immediate application of withdrawals causes loops
![Page 45: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/45.jpg)
10 withdraws R1
0 has sent R2 == R1
Immediate application of withdrawals causes loops
![Page 46: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/46.jpg)
10 withdraws R1
0 has sent R2 == R1
Immediate application of withdrawals causes loops
![Page 47: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/47.jpg)
10 withdraws R1
0 has sent R2 == R1
Immediate application of withdrawals causes loops
![Page 48: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/48.jpg)
• More than one “best” route
• BGP splits the AS in two
Mid-line
Immediate application of withdrawals causes loops
![Page 49: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/49.jpg)
• More than one “best” route
• BGP splits the AS in two
Mid-line
Withdrawal from B
• B withdraws its route
• Withdrawal as a wavefront
Immediate application of withdrawals causes loops
![Page 50: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/50.jpg)
• More than one “best” route
• BGP splits the AS in two
Mid-line
Withdrawal from B
• B withdraws its route
• Withdrawal as a wavefront
• A wave of transient loops
Loops
Immediate application of withdrawals causes loops
![Page 51: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/51.jpg)
• More than one “best” route
• BGP splits the AS in two
Mid-line
Withdrawal from B
• B withdraws its route
• Withdrawal as a wavefront
• A wave of transient loops
• Until the mid-line
LoopsHow can we fix it?
Immediate application of withdrawals causes loops
![Page 52: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/52.jpg)
Withdrawal order done right
Mid-line
• Initially do not apply
the withdrawal
![Page 53: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/53.jpg)
Withdrawal order done right
Mid-line
Withdrawal from B
• Initially do not apply
the withdrawal
![Page 54: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/54.jpg)
Withdrawal order done right
Mid-line
Withdrawal from B
• Initially do not apply
the withdrawal
![Page 55: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/55.jpg)
Mid-line
Withdrawal from B
• Initially do not apply
the withdrawal
Withdrawal order done right
![Page 56: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/56.jpg)
Mid-line
Withdrawal from B
• Initially do not apply
the withdrawal
Withdrawal order done right
![Page 57: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/57.jpg)
Mid-line
Withdrawal from B
• Initially do not apply
the withdrawal
Withdrawal order done right
![Page 58: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/58.jpg)
Mid-line
Application of the withdrawal sent by A
• Initially do not apply
the withdrawal
Withdrawal order done right
• Apply over the reverse
of update propagation path
![Page 59: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/59.jpg)
Mid-line
Application
• Initially do not apply
the withdrawal
Withdrawal order done right
• Apply over the reverse
of update propagation path
![Page 60: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/60.jpg)
Withdrawal order done right
Application of withdrawal
• Initially do not apply
the withdrawal
• Apply over the reverse
of update activation path
![Page 61: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/61.jpg)
Withdrawal order done right
Application of withdrawal
• Initially do not apply
the withdrawal
• Apply over the reverse
of update activation path
![Page 62: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/62.jpg)
Withdrawal order done right
Application of withdrawal
• Initially do not apply
the withdrawal
• Apply over the reverse
of update activation path
![Page 63: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/63.jpg)
SOUP uses reverse activation
to explicitly apply worsening routes
Withdrawal order done right
• Initially do not apply
the withdrawal
• Apply over the reverse
of update activation path
![Page 64: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/64.jpg)
Reverse activation example
10 withdraws R1
![Page 65: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/65.jpg)
10 withdraws R1
Reverse activation example
![Page 66: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/66.jpg)
10 withdraws R1
Reverse activation example
![Page 67: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/67.jpg)
SOUP ingredients
Wavefront propagation
• Basic ordering of updates
Reverse Forwarding Tree (RFT) and Forward Activation (FA)
• New / improving routes
Reverse Activation (RA)
• Worsening routes / withdrawals
RA -> FA switch
• Multiple alternatives propagating simultaneously
• Complete loop freedom
![Page 68: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/68.jpg)
SOUP ingredients
Wavefront propagation
• Basic ordering of updates
Reverse Forwarding Tree (RFT) and Forward Activation (FA)
• New / improving routes
Reverse Activation (RA)
• Worsening routes / withdrawals
RA -> FA switch (in paper)
• Multiple alternatives propagating simultaneously
• Complete loop freedom
Last ingredient in paper
![Page 69: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/69.jpg)
SOUP ingredients
Wavefront propagation
• Basic ordering of updates
Reverse Forwarding Tree (RFT) and Forward Activation (FA)
• New / improving routes
Reverse Activation (RA)
• Worsening routes / withdrawals
RA -> FA switch (in paper)
• Multiple alternatives propagating simultaneously
• Complete loop freedom
Last ingredient in paper
SOUP is provably loop-free at all
instants if the internal topology is stable. Proof in paper.
![Page 70: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/70.jpg)
A fly in my SOUP
Mid-line
Withdrawal from B
![Page 71: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/71.jpg)
Mid-line
Withdrawal from B
A fly in my SOUP
![Page 72: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/72.jpg)
Mid-line
Withdrawal from B
A fly in my SOUP
![Page 73: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/73.jpg)
Mid-lineWithdrawal from B
“Wasted” time
Should be able to shortcut activation from the
mid-line
A fly in my SOUP
![Page 74: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/74.jpg)
LOUP to the rescue
A superset of SOUP. Inherits all mechanisms
previously discussed.
Adds tell-me-when messages to shortcut activation
![Page 75: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/75.jpg)
LOUP to the rescue
0 withdraws
Send tell-me-when to the would-be
next-hop
“Tell me when you are
not using the route
that I am using”
![Page 76: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/76.jpg)
LOUP to the rescue
0 withdraws
Reply when
not using the route
![Page 77: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/77.jpg)
LOUP to the rescue
0 withdraws
The reply acts as activation
![Page 78: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/78.jpg)
SOUP vs LOUP
LOUPSOUP
Need to propagate activation
all the way to the other end
of the network
Can shortcut activation using
explicit tell-me-when messages
Provably does not loopCan loop in the presence
of unusually high churn
![Page 79: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/79.jpg)
Evaluation
![Page 80: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/80.jpg)
Evaluation
• Loop freedom on update
• Delay on withdrawal
• Why not replace iBGP with DUAL[Aceves 1993]?
• Loop freedom on withdrawal
• Delay on update
• Load on the network
• FIB churn introduced
• Stability in the presence of IGP events
• Evaluation of real-world prototype
More evaluation in paper
![Page 81: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/81.jpg)
Evaluation setup
• Simulation results based on publicly available HE topology
• Connectivity in POPs inferred from iBGP session data
• Model delay as speed-of-light + [0-10]ms
No processing delay.
Expect loops to last longer in real-world.
![Page 82: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/82.jpg)
iBGP+RRs causes loops on update
• One route, a better one is received at 0.1s
New better route arrives
ConvergedNo route – would
blackhole
Would loop
![Page 83: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/83.jpg)
LOUP causes no loops
![Page 84: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/84.jpg)
Delay on withdrawal
Tell-me-when
time (s)
![Page 85: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/85.jpg)
Conclusion
• iBGP’s transient loops disrupt end-to-end-reachability
• Careful ordering and application of routing changes
prevents loops
• Simple Ordered Update Protocol (SOUP):
• Fully distributed
• Provably prevents all transient loops when the underlying
topology is stable
• Lightweight (vs. Consensus Routing, DUAL)
• Configuration free (vs. route reflectors)
• Fast convergence with Link-Ordered Update Protocol (LOUP)
![Page 86: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/86.jpg)
MPLS does not get you off the hook
Because …
• Even a BGP-free core still uses BGP to distribute routes
• Route reflectors are still present if a lot of customer routes
• Some of the ordering problems shown still exist
• LOUP can also do VPNs
![Page 87: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/87.jpg)
What about DUAL?
SOUP is different because
• It does not flood and does not require activations
from all neighbors
• It does not need a complicated state machine to
handle multiple simultaneous route events
• It is not maintaining the IGP – it runs on top of it and when
an IGP event occurs it does not need to activate
external prefixes
![Page 88: LOUP: The Principles and Practice of Intra-Domain Route ...SOUP and LOUP In this talk we propose 2 iBGP replacements: • SOUP (Simple Ordered Update Protocol) • LOUP (Link-Ordered](https://reader036.vdocuments.us/reader036/viewer/2022062607/6021cc3fe443c453c91086d6/html5/thumbnails/88.jpg)
RFT maintenance
If the underlying topology changes the RFT must follow
• LOUP actively maintains the RFT using periodic messages
• All messages stored in log-like data structures
• If the IGP is stable (99+% of the time), LOUP enough
• For complete protection during IGP changes use EIGRP