How (Not) to Shoot in Your Foot with SDN Local Fast Failover A - - PowerPoint PPT Presentation

how not to shoot in your foot with sdn local fast failover
SMART_READER_LITE
LIVE PREVIEW

How (Not) to Shoot in Your Foot with SDN Local Fast Failover A - - PowerPoint PPT Presentation

How (Not) to Shoot in Your Foot with SDN Local Fast Failover A Load-Connectivity Tradeoff Michael Borokhovich, Stefan Schmid Communication Systems Engineering, Ben-Gurion University, Israel Internet Network Architectures, TU Berlin &


slide-1
SLIDE 1

How (Not) to Shoot in Your Foot with SDN Local Fast Failover

A Load-Connectivity Tradeoff Michael Borokhovich, Stefan Schmid

Communication Systems Engineering, Ben-Gurion University, Israel Internet Network Architectures, TU Berlin & T-Labs, Germany

OPODIS 2013 Nice, France

slide-2
SLIDE 2

Motivation: SDN Local Fast Failover

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 1 / 12

slide-3
SLIDE 3

Motivation: SDN Local Fast Failover

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 1 / 12

Failures: a disadvantage of OpenFlow?

Indirection via controller (reactive control) an overhead? Or even full disconnect from controller?

slide-4
SLIDE 4

Motivation: SDN Local Fast Failover

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 1 / 12

Failures: a disadvantage of OpenFlow?

Indirection via controller (reactive control) an overhead? Or even full disconnect from controller?

Local fast failover

E.g., since OpenFlow 1.1 (but already MPLS,...) Failover in data plane: given failed incident links, decide what to do with flow (header, failed links) − → (backup port) React quickly, controller can improve later!

slide-5
SLIDE 5

Motivation: SDN Local Fast Failover

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 1 / 12

Failures: a disadvantage of OpenFlow?

Indirection via controller (reactive control) an overhead? Or even full disconnect from controller?

Local fast failover

E.g., since OpenFlow 1.1 (but already MPLS,...) Failover in data plane: given failed incident links, decide what to do with flow (header, failed links) − → (backup port) React quickly, controller can improve later!

Threat: local failover may introduce loop

  • r be inefficient in other ways (high load)
slide-6
SLIDE 6

Motivation: SDN Local Fast Failover

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 1 / 12

Failures: a disadvantage of OpenFlow?

Indirection via controller (reactive control) an overhead? Or even full disconnect from controller?

Local fast failover

E.g., since OpenFlow 1.1 (but already MPLS,...) Failover in data plane: given failed incident links, decide what to do with flow (header, failed links) − → (backup port) React quickly, controller can improve later!

Threat: local failover may introduce loop

  • r be inefficient in other ways (high load)

How not to shoot in your foot?!

slide-7
SLIDE 7

Model: General Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 2 / 12

slide-8
SLIDE 8

Model: General Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 2 / 12

if (B,C) fails:

fwd (A,C) to port 3 fwd (A,D) to port 2

slide-9
SLIDE 9

Model: General Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 2 / 12

Flows can be treated individually!

if (B,C) fails:

fwd (A,C) to port 3 fwd (A,D) to port 2

slide-10
SLIDE 10

Model: General Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 2 / 12

if (B,C) fails:

fwd (A,C) to port 3 fwd (A,D) to port 2

if (B,C) and (B,D) fail:

fwd (A,C) to port 2 fwd (A,D) to port 2 fwd (E,D) to port 1

slide-11
SLIDE 11

Model: General Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 2 / 12

Depending on failure set, (A,C) is forwarded differently!

if (B,C) fails:

fwd (A,C) to port 3 fwd (A,D) to port 2

if (B,C) and (B,D) fail:

fwd (A,C) to port 2 fwd (A,D) to port 2 fwd (E,D) to port 1

slide-12
SLIDE 12

Model: Destination-Based Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 3 / 12

if (B,C) fails:

fwd (A,C) to port 3 fwd (A,D) to port 2

if (B,C) and (B,D) fail:

fwd (A,C) to port 2 fwd (A,D) to port x fwd (E,D) to port x

slide-13
SLIDE 13

Model: Destination-Based Failover Rules

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 3 / 12

if (B,C) fails:

fwd (A,C) to port 3 fwd (A,D) to port 2

if (B,C) and (B,D) fail:

fwd (A,C) to port 2 fwd (A,D) to port x fwd (E,D) to port x Same destination requires same forwarding port.

slide-14
SLIDE 14

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12

A simple example: full mesh (clique) & all-to-one communication

slide-15
SLIDE 15

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12

A simple example: full mesh (clique) & all-to-one communication

slide-16
SLIDE 16

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12 if Event then try other port (set of failures, per flow, ...)

