57
SDN with Link-State Routing Protocols PIRL Olivier Tilmans 8th March 2016 UCLouvain Joint work with S. Vissicchio (UCLouvain), L. Vanbever (ETH Zurich) and J. Rexford (Princeton)

SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

PIRL

Olivier Tilmans

8th March 2016

UCLouvain

Joint work with

S. Vissicchio (UCLouvain), L. Vanbever (ETH Zurich) and J. Rexford (Princeton)

Page 2: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

IPv6 comes with a unique opportunity

current network

new network

IPv6 transition

Page 3: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

IPv6 comes with a unique opportunity

to improve configuration automation

current network

new network

IPv6 transition

Page 4: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

IPv6 comes with a unique opportunity

to simplify the protocol stack

current network

new network

IGPMPLS

RSVPBGP

IPv6 transition

Page 5: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

IPv6 comes with a unique opportunity

to change network designs

Page 6: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN (e.g., OpenFlow, Segment Routing)

Traditional (e.g., IGP, distributed MPLS)

The state of the art includes two networking models

based on opposite principles

Page 7: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN simplifies control-plane and management,

but sacrifices robustness of distributed protocols

Manageability

Flexibility

Scalability

Robustness

SDN

ad hoc

low

highest

high

Traditional

IGP, tunnelling (RSVP-TE)

by design

high

low

low

Page 8: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN simplifies control-plane and management,

but sacrifices robustness of distributed protocols

Manageability

Flexibility

Scalability

Robustness

SDN

ad hoc

low

highest

high

Traditional

IGP, tunnelling (RSVP-TE)

by design

high

low

low

Page 9: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

We propose Fibbing, a network architecture which

combines advantages of SDN and traditional networking

Fibbingcentral control over a single link-state IGP

Page 10: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

Page 11: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

achieving central control

Page 12: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

A B

C

destinationsource

Consider this simple network

(implemented with Cisco routers)

X

12

Page 13: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

A B

C X

An IGP control-plane computes

shortest paths on a shared weighted topology

control-plane

3

1

110

shortest paths

13

Page 14: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

IGP shortest paths are translated into

forwarding paths on the data-plane

data-plane

traffic flow

A B

C

X

A B

C X

control-plane

3

1

110

14

Page 15: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

In Fibbing, operators can ask

the controller to modify forwarding paths

requirement (C,A,B,X)

A B

C X3

1

110

15

Page 16: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

The Fibbing controller injects information on

fake nodes and links into the IGP control-plane

node V1 link (V1,C) map (V1,C) to (C,A)

A B

C X3

1

110

requirement (C,A,B,X)

16

Page 17: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Informations are flooded

to all IGP routers in the network

A B

C X3

1

110

requirement (C,A,B,X)

17

node V1 link (V1,C) map (V1,C) to (C,A)

Page 18: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing messages augment

the topology seen by all IGP routers

1

A B

C X3

1

110V1

requirement (C,A,B,X)

18

node V1 link (V1,C) map (V1,C) to (C,A)

Page 19: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Augmented topologies translate

into new control-plane paths

A B

C X3

1

110

requirement (C,A,B,X)

1

V1

19

node V1 link (V1,C) map (V1,C) to (C,A)

Page 20: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Augmented topologies translate

into new data-plane paths

A B

C

X

A B

C X3

1

110

1

V1

requirement (C,A,B,X)

20

node V1 link (V1,C) map (V1,C) to (C,A)

Page 21: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

Page 22: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing can enforce

any set of forwarding DAGs

22

Page 23: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

paths for the same destination not creating loops

Fibbing can enforce

any set of forwarding DAGs

23

Page 24: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

fine-grained control

24

Page 25: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

In the following network,

the blue destination is subject to a DoS attack

A C

B

X

D

5

10

5

5

1051

1

scrubber25

Page 26: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing can steer away

traffic on a per-destination basis

A C

B

X

D

5

10

5

5

1051

1

fA1

requirement (C,D,X) and (B,C,D,X)

26

Page 27: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

per-destination load-balancing

27

Page 28: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Leveraging multiple paths is hard

when links/flows have different capacities/demands

A C

B

X

D

10

10

5

5

1010

Higher link bandwidth

Lower link bandwidth

Higher traffic demand

28

Page 29: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing has fine-grained control over ECMP routing

Adding new equal-cost path

A C

B

X

D

10

10

5

5

1010fA

15

requirement (A,C,X) and (A,B,X) and (A,D,X)

29

Page 30: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

requirements splittingRatios{ (A,B): 2 (A,C): 1}

A C

B

X

D

10

10

5

5

1010

fA

15

Fibbing has fine-grained control over ECMP routing

Introducing uneven load-balancing

30

Page 31: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

backup paths provisioning

31

Page 32: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Link failures may induce

congestion or increased delays

A C

B

X

D

5

10

5

10

20 20

32

Page 33: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing can provision backup paths

C

B

X

D

5

10

5

10

20 20

A

fA

