Diagnosing Distributed Routing Configurations Using Sequential Program Analysis

In this paper, we show that by capturing the causal relationship among the computation of routers, one can transform the distributed program composed of routing processes into a sequential program, which allows the use of various sequential program analysis theories and tools for diagnosing and repairing routing configuration errors. This insight sheds light on future research on automatic network configuration diagnosis and repair. To demonstrate its feasibility and generality, we give the preliminary design of two methods for routing configuration error diagnosis: (1) data flow analysis using minimal unsatisfiable core and error invariants; and (2) control flow analysis using selective symbolic execution. Using real-world topologies and synthetic configurations, we show that both methods can effectively find errors in routing configurations while incurring reasonable overhead

[1]  P. Zhang,et al.  Symbolic router execution , 2022, SIGCOMM.

[2]  Aaron Gember,et al.  Localizing Router Configuration Errors Using Minimal Correction Sets , 2022, ArXiv.

[3]  Siva Kesava Reddy Kakarla,et al.  Campion: debugging router configuration differences , 2021, SIGCOMM.

[4]  Aditya Akella,et al.  AED: incrementally synthesizing policy-compliant and manageable configurations , 2020, CoNEXT.

[5]  Ming Zhang,et al.  Accuracy, Scalability, Coverage: A Practical Configuration Verifier on a Global WAN , 2020, SIGCOMM.

[6]  Ryan Beckett,et al.  Abstract interpretation of distributed network control planes , 2019, Proc. ACM Program. Lang..

[7]  Ratul Mahajan,et al.  Efficient Verification of Network Fault Tolerance via Counterexample-Guided Refinement , 2019, CAV.

[8]  Andrey Rybalchenko,et al.  Fast BGP Simulation of Large Datacenters , 2019, VMCAI.

[9]  Ratul Mahajan,et al.  Control plane compression , 2018, SIGCOMM.

[10]  Ratul Mahajan,et al.  Automatically Repairing Network Control Planes Using an Abstract Representation , 2017, SOSP.

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

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

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

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

[15]  Rui Abreu,et al.  A Survey on Software Fault Localization , 2016, IEEE Transactions on Software Engineering.

[16]  Mark H. Liffiton,et al.  Fast, flexible MUS enumeration , 2016, Constraints.

[17]  Ramesh Govindan,et al.  A General Approach to Network Configuration Analysis , 2015, NSDI.

[18]  Andreas Haeberlen,et al.  Diagnosing missing events in distributed systems with negative provenance , 2014, SIGCOMM.

[19]  Emina Torlak,et al.  What Gives? A Hybrid Algorithm for Error Trace Explanation , 2014, VSTTE.

[20]  Matthew Roughan,et al.  The Internet Topology Zoo , 2011, IEEE Journal on Selected Areas in Communications.

[21]  Xiaozhou Li,et al.  Efficient querying and maintenance of network provenance at internet-scale , 2010, SIGMOD Conference.

[22]  Ion Stoica,et al.  Declarative networking , 2009, Commun. ACM.

[23]  Steve Uhlig,et al.  Modeling the routing of an autonomous system with C-BGP , 2005, IEEE Network.

[24]  Nick Feamster,et al.  Detecting BGP configuration faults with static analysis , 2005 .

[25]  William Craig,et al.  Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory , 1957, Journal of Symbolic Logic.

[26]  Aaron Gember,et al.  Differential Network Analysis , 2022, NSDI.

[27]  Aditya Akella,et al.  Tiramisu: Fast Multilayer Network Verification , 2020, NSDI.

[28]  Laurent Vanbever,et al.  NetComplete: Practical Network-Wide Configuration Synthesis with Autocompletion , 2018, NSDI.

[29]  Andreas Haeberlen,et al.  Data Center Diagnostics with Network Provenance , 2018, IEEE Data Eng. Bull..

[30]  Andreas Haeberlen,et al.  Automated Bug Removal for Software-Defined Networks , 2017, NSDI.

[31]  Thomas Wies,et al.  Error Invariants , 2012, FM.

[32]  Vitaly Chipounov,et al.  Selective Symbolic Execution , 2009 .