A simple example: full mesh (clique) & all-to-one communication

slide-17
SLIDE 17

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12 if Event then try other port (set of failures, per flow, ...)

A simple example: full mesh (clique) & all-to-one communication

slide-18
SLIDE 18

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12 if Event then try other port (set of failures, per flow, ...)

A simple example: full mesh (clique) & all-to-one communication

slide-19
SLIDE 19

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12

Loop! A simple example: full mesh (clique) & all-to-one communication

slide-20
SLIDE 20

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 4 / 12

Loop!

Unnecessary: Many paths left! But do not know remote state...

A simple example: full mesh (clique) & all-to-one communication

slide-21
SLIDE 21

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 5 / 12

How bad can it get?

slide-22
SLIDE 22

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 5 / 12

Theorem No local failover scheme can tolerate n − 1 or more link failures, even though the graph is still n/2-connected.

How bad can it get?

slide-23
SLIDE 23

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 5 / 12

Theorem No local failover scheme can tolerate n − 1 or more link failures, even though the graph is still n/2-connected.

How bad can it get?

Proof idea: Fail any link which would directly lead to destination node v until (n/2 − 1) links failed

(n/2 − 1) failures towards v

slide-24
SLIDE 24

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 5 / 12

Theorem No local failover scheme can tolerate n − 1 or more link failures, even though the graph is still n/2-connected.

How bad can it get?

Proof idea: Fail any link which would directly lead to destination node v until (n/2 − 1) links failed Fail links from x to (n − n/2) other nodes

(n/2 − 1) failures towards v (n − n/2) failures from x

slide-25
SLIDE 25

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 5 / 12

Theorem No local failover scheme can tolerate n − 1 or more link failures, even though the graph is still n/2-connected.

How bad can it get?

Proof idea: Fail any link which would directly lead to destination node v until (n/2 − 1) links failed Fail links from x to (n − n/2) other nodes x only has links to already visited nodes: loop unavoidable! But all nodes still have degree at least n/2 − 1 (x and v have the lowest)

(n/2 − 1) failures towards v (n − n/2) failures from x

slide-26
SLIDE 26

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 6 / 12

Another consequence: high load!

slide-27
SLIDE 27

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 6 / 12

Theorem For any local failover scheme, there exists a failure scenario which uses ϕ failures and yields max link load of at least √ϕ, while the mincut is at least n − ϕ − 1.

Another consequence: high load!

slide-28
SLIDE 28

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 6 / 12

Theorem For any local failover scheme, there exists a failure scenario which uses ϕ failures and yields max link load of at least √ϕ, while the mincut is at least n − ϕ − 1.

Another consequence: high load! If rules failover destination-based only, the load is much higher.

slide-29
SLIDE 29

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 6 / 12

Theorem For any local failover scheme, there exists a failure scenario which uses ϕ failures and yields max link load of at least √ϕ, while the mincut is at least n − ϕ − 1.

Another consequence: high load!

Theorem For any local destination-based failover scheme, there exists a failure scenario which uses ϕ failures and yields max link load of at least ϕ, while the mincut is still at least n − ϕ − 1.

If rules failover destination-based only, the load is much higher.

slide-30
SLIDE 30

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ.

slide-31
SLIDE 31

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths:

slide-32
SLIDE 32

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn)

vn vi

slide-33
SLIDE 33

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

vn vi vn v1

i

vi

slide-34
SLIDE 34

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

vn vi vn v1

i

vi vn v1

i

vi v2

i

slide-35
SLIDE 35

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn).

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-36
SLIDE 36

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn). The last hop vj

i (j ∈ [1, . . . , ϕ]) is unique for every path.

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-37
SLIDE 37

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn). The last hop vj

i (j ∈ [1, . . . , ϕ]) is unique for every path.

Consider the set Ai = {vi, v1

i , . . . , v √ϕ i

} (set of possible last hops on the path to vn).

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-38
SLIDE 38

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn). The last hop vj

i (j ∈ [1, . . . , ϕ]) is unique for every path.

Consider the set Ai = {vi, v1

i , . . . , v √ϕ i

} (set of possible last hops on the path to vn). Consider a multiset of

  • i Ai
  • = (n − 1)(√ϕ + 1) nodes.

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-39
SLIDE 39

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn). The last hop vj

i (j ∈ [1, . . . , ϕ]) is unique for every path.

Consider the set Ai = {vi, v1

i , . . . , v √ϕ i

} (set of possible last hops on the path to vn). Consider a multiset of

  • i Ai
  • = (n − 1)(√ϕ + 1) nodes.

By a counting argument, there exists a node x ∈

i Ai which appears in at least √ϕ sets Ai.

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-40
SLIDE 40

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn). The last hop vj

