2016 · 140 citations · 19 references
ComputingComputer EngineeringComputer SystemsFault ToleranceFault-tolerant ComputingFault-tolerant SystemsControl-flow AnalysisData-flow AnalysisDeductive VerificationModel CheckingNetwork Fault ToleranceRoutingAbstractionFault-tolerant NetworksInvariantsNetwork Verification
Networks employ complex, and hence error-prone, routing control plane configurations. In many cases, the impact of errors manifests only under failures and leads to devastating effects. Thus, it is important to proactively verify control plane behavior under arbitrary link failures. State-of-the-art verifiers are either too slow or impractical to use for such verification tasks. In this paper we propose a new high level abstraction for control planes, ARC, that supports fast control plane analyses under arbitrary failures. ARC can check key invariants without generating the data plane--which is the main reason for current tools' ineffectiveness. This is possible because of the nature of verification tasks and the constrained nature of control plane designs in networks today. We develop algorithms to derive a network's ARC from its configuration files. Our evaluation over 314 networks shows that ARC computation is quick, and that ARC can verify key invariants in under 1s in most cases, which is orders-of-magnitude faster than the state-of-the-art.
19
Header space analysis: static checking for networks
Peyman Kazemian, George Varghese, Nick McKeown · 2012 · 629 citations
VeriFlow: verifying network-wide invariants in real time
Ahmed Khurshid, Xuan Kelvin Zou, Wenxuan Zhou et al. · 2013 · 477 citations
Real time network policy checking using header space analysis
Peyman Kazemian, Michael T. Chang, Hongyi Zeng et al. · 2013 · 456 citations
FIREMAN: a toolkit for firewall modeling and analysis
Lihua Yuan, Hao Chen, Jianning Mai et al. · 2006 · 398 citations
Debugging the data plane with anteater
Haohui Mai, Ahmed Khurshid, Rachit Agarwal et al. · 2011 · 373 citations