Title: Renaissance: Self-Stabilizing Distributed SDN Control Plane,
Abstract: By introducing programmability, automated verification, and innovative
debugging tools, Software-Defined Networks (SDNs) are poised to meet the
increasingly stringent dependability requirements of today's communication
networks. However, the design of fault-tolerant SDNs remains an open challenge.
This paper considers the design of dependable SDNs through the lenses of
self-stabilization - a very strong notion of fault-tolerance. In particular, we
develop algorithms for an in-band and distributed control plane for SDNs,
called Renaissance, which tolerate a wide range of (concurrent) controller,
link, and communication failures. Our self-stabilizing algorithms ensure that
after the occurrence of an arbitrary combination of failures, (i) every
non-faulty SDN controller can eventually reach any switch in the network within
a bounded communication delay (in the presence of a bounded number of
concurrent failures) and (ii) every switch is managed by at least one
non-faulty controller. We evaluate Renaissance through a rigorous worst-case
analysis as well as a prototype implementation (based on OVS and Floodlight),
and we report on our experiments using Mininet.