FlowTable pipeline misconfigurations in Software Defined Networks

Software Defined Networks (SDNs) are a promising network architecture for future computer networks because they enable more dynamic, fine-grained control over network traffic. OpenFlow is an open standard network protocol that provides specifications for managing network traffic. Permissible (and impermissible) network flows are defined by OpenFlow policies that are translated into network switch FlowTables. Like other network types, SDNs are susceptible to misconfiguration that can negatively affect SDN behavior by leading to the execution of unintended network flows. In this paper, we present a formal method-based framework to detect pipeline misconfigurations in network switch FlowTables. Our framework can be used to: (a) formally verify the consistency of different network switches and OpenFlow controllers across SDN infrastructures; (b) formally validate the correctness of the configuration synthesis; (c) debug reachability and security problems; and, (d) formally assess the consistency of SDN policies. Our framework can also be used as a foundational methodology to conduct “what-if” analysis to study the impact of the new SDN network configurations by simply changing the state in the FlowTables and then analyzing the effects.