i (j ∈ [1, . . . , ϕ]) is unique for every path.

Consider the set Ai = {vi, v1

i , . . . , v √ϕ i

} (set of possible last hops on the path to vn). Consider a multiset of

  • i Ai
  • = (n − 1)(√ϕ + 1) nodes.

By a counting argument, there exists a node x ∈

i Ai which appears in at least √ϕ sets Ai.

For each such Ai, the adversary can route vi → vn via x by failing links to vn.

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-41
SLIDE 41

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 7 / 12

Theorem For any local failover scheme, there exists a failure scenario which yields max link load of at least √ϕ. Consider the following failover paths: (vi → vn), now let’s fail (vi, vn) (vi → · · · → v1

i → vn),

now let’s fail (v1

i , vn)

(vi → · · · → v1

i → · · · → v2 i → vn),

. . . (vi → · · · → v1

i → · · · → v2 i → · · · → vϕ i

→ vn). The last hop vj

i (j ∈ [1, . . . , ϕ]) is unique for every path.

Consider the set Ai = {vi, v1

i , . . . , v √ϕ i

} (set of possible last hops on the path to vn). Consider a multiset of

  • i Ai
  • = (n − 1)(√ϕ + 1) nodes.

By a counting argument, there exists a node x ∈

i Ai which appears in at least √ϕ sets Ai.

For each such Ai, the adversary can route vi → vn via x by failing links to vn. The adversary will fail √ϕ × √ϕ = ϕ links incident to vn; load of link (x, vn) becomes √ϕ.

vn vi vn v1

i

vi vn v1

i

vi v2

i

vn v1

i

v3

i

vi v2

i

slide-42
SLIDE 42

Negative Result: You must shoot in your foot!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 8 / 12

Theorem For any local destination-based failover scheme, there exists a failure scenario which yields max link load of at least ϕ.

Why worse for destination-based? Intuition:

At B, flow (A,C) gets combined with flow (B,C) and never splits again. Etc.!

slide-43
SLIDE 43

Positive Result: Make the best out of the situation!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 9 / 12

A general failover scheme: δ1,1, δ1,2, . . . , δ1,n−2 . . . δi,1, δi,2, . . . , δi,n−2 . . . δn−1,1, δn−1,2, . . . , δn−1,n−2

slide-44
SLIDE 44

Positive Result: Make the best out of the situation!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 9 / 12

A general failover scheme: δ1,1, δ1,2, . . . , δ1,n−2 . . . δi,1, δi,2, . . . , δi,n−2 . . . δn−1,1, δn−1,2, . . . , δn−1,n−2 Matrix δi,j: if node vi cannot reach destination directly, try node δi,1; if not reachable either, try node δi,2, ...

slide-45
SLIDE 45

Positive Result: Make the best out of the situation!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 9 / 12

A general failover scheme: δ1,1, δ1,2, . . . , δ1,n−2 . . . δi,1, δi,2, . . . , δi,n−2 . . . δn−1,1, δn−1,2, . . . , δn−1,n−2 Matrix δi,j: if node vi cannot reach destination directly, try node δi,1; if not reachable either, try node δi,2, ... Choosing random permutations: Theorem Random Failover Scheme (RFS) can tolerate ϕ failures (0 < ϕ < n) with load no more than √ϕ log n.

slide-46
SLIDE 46

Positive Result: Make the best out of the situation!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 10 / 12

Can also be achieved deterministically, as long as number

  • f failures bounded by log n:

δ1,1, δ1,2, . . . , δ1,n−2 . . . δi,1, δi,2, . . . , δi,n−2 . . . δn−1,1, δn−1,2, . . . , δn−1,n−2 1, 2, 4, 8, . . . ,

  • 0 + 2⌊log n⌋

mod n 2, 3, 5, 9, . . . ,

  • 1 + 2⌊log n⌋

mod n 3, 4, 6, 10 . . . ,

  • 2 + 2⌊log n⌋

mod n . . .

− →

δi,j = (i − 1) + 2j−1

slide-47
SLIDE 47

Positive Result: Make the best out of the situation!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 10 / 12

Can also be achieved deterministically, as long as number

  • f failures bounded by log n:

δ1,1, δ1,2, . . . , δ1,n−2 . . . δi,1, δi,2, . . . , δi,n−2 . . . δn−1,1, δn−1,2, . . . , δn−1,n−2 1, 2, 4, 8, . . . ,

  • 0 + 2⌊log n⌋

mod n 2, 3, 5, 9, . . . ,

  • 1 + 2⌊log n⌋

mod n 3, 4, 6, 10 . . . ,

  • 2 + 2⌊log n⌋

mod n . . .

− →

