Fibbing: Central Control over Distributed Routing www.fibbing.net - - PowerPoint PPT Presentation

fibbing central control over distributed routing
SMART_READER_LITE
LIVE PREVIEW

Fibbing: Central Control over Distributed Routing www.fibbing.net - - PowerPoint PPT Presentation

Fibbing: Central Control over Distributed Routing www.fibbing.net Olivier Tilmans UCLouvain IRTF Open Meeting Nov. 14, 2016 Joint work with S. Vissicchio (UCL), L. Vanbever (ETH Zrich) and J. Rexford (Princeton) Fibbing Fibbing Control


slide-1
SLIDE 1

Fibbing: Central Control over Distributed Routing

www.fibbing.net

Olivier Tilmans

UCLouvain

IRTF Open Meeting

  • Nov. 14, 2016

Joint work with

  • S. Vissicchio (UCL), L. Vanbever (ETH Zürich) and J. Rexford (Princeton)
slide-2
SLIDE 2

Fibbing

slide-3
SLIDE 3

Fibbing

Control routers’ FIB, lying to routers

slide-4
SLIDE 4

Consider this example network.

Router Link

3

slide-5
SLIDE 5

Consider this example network.

A B R2 R3 R1 C R4 Router Link

3

slide-6
SLIDE 6

Link-state Interior Gateway Protocols (IGPs) exchange reachability information to infer the topology of the network.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4 Link weight Destination Prefix

4

slide-7
SLIDE 7

The intra-domain traffic flows along the shortest path on the shared topology.

Control-Plane Data-Plane

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4 D2 D1 Traffic flow Traffic destination

4

slide-8
SLIDE 8

IGPs cause operator to follow a descriptive management process.

Operator

  • Express requirements
slide-9
SLIDE 9

IGPs cause operator to follow a descriptive management process.

Operator

  • Express requirements
  • Computes paths
  • Figures out how to

implement them

Protocol configuration

  • peration
slide-10
SLIDE 10

IGPs cause operator to follow a descriptive management process.

Operator

  • Express requirements
  • Computes paths
  • Figures out how to

implement them

Protocol configuration

  • peration

Distributed Control-Plane

  • Derives FIB entries
  • install FIB entries

5

slide-11
SLIDE 11

Software-Defined Networking (SDN) enables declarative management.

Centralized control plane

6

slide-12
SLIDE 12

Software-Defined Networking (SDN) enables declarative management.

Operator

  • Express requirements

6

slide-13
SLIDE 13

Software-Defined Networking (SDN) enables declarative management.

Operator

  • Express requirements

SDN Controller

  • Compute paths
  • Derives FIB entries
  • install FIB entries

Well-defined API

6

slide-14
SLIDE 14

SDN sacrifices the robustness and scalability

  • f distributed protocols.

Traditional SDN Manageability low high Flexibility low highest Scalability by design ad hoc Robustness high low

7

slide-15
SLIDE 15

The networking world has two paradigm, based on opposed principles.

Traditional SDN Manageability low high Flexibility low highest Scalability by design ad hoc Robustness high low

7

slide-16
SLIDE 16

We propose a middleground approach, named Fibbing.

Traditional Fibbing SDN Manageability low high high Flexibility low high highest Scalability by design by design ad hoc Robustness high high low

7

slide-17
SLIDE 17

Fibbing: Central Control over Distributed Routing

www.fibbing.net

  • 1. Controlling distributed protocols
  • 2. Case study: surviving flash crowds
  • 3. Fibbing today’s networks
  • 4. Food for thoughts
slide-18
SLIDE 18

Fibbing uses an hybrid control plane.

Distributed control plane Centralized control plane

slide-19
SLIDE 19

Fibbing centralizes high level routing decisions.

Operator

  • Express requirements

Fibbing Controller

  • Compute paths
slide-20
SLIDE 20

Fibbing keeps the route installation distributed.

Operator

  • Express requirements

Fibbing Controller

  • Compute paths

Distributed Control-Plane

  • Derives FIB entries
  • install FIB entries
slide-21
SLIDE 21

We study which IGP messages to inject.

Operator

  • Express requirements

Fibbing Controller

  • Compute paths

Distributed Control-Plane

  • Derives FIB entries
  • install FIB entries

IGP messages

9

slide-22
SLIDE 22

Operators specify paths that must be enforced.

A B R2 R3 R1 C R4

requirements (A, R1, R2, C, blue)

10

slide-23
SLIDE 23

The controller injects one IGP message adding a fake node and links.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R2, C, blue)

node fA (blue), link (fA, A, 2), map (fA, A) to (A, R1)

14

slide-24
SLIDE 24

IGP flooding propagates the information.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R2, C, blue)

node fA (blue), link (fA, A, 2), map (fA, A) to (A, R1)

17

slide-25
SLIDE 25

The Fibbing message augments the topology.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R2, C, blue)

node fA (blue), link (fA, A, 2), map (fA, A) to (A, R1)

fA 2

20

slide-26
SLIDE 26

Augmented topologies translate into new control-plane paths.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R2, C, blue)

node fA (blue), link (fA, A, 2), map (fA, A) to (A, R1)

fA 2

23

slide-27
SLIDE 27

Augmented topologies translate into new data-plane paths.

Control-Plane Data-Plane

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R2, C, blue)

node fA (blue), link (fA, A, 2), imap (fA, A) to (A, R1)

fA 2

1 1 3 2 1 2 1 1 1

24

slide-28
SLIDE 28

Chaining multiple fake nodes enables to program complex paths.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R4, C,blue)

