Formal Modeling and Verification of Software-Defined Networking with Multiple Controllers

Traditional SDN has one controller, but more recent SDN approaches use multiple controllers on one network. However, the multiple controllers need to be synchronized with each other in order to guarantee a consistent network view, and complicated control management and additional control overhead are required. To overcome these limitations, Kandoo [5] has been proposed in which a root controller manages multiple unsynchronized local controllers. However, in this approach, loops can form between the local controllers because they manage different topologies. We propose a method for modeling a hierarchical design to detect loops in the topology and prevent them from occurring using UPPAAL model checker. In addition, the properties of multiple controllers are defined and verified based UPPAAL framework. In particular, we verify the following properties in a multiple controller: (1) elephant flows go through the root controller, (2) all flows go through the switch that is required to maintain security, and (3) they avoid unnecessary switches for energy efficiency.

[1]  Michael Menth,et al.  Software-Defined Networking Using OpenFlow: Protocols, Applications and Architectural Design Choices , 2014, Future Internet.

[2]  Ron Y. Pinter,et al.  HyperFlow: an integrated visual query and dataflow language for end-user information analysis , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[3]  Marco Canini,et al.  A NICE Way to Test OpenFlow Applications , 2012, NSDI.

[4]  Yashar Ganjali,et al.  Kandoo: a framework for efficient and scalable offloading of control applications , 2012, HotSDN '12.

[5]  George Varghese,et al.  Header Space Analysis: Static Checking for Networks , 2012, NSDI.

[6]  Petr Kuznetsov,et al.  A distributed and robust SDN control plane for transactional network updates , 2015, 2015 IEEE Conference on Computer Communications (INFOCOM).

[7]  Myung-Ki Shin,et al.  A Verification Method of SDN Firewall Applications , 2016, IEICE Trans. Commun..

[8]  David Walker,et al.  Frenetic: a high-level language for OpenFlow networks , 2010, PRESTO '10.

[9]  David Walker,et al.  Abstractions for network update , 2012, SIGCOMM '12.

[10]  Huibiao Zhu,et al.  Modeling and verifying SDN with multiple controllers , 2018, SAC.

[11]  Roman Y. Shtykh,et al.  Distributed Data Stream Processing with Onix , 2014, 2014 IEEE Fourth International Conference on Big Data and Cloud Computing.

[12]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[13]  David Walker,et al.  A compiler and run-time system for network programming languages , 2012, POPL '12.

[14]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[15]  Abdallah Shami,et al.  NFV: state of the art, challenges, and implementation in next generation mobile networks (vEPC) , 2014, IEEE Network.