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)
Fibbing
Fibbing Control routers’ FIB, lying to routers
Consider this example network. Router Link 3
Consider this example network. Router A Link B R1 R2 R3 R4 C 3
Link-state Interior Gateway Protocols (IGPs) exchange reachability information to infer the topology of the network. A Link weight 1 1 B 2 R1 1 2 3 R2 R3 R4 1 1 1 C Destination Prefix 4
The intra-domain traffic flows along the shortest path on the shared topology. Control-Plane Data-Plane A 1 Traffic flow 1 B 2 R1 1 2 3 R2 R3 R4 1 1 1 C Traffic D1 D2 destination 4
IGPs cause operator to follow a descriptive management process. Operator � Express requirements
IGPs cause operator to follow a descriptive management process. Protocol configuration operation Operator � Express requirements � Computes paths � Figures out how to implement them
IGPs cause operator to follow a descriptive management process. Protocol configuration operation Operator � Express requirements � Computes paths � Figures out how to Distributed implement them Control-Plane � Derives FIB entries � install FIB entries 5
Software-Defined Networking (SDN) enables declarative management. Centralized control plane 6
Software-Defined Networking (SDN) enables declarative management. Operator � Express requirements 6
Software-Defined Networking (SDN) enables declarative management. SDN Controller � Compute paths � Derives FIB entries � install FIB entries Well-defined API Operator � Express requirements 6
SDN sacrifices the robustness and scalability of distributed protocols. Traditional SDN Manageability low high Flexibility low highest Scalability by design ad hoc Robustness high low 7
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
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
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
Fibbing uses an hybrid control plane. Centralized control plane Distributed control plane
Fibbing centralizes high level routing decisions. Fibbing Controller � Compute paths Operator � Express requirements
Fibbing keeps the route installation distributed. Fibbing Controller � Compute paths Operator � Express requirements Distributed Control-Plane � Derives FIB entries � install FIB entries
We study which IGP messages to inject. Fibbing Controller � Compute paths IGP messages Operator � Express requirements Distributed Control-Plane � Derives FIB entries � install FIB entries 9
Operators specify paths that must be enforced. requirements (A, R1, R2, C, blue) A B R1 R3 R2 R4 C 10
The controller injects one IGP message adding a fake node and links . requirements (A, R1, R2, C, blue) A node fA (blue), link (fA, A, 2), 1 map (fA, A) to (A, R1) 1 B 2 R1 1 2 3 R2 R3 R4 1 1 1 C 14
IGP flooding propagates the information. requirements (A, R1, R2, C, blue) A node fA (blue), link (fA, A, 2), 1 map (fA, A) to (A, R1) 1 B 2 R1 1 2 3 R2 R3 R4 1 1 1 C 17
The Fibbing message augments the topology. requirements (A, R1, R2, C, blue) fA A 2 node fA (blue), link (fA, A, 2), 1 map (fA, A) to (A, R1) 1 B 2 R1 1 2 3 R3 R2 R4 1 1 1 C 20
Augmented topologies translate into new control-plane paths. requirements (A, R1, R2, C, blue) A fA 2 node fA (blue), link (fA, A, 2), 1 map (fA, A) to (A, R1) 1 B 2 R1 1 2 3 R2 R3 R4 1 1 1 C 23
Augmented topologies translate into new data-plane paths. Control-Plane Data-Plane requirements (A, R1, R2, C, blue) fA A 1 2 1 node fA (blue), 1 link (fA, A, 2), i map (fA, A) to (A, R1) 1 B 2 2 1 2 R1 1 3 2 3 R2 R3 1 R4 1 1 1 1 1 C 24
Chaining multiple fake nodes enables to program complex paths. requirements (A, R1, R4, C,blue) A fA 2 node fA (blue), link (fA, A, 2), 1 map (fA, A) to (A, R1) 1 B 2 R1 1 2 3 R2 R3 R4 1 1 1 C 25
Chaining multiple fake nodes enables to program complex paths. requirements (A, R1, R4, C,blue) A fA 2 node fR1 (blue), link (fR1, R1, 2), 1 map (fR1, r1) to (R1, R4) 1 B 2 fR1 R1 1 2 2 3 R2 R3 R4 1 1 1 C 25
Chaining multiple fake nodes enables to program complex paths. requirements (A, R1, R4, C,blue) A fA 2 1 1 B 2 fR1 R1 1 2 2 3 R2 R3 R4 1 1 1 C 25
Augmented topologies can be reduced to optimize the number of fake nodes. Naive augmentation Reduced augmentation requirements requirements (A, R1, R4, C,blue) (A, R1, R4, C,blue) fA A A 2 1 1 1 1 B B 2 2 fR1 R1 fR1 R1 1 1 2 2 1 2 3 3 R2 R3 R2 R3 R4 R4 1 1 1 1 1 1 C C 26
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
Fibbing leverages the robustness of IGPs. � Fast failure detection and recovery � Survive controller failure � Support fail-close and fail-open semantics 28
Fibbing can enforce any set of loop-free paths, on a per destination basis.
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
Flash crowds cause service disruption. � Video delivery services require good network performance 31
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
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
The initial IGP configuration has a bottleneck towards router C. Control-Plane Data-Plane A 30 S2 30 Video Link load 1 server 1 B 30 S1 60 2 R1 1 2 3 R2 R3 60 R4 1 1 1 Overloaded C link Video D1 D2 client 33
Fibbing can program on-demand ECMP to spread the load Control-Plane Data-Plane A 30 S2 30 1 1 2 B fB 30 S1 30 30 2 R1 1 2 3 R2 R3 30 30 R4 1 1 1 C D1 D2
Fibbing can program on-demand ECMP to spread the load Control-Plane Data-Plane A 30 S2 15 15 1 1 2 B fB 30 S1 22.5 22.5 2 R1 fR1 1 1 2 15 3 R2 R3 22.5 22.5 R4 15 1 1 1 C D1 D2 34
Fibbing controls the splitting ratios across equal-cost paths. Control-Plane Data-Plane A 30 S2 20 10 1 1 fR1 1 2 B fB 30 S1 20 20 2 R1 fR1’ 1 1 2 20 3 R2 R3 20 20 R4 20 1 1 1 C D1 D2 35
As the demand increases, the Fibbing controller adds more paths to spread the load. A–R1 1 stream 31 streams 61 streams A S2 B–R2 B–R3 B S1 R1 R2 R3 R4 0 C 0 14 35 Time [ s ] D1 D2 � We initially have 1 video stream from S1 to D1. � At time t = 14 s , we start 30 new streams from S1 to D1. � At time t = 35 s , we start 30 streams from S2 to D2. 36
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
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
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
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
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
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
Recommend
More recommend