fA 2

node fA (blue), link (fA, A, 2), map (fA, A) to (A, R1)

25

slide-29
SLIDE 29

Chaining multiple fake nodes enables to program complex paths.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R4, C,blue)

fA 2

node fR1 (blue), link (fR1, R1, 2), map (fR1, r1) to (R1, R4)

fR1 2

25

slide-30
SLIDE 30

Chaining multiple fake nodes enables to program complex paths.

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R4, C,blue)

fA 2 fR1 2

25

slide-31
SLIDE 31

Augmented topologies can be reduced to

  • ptimize the number of fake nodes.

Naive augmentation Reduced augmentation

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R4, C,blue)

fA 2 fR1 2 1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4

requirements (A, R1, R4, C,blue)

fR1 1

26

slide-32
SLIDE 32

Fibbing preserves the scalability of IGPs.

We can compute augmented topologies in O(ms) Ensures quick reaction to changes We can reduce augmented topologies in O(s) Ensures limited control-plane overhead

27

slide-33
SLIDE 33

Fibbing leverages the robustness of IGPs.

Fast failure detection and recovery Survive controller failure Support fail-close and fail-open semantics

28

slide-34
SLIDE 34

Fibbing can enforce any set of loop-free paths, on a per destination basis.

slide-35
SLIDE 35

Fibbing: Central Control over Distributed Routing

www.fibbing.net

  • 1. Controlling distributed protocols
  • 2. Case study: surviving flash crowds
  • 3. Fibbing today’s networks
  • 4. Food for thoughts
slide-36
SLIDE 36

Flash crowds cause service disruption.

Video delivery services require good network performance

31

slide-37
SLIDE 37

Flash crowds cause service disruption.

Video delivery services require good network performance Protecting the services against flash crowds is challenging:

  • 1. Traditional traffic engineering techniques perform poorly;
  • 2. Over-provisioning is expensive.

31

slide-38
SLIDE 38

Fibbing reduces the need for over-provisioning by enabling real-time traffic engineering.

Experiment setup Network with 2 video streaming servers Multiple clients are competing for bandwidth The network controller is able to detect flash crowds

32

slide-39
SLIDE 39

The initial IGP configuration has a bottleneck towards router C.

Control-Plane Data-Plane

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4 S2 S1 D2 D1 Video client 30 30 30 60 60 Video server Overloaded link Link load

33

slide-40
SLIDE 40

Fibbing can program on-demand ECMP to spread the load

Control-Plane Data-Plane

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4 fB 2 S2 S1 D2 D1 30 30 30 30 30 30 30

slide-41
SLIDE 41

Fibbing can program on-demand ECMP to spread the load

Control-Plane Data-Plane

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4 fB 2 fR1 1 S2 S1 D2 D1 30 30 15 22.5 22.5 22.5 22.5 15 15 15

34

slide-42
SLIDE 42

Fibbing controls the splitting ratios across equal-cost paths.

Control-Plane Data-Plane

1 1 3 2 1 2 1 1 1 A B R2 R3 R1 C R4 fB 2 fR1 1 fR1’ 1 S2 S1 D2 D1 30 30 10 20 20 20 20 20 20 20

35

slide-43
SLIDE 43

As the demand increases, the Fibbing controller adds more paths to spread the load.

A B R2 R3 R1 C R4 S2 S1 D2 D1

14 35

1 stream 31 streams 61 streams

Time [s]

A–R1 B–R2 B–R3

We initially have 1 video stream from S1 to D1.

At time t = 14s, we start 30 new streams from S1 to D1. At time t = 35s, we start 30 streams from S2 to D2.

36

slide-44
SLIDE 44

Fibbing: Central Control over Distributed Routing

www.fibbing.net

  • 1. Controlling distributed protocols
  • 2. Case study: surviving flash crowds
  • 3. Fibbing today’s networks
  • 4. Food for thoughts
slide-45
SLIDE 45

We have a working Fibbing controller prototype

The controller maintains an OSPF adjacency to one router Topology discovery using the adjacency Tested against IOS, NX-OS, JunOS

38

slide-46
SLIDE 46

Fake nodes can be injected using LSA types 5/7

Leverages the forwarding address field Advertize reachability towards prefix, with cost, using specified IP next hop The controller multiplexes multiple virtual routers N successive fake nodes towards the same prefix require N different router-ids

39

slide-47
SLIDE 47

Using T5/7 LSAs has (almost) no overhead on routers and is fast.

No measurable impact on SPF duration 10 000 LSAs eat 14.5 MB of DRAM

  • 900µs to push one fibbed route to the FIB

40

slide-48
SLIDE 48

Using T5/7 LSAs comes at a price

Different expressivity model Can only affect prefixes from other T5/T7 LSAs Does not work with IS-IS!

41

slide-49
SLIDE 49

Fibbing: Central Control over Distributed Routing

www.fibbing.net

  • 1. Controlling distributed protocols
  • 2. Case study: surviving flash crowds
  • 3. Fibbing today’s networks
  • 4. Food for thoughts
slide-50
SLIDE 50

Centrally modifying the shared topology is powerful

Gives some control over BGP/MPLS-LDP Simplify configurations through exception-based routing Enables optimal, real-time TE

43

slide-51
SLIDE 51

What would be the right abstraction?

slide-52
SLIDE 52

Fibbing: Central Control over Distributed Routing

www.fibbing.net

Tell me lies, tell me sweet little lies — Fleetwood Mac Olivier Tilmans

  • livier.tilmans@uclouvain.be