Tuesday, August 18, 2015

Session 1, Paper 4: Central Control Over Distributed Routing

Authors: Stefano Vissicchio (UCLouvain), Olivier Tilmans (UCLouvain), Laurent Vanbever (ETH Z├╝rich), Jennifer Rexford (Princeton University)

Presenter: Stefano Vissicchio


This paper presents Fibbing, an architecture that achieves both flexibility and robustness through central control over distributed routing. Fibbing relies on traditional link-state protocol like OSPF and IS-IS, and by introducing fake nodes and links, Fibbing is able to control forwarding information base (FIB) directly.

The most exciting thing about this paper is, as mentioned in the public review, “The paper reminds us that SDN is not architecturally about a particular wire protocol but about decoupling
the control and data plane, and how in fact there are multiple ways, with varying trade-offs, to achieve it.”

System Design is clearly described in the graph below borrowed from the paper:


A Fibbing prototype is evaluated over three dimensions, 
  • low CPU and memory overhead and no impact on convergence time introduced by Fibbing on existing routers, 
  • the efficiency of Fibbing’s augmentation algorithm in terms of speed and size of topology
  • a case study on a real network consisting of 4 Cisco routers showing how Fibbing alleviate congestion.
There is a Q&A section in paper which is worthwhile to take a look.

Q&A:

Q: Do you ever get to trouble if working with different switches from different vendors?
A: No, we use standard IGP, and there is no fancy specific features used.

Q: Given the complexity of network dynamics, I can't tell if this is a bad idea or a brilliant idea. How do you debug Fibbing when things go wrong?
A: It's true that Fibbing is hard to roll-back. But Fibbing controller could automate the roll-back. Controller can push some information to improve debugging ability. IGP has a shared view of topology, and it will sync up. We don't think debugging ability is a problem.
- Follow-up Q: If the controller crashes, will router fall-back to standard?
- Follow-up A: Yes.

Q: OSPF is hard to enforce high-level policy. Will things be easy if use BGP high-level policy routing?
A: We can apply a modified version of Fibbing to BGP. Different protocols have values in different settings.

Q: How does Fibbing work with OSPF hierarchy?
A: We need one controller per zone, and coordination is needed. Maybe in future work.

Q: Does Fibbing complicate debugging?
A: To me, Fibbing is not degrading debugging too much. You just need to understand why the fake nodes are there.

Q: We can apply either segment routing or Fibbing to do policy routing. Which to choose?
A: In some cases, they are complimentary. The solution of Fibbing is simpler, because it needs less information from the hardware. If just used for optimizing traffic, Fibbing might be better.

Q: SDN also gives you fine-grained control, but I don't see it in Fibbing.
A: It's true. Fibbing is not very sweet for fine-grained control, but it still provides you some level fine-grained control, such as middle-box. One possibility is to deploy Fibbing in the core instead of edge.

Q: How is implementation complexity in practice?
A: There is one special field in OSPF message, which is leveraged to enable Fibbing. And it works with real Cisco and Juniper routers.