15

requirement (A,D,X) asBackupOf (A,B,X)

33

Page 34: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN with Link-State Routing Protocols

Manageability1

Scalability & Robustness

2 Flexibility

3

IGP on steroids

Page 35: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

We implemented a Fibbing controller

Works with vanilla OSPF and off-the-shelf routers

Supports all presented use-cases

Induces very little overhead on the routers

No impact on SPF computation

IS-IS requires a protocol extension

Source-code on Github

35

Page 36: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

By building upon the underlying IGP,

Fibbing is robust and reactive to failures

1. IGP provides sync primitives

2. replica failures have no impact on forwarding

Fibbing naturally supports replicated controllers

1. IGP is sufficient for some failures [Filsfils07]

2. IGP provides a default for partitions

Fibbing easily deals with network failures

36

Page 37: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing shows the benefits of

central control over distributed protocols

heavy work is still done by routers

IGPs are in charge of all intra-domain paths

Simplifies controllers and improves robustness

network-wide automated control

Realizes SDN management model

Simplifies network design

37

Page 38: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Olivier Tilmans

[email protected]

Tell me lies, tell me sweet little lies

— Fleetwood Mac

SDN with Link-State Routing Protocols

fibbing.net

Page 39: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Backup slides

SDN with Link-State Routing Protocols

Page 40: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

MPLS+RSVP-TE/SR

can solve all the presented use-cases

Need to provision one tunnel per ingress point

Hard to add/remove equal-paths for elephant flows

Fibbing also controls path cost seen by other protocols

40

Page 41: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing manipulates IGP topology, so

does MTR, what’s the difference?

MTR is CLI-driven (configuration changes to do on

every router vs flooding)

Cannot do uneven load-balancing

41

Page 42: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Why shouldn’t I use

Policy-Based Routing?

PBR is CLI-driven (configuration changes to do on

every router vs flooding)

PBR decisions are local to a single router

CPU fallback

42

Page 43: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

How am I supposed to troubleshoot a

network with fake elements?

The controller is the primary source of information

Fake elements can be quickly identified in LSDBs

43

Page 44: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Openflow solves everything

The controller has to setup flow entries on every switch

Switches rely on the controller to handle failures

IGPs are getting extensions to support Flowspec, …

44

Page 45: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Experiments on real routers show that

Fibbing has very limited impact on routers

1 000

5 000

10 000

router memory (MB)

0.7

76.0

153

50 000

100 000

6.8

14.5

# fake nodes

CPU utilization always under 4%

>> # real routers

45

Page 46: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

The controller can choose between a (very) fast

algorithm or one that minimize the augmented topology

Rocketfuel topology of AS1239 (300+ routers)

46

Page 47: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

We study which messages to inject

for controlling intra-domain routing protocols

forwarding

paths

weighted

topology

shortest-path

computation

link-state IGP

input function output

47

Page 48: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

The output of the controlled protocol

is specified by operators’ requirements

forwarding

paths

weighted

topology

shortest-path

computation

input function

provided by operators or controller optimizers

(e.g., DEFO)

link-state IGP

output

48

Page 49: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Inverse

To control IGP output, the Fibbing controller

inverts the shortest-path function

forwarding

paths

weighted

topology

shortest-path

computation

49

Page 50: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

SDN achieves high manageability

by relying on a centralized controller

derives FIB entries

install FIB entries

computes paths

high-level requirements

network controller

configuration

50

Page 51: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing is as manageable as SDN,

but centralizes only high-level decisions

Fibbing controller

computes paths

requirements

51

Page 52: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Fibbing keeps installation distributed,

relying on distributed protocols

distributed control-plane install FIB entries

computes FIB entries

data-plane52

Page 53: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Distributed installation is controlled

by injecting carefully-computed information

control-plane messages

53

Page 54: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Manageability

Flexibility

Scalability

Robustness

SDN

ad hoc

low

highest

high

Traditional

IGP, tunnelling (RSVP-TE)

by design

high

low

low

Fibbing

by design

high

high

high

Fibbing combines advantages

of SDN and traditional networking

Page 55: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Manageability

Flexibility

Scalability

Robustness

Fibbing

by design

high

high

high

centralized controller

per-destination full control

some functions are distributed

Fibbing combines advantages

of SDN and traditional networking

Page 56: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

Our prototype includes algorithms

to compute augmented topologies of limited size

network topology

+

path reqs.

per-destination forwarding DAGs

augmented topology

reduced topology

running network

Compilation Augmentation OptimizationInjection/Monitoring

56

Page 57: SDN with Link-State Routing Protocols - Fibbingfibbing.net/files/cisco_pirl_symposium16.pdf · The output of the controlled protocol is specified by operators’ requirements forwarding

The controller listens through an OSPF adjacency

to keep an up-to-date view of the topology

network topology

+

path reqs.

per-destination forwarding DAGs

augmented topology

reduced topology

running network

Compilation Augmentation OptimizationInjection/Monitoring

57