Affiliation:
1. Microsoft Research
2. University of Madison-Wisconsin
3. Tel Aviv University
4. Technische Universität München
5. Hebrew University
Abstract
Software-defined networking (SDN) is a new paradigm for operating and managing computer networks. SDN enables logically-centralized control over network devices through a "controller" software that operates independently from the network hardware, and can be viewed as the network operating system. Network operators can run both inhouse and third-party SDN programs (often called applications) on top of the controller, e.g., to specify routing and access control policies. SDN opens up the possibility of applying formal methods to prove the correctness of computer networks. Indeed, recently much effort has been invested in applying finite state model checking to check that SDN programs behave correctly. However, in general, scaling these methods to large networks is challenging and, moreover, they cannot guarantee the absence of errors.
We present VeriCon, the first system for verifying that an SDN program is correct on
all
admissible topologies and for
all
possible (infinite) sequences of network events. VeriCon either confirms the correctness of the controller program on
all
admissible network topologies or outputs a concrete counterexample. VeriCon uses first-order logic to specify admissible network topologies and desired network-wide invariants, and then implements classical Floyd-Hoare-Dijkstra deductive verification using Z3. Our preliminary experience indicates that VeriCon is able to rapidly verify correctness, or identify bugs, for a large repertoire of simple core SDN programs. VeriCon is compositional, in the sense that it verifies the correctness of execution of any single network event w.r.t. the specified invariant, and can thus scale to handle large programs. To relieve the burden of specifying inductive invariants from the programmer, VeriCon includes a separate procedure for inferring invariants, which is shown to be effective on simple controller programs. We view VeriCon as a first step en route to practical mechanisms for verifying network-wide invariants of SDN programs.
Funder
Seventh Framework Programme
Technical University of Munich
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference24 articles.
1. OpenFlow Switch Specification Oct. 2013. Version 1.4.0. OpenFlow Switch Specification Oct. 2013. Version 1.4.0.
2. NetKAT
3. Lecture Notes in Computer Science;de Moura L. M.,2008
4. Guarded commands, nondeterminacy and formal derivation of programs
Cited by
38 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Enhancement of software-defined networking using Bloom Filter;Bloom Filter;2023
2. Classification of network slicing threats based on slicing enablers: A survey;International Journal of Intelligent Networks;2023
3. Stratified guarded first-order transition systems;Formal Methods in System Design;2022-11-22
4. Automatic Repair for Network Programs;Tools and Algorithms for the Construction and Analysis of Systems;2022
5. Automated Orchestration of Security Chains Driven by Process Learning*;Communication Networks and Service Management in the Era of Artificial Intelligence and Machine Learning;2021-09-03