δi,j = (i − 1) + 2j−1

Theorem Deterministic Failover Scheme (DFS) can tolerate ϕ failures (0 < ϕ < log n) with load no more than √ϕ.

slide-48
SLIDE 48

Positive Result: Make the best out of the situation!

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 10 / 12

Can also be achieved deterministically, as long as number

  • f failures bounded by log n:

δ1,1, δ1,2, . . . , δ1,n−2 . . . δi,1, δi,2, . . . , δi,n−2 . . . δn−1,1, δn−1,2, . . . , δn−1,n−2 1, 2, 4, 8, . . . ,

  • 0 + 2⌊log n⌋

mod n 2, 3, 5, 9, . . . ,

  • 1 + 2⌊log n⌋

mod n 3, 4, 6, 10 . . . ,

  • 2 + 2⌊log n⌋

mod n . . .

− →

δi,j = (i − 1) + 2j−1

Theorem Deterministic Failover Scheme (DFS) can tolerate ϕ failures (0 < ϕ < log n) with load no more than √ϕ. Proof idea: There are no repetitions in the matrix columns. Thus any node appears exactly once at the first position, exactly once at the second, and so on... For any node index ℓ, all ℓ-prefixes (sets of indices preceding ℓ in the sequences) are disjoint.

slide-49
SLIDE 49

Simulations: Beyond Worst-Case Failures

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 11 / 12

2 10 100 60000 120000 180000 MAX LOAD NUM OF FAILED LINKS n=500, single dest, random attack ROB RFS DFS

Better in reality (i.e., under random failures):

ROB is a simple destination-based scheme. In ROB, when a link fails, use next available link.

slide-50
SLIDE 50

Simulations: Beyond Worst-Case Failures

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 11 / 12

2 10 100 60000 120000 180000 MAX LOAD NUM OF FAILED LINKS n=500, single dest, random attack ROB RFS DFS

Better in reality (i.e., under random failures):

ROB is a simple destination-based scheme. In ROB, when a link fails, use next available link.

Only small fraction of links highly loaded:

1 10 100 1000 10 100 1 FREQ LOAD n=500, single dest, eclipse, 150 failures ROB RFS DFS 1 10 100 1000 10000 10 100 1 FREQ LOAD n=500, single dest, eclipse, 450 failures ROB RFS

slide-51
SLIDE 51

Summary

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 12 / 12

How to shoot in your foot: No local failover scheme can tolerate more than n − 1 failures. Any local failover scheme can yield a max load of √ϕ, where ϕ < n. Any destination-based local failover scheme can yield a max load of ϕ, where ϕ < n.

slide-52
SLIDE 52

Summary

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 12 / 12

How to shoot in your foot: No local failover scheme can tolerate more than n − 1 failures. Any local failover scheme can yield a max load of √ϕ, where ϕ < n. Any destination-based local failover scheme can yield a max load of ϕ, where ϕ < n. How not to shoot in your foot: Random local failover scheme (RFS) yields a max load of at most √ϕ log n, where ϕ ≤ n. Deterministic local failover scheme (DFS) yields a max load of at most √ϕ, where ϕ ≤ log n. A simple destination-based local failover scheme (ROB) performs well under random failures.

slide-53
SLIDE 53

Summary

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 12 / 12

How to shoot in your foot: No local failover scheme can tolerate more than n − 1 failures. Any local failover scheme can yield a max load of √ϕ, where ϕ < n. Any destination-based local failover scheme can yield a max load of ϕ, where ϕ < n. How not to shoot in your foot: Random local failover scheme (RFS) yields a max load of at most √ϕ log n, where ϕ ≤ n. Deterministic local failover scheme (DFS) yields a max load of at most √ϕ, where ϕ ≤ log n. A simple destination-based local failover scheme (ROB) performs well under random failures. Extensions and future work: For random failures, RFS yields a max load of at most √ϕ. All-to-all communication.

slide-54
SLIDE 54

Summary

Michael Borokhovich How (Not) to Shoot in Your Foot with SDN Local Fast Failover Slides by Stefan Schmid 12 / 12

How to shoot in your foot: No local failover scheme can tolerate more than n − 1 failures. Any local failover scheme can yield a max load of √ϕ, where ϕ < n. Any destination-based local failover scheme can yield a max load of ϕ, where ϕ < n. How not to shoot in your foot: Random local failover scheme (RFS) yields a max load of at most √ϕ log n, where ϕ ≤ n. Deterministic local failover scheme (DFS) yields a max load of at most √ϕ, where ϕ ≤ log n. A simple destination-based local failover scheme (ROB) performs well under random failures. Extensions and future work: For random failures, RFS yields a max load of at most √ϕ. All-to-all communication.

THANK YOU!