Automatically Repairing Network Control Planes Using an Abstract Representation
Automatically Repairing Network Control Planes Using an Abstract Representation
复制标题
DOI:
10.1145/3132747.3132753
复制
发表时间:
2017-10
期刊:
影响因子:
--
通讯作者:
Aaron Gember;Aditya Akella;Ratul Mahajan;H. Liu
中科院分区:
文献类型:
--
作者:
Aaron Gember;Aditya Akella;Ratul Mahajan;H. Liu
The forwarding behavior of computer networks is governed by the configuration of distributed routing protocols and access filters---collectively known as the network control plane. Unfortunately, control plane configurations are often buggy, causing networks to violate important policies: e.g., specific traffic classes (defined in terms of source and destination endpoints) should always be able to reach their destination, or always traverse a waypoint. Manually repairing these configurations is daunting because of their inter-twined nature across routers, traffic classes, and policies. Inspired by recent work in automatic program repair, we introduce CPR, a system that automatically computes correct, minimal repairs for network control planes. CPR casts configuration repair as a MaxSMT problem whose constraints are based on a digraph-based representation of a control plane's semantics. Crucially, this representation must capture the dependencies between traffic classes arising from the cross-traffic-class nature of control plane constructs. The MaxSMT formulation must account for these dependencies whilst also accounting for all policies and preferring repairs that minimize the size (e.g., number of lines) of the configuration changes. Using configurations from 96 data center networks, we show that CPR produces repairs in less than a minute for 98% of the networks, and these repairs requiring changing the same or fewer lines of configuration than hand-written repairs in 79% of cases.