Abstract

The paper is devoted to the verification of Software Defined Networking (SDN) components and their compositions. We focus on the interaction between three basic entities, an application, a controller, and a switch. When the application submits a request to the controller, containing a set of rules to configure, these rules are expected to be ‘pushed’ and correctly applied by the switch of interest. However, this is not always the case, and one of the reasons is the presence of races or concurrency issues in SDN components and related interfaces. We propose a model checking based approach for deriving test sequences that can identify SDN races. The test generation strategy is based on model checking, and related formal verification is performed with the use of extended automata specifying the behavior of the components of interest; Linear Temporal Logic (LTL) formulas are utilized to express the properties to check. We generalize the races of interest and propose an approach for deriving the corresponding LTL formulas that are later used for verifiation. The Spin model checker is used for that purpose and thus, Promela specifications for interacting components are also provided; those are: the ONOS REST API, the ONOS controller and an OpenFlow Switch. An experimental evaluation with the aforementioned components showcases the existence of race conditions in their compositions.

Highlights

  • Software Defined Networking (SDN) technologies are actively developing nowadays and are utilized in future network standards, such as for example 5G

  • The main contributions of this work are i) a proactive model checking based testing method for SDN race detection; ii) extended automata specifications describing the behavior of an SDN controller, an SDN switch and a communication channel, as well as their Promela specifications that can be downloaded from [17]; iii) the description of the potential races of two types for the considered composition in Linear Temporal Logic (LTL), and iv) experimental results identifying an inconsistency in a common SDN composition (ONOS with Open vSwitch) with respect to the time constraints and delays for the rules to be pushed

  • The proposed approach complements the existing ones that are mostly based on effective monitoring and run-time verification, i.e., a model checking based design of test sequences that can push certain race to show, can be integrated into monitoring systems and can later serve for the SDN components’ certification

Read more

Summary

Introduction

Software Defined Networking (SDN) technologies are actively developing nowadays and are utilized in future network standards, such as for example 5G. We employ the Spin model checker [5] that produces a counterexample to generate a sequence of actions that can induce a race For this reason, we derive extended automata simulating the behavior of the interacting SDN components and later on verify potential (race) properties for this composition. The main contributions of this work are i) a proactive model checking based testing method for SDN race detection; ii) extended automata specifications describing the behavior of an SDN controller, an SDN switch and a communication channel (southbound interface), as well as their Promela specifications that can be downloaded from [17] (which can be extended for specific needs); iii) the description of the potential races of two types for the considered composition in LTL, and iv) experimental results identifying an inconsistency in a common SDN composition (ONOS with Open vSwitch) with respect to the time constraints and delays for the rules to be pushed.

Software Defined Networking
Extended Input / Output Automata and Related Races
Linear Temporal Logic
Modeling the Application-Controller-Switch Interaction
Extended Automaton Modeling the Behavior of a Controller
Extended Automaton Modeling the Behavior of Channel 1
Race detection in the Application-Controller-Switch Interaction
Input / Output Races
Intra-channel Races
Experimental Results
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call