High-coverage testing of softwarized networks

Network operators face a challenge of ensuring correctness as networks grow more complex, in terms of scale and increasingly in terms of diversity of software components. Network-wide verification approaches can spot errors, but assume a simplified abstraction of the functionality of individual network devices, which may deviate from the real implementation. In this paper, we propose a technique for high-coverage testing of end-to-end network correctness using the real software that is deployed in these networks. Our design is effectively a hybrid, using an explicit-state model checker to explore all network-wide execution paths and event orderings, but executing real software as subroutines for each device. We show that this approach can detect correctness issues that would be missed both by existing verification and testing approaches, and a prototype implementation suggests the technique can scale to larger networks with reasonable performance.

[1]  Katerina J. Argyraki,et al.  A Formally Verified NAT , 2017, SIGCOMM.

[2]  Katerina J. Argyraki,et al.  Software dataplane verification , 2014, NSDI.

[3]  Ratul Mahajan,et al.  Fast Control Plane Analysis Using an Abstract Representation , 2016, SIGCOMM.

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

[5]  Katerina J. Argyraki,et al.  Verifying Reachability in Networks with Mutable Datapaths , 2016, NSDI.

[6]  Brighten Godfrey,et al.  COCONUT: Seamless Scale-out of Network Elements , 2017, EuroSys.

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

[8]  George Varghese,et al.  Efficient Network Reachability Analysis Using a Succinct Control Plane Representation , 2016, OSDI.

[9]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[10]  Jitendra Padhye,et al.  CrystalNet: Faithfully Emulating Large Production Networks , 2017, SOSP.

[11]  Brighten Godfrey,et al.  Predicting Network Futures with Plankton , 2017, APNet.

[12]  Brighten Godfrey,et al.  VeriFlow: verifying network-wide invariants in real time , 2012, HotSDN '12.

[13]  George Varghese,et al.  Real Time Network Policy Checking Using Header Space Analysis , 2013, NSDI.

[14]  Brighten Godfrey,et al.  Debugging the data plane with anteater , 2011, SIGCOMM.

[15]  George Varghese,et al.  Automatic Test Packet Generation , 2012, IEEE/ACM Transactions on Networking.

[16]  Ratul Mahajan,et al.  A General Approach to Network Configuration Verification , 2017, SIGCOMM.

[17]  Mukul R. Prasad,et al.  Delta-net: Real-time Network Verification Using Atoms , 2017, NSDI.