loup: the principles and practice of intra-domain route ...soup and loup in this talk we propose 2...

88
LOUP: The Principles and Practice of Intra-Domain Route Dissemination Nikola Gvozdiev, Brad Karp, Mark Handley

Upload: others

Post on 01-Oct-2020

2 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

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

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

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

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

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

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

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

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

• 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

• 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

• 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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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