skip to main content
research-article

Debugging the data plane with anteater

Authors Info & Claims
Published:15 August 2011Publication History
Skip Abstract Section

Abstract

Diagnosing problems in networks is a time-consuming and error-prone process. Existing tools to assist operators primarily focus on analyzing control plane configuration. Configuration analysis is limited in that it cannot find bugs in router software, and is harder to generalize across protocols since it must model complex configuration languages and dynamic protocol behavior.

This paper studies an alternate approach: diagnosing problems through static analysis of the data plane. This approach can catch bugs that are invisible at the level of configuration files, and simplifies unified analysis of a network across many protocols and implementations. We present Anteater, a tool for checking invariants in the data plane. Anteater translates high-level network invariants into boolean satisfiability problems (SAT), checks them against network state using a SAT solver, and reports counterexamples if violations have been found. Applied to a large university network, Anteater revealed 23 bugs, including forwarding loops and stale ACL rules, with only five false positives. Nine of these faults are being fixed by campus network operators.

Skip Supplemental Material Section

Supplemental Material

sigcomm_9_2.mp4

mp4

196.5 MB

References

  1. JUNOS: MPLS fast reroute solutions, network operations guide. 2007.Google ScholarGoogle Scholar
  2. The all new 2010 Intel Core vPro processor family: Intelligence that adapts to your needs (whitepaper). 2010. http://www.intel.com/Assets/PDF/whitepaper/311710.pdf.Google ScholarGoogle Scholar
  3. E. S. Al-Shaer and H. H. Hamed. Discovery of policy anomalies in distributed firewalls. In Proc. IEEE INFOCOM, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  4. Apple. What is lights out management?, September 2010. http://support.apple.com/kb/TA24506.Google ScholarGoogle Scholar
  5. F. Baccelli, S. Machiraju, D. Veitch, and J. Bolot. The role of PASTA in network measurement. In Proc. ACM SIGCOMM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Y. Bartal, A. Mayer, K. Nissim, and A. Wool. Firmato: A novel firewall management toolkit. In Proc. IEEE S&P, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  7. T. Benson, A. Akella, and D. Maltz. Unraveling the complexity of network management. In Proc. USENIX NSDI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In Proc. TACAS, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Brummayer and A. Biere. Boolector: An efficient smt solver for bit-vectors and arrays. In Proc. TACAS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Bush and T. G. Griffin. Integrity for virtual private routed networks. In Proc. IEEE INFOCOM, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  11. Cisco Systems Inc. Spanning tree protocol problems and related design considerations. http://www.cisco.com/en/US/tech/tk389/tk621/technologies_tech_note09186%a00800951ac.shtml, August 2005. Document ID 10556.Google ScholarGoogle Scholar
  12. J. Duffy. BGP bug bites Juniper software. Network World, December 2007.Google ScholarGoogle Scholar
  13. J. Evers. Trio of Cisco flaws may threaten networks. CNET News, January 2007.Google ScholarGoogle Scholar
  14. D. Farinacci, T. Li, S. Hanks, D. Meyer, and P. Traina. Generic Routing Encapsulation (GRE). RFC 2784, March 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Feamster and H. Balakrishnan. Detecting BGP configuration faults with static analysis. In Proc. USENIX NSDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Feamster and J. Rexford. Network-wide prediction of bgp routes. IEEE/ACM Transactions on Networking, 15:253--266, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Feldmann, O. Maennel, Z. Mao, A. Berger, and B. Maggs. Locating Internet routing instabilities. In Proc. ACM SIGCOMM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Geels, G. Altekar, P. Maniatis, T. Roscoe, and I. Stoica. Friday: global comprehension for distributed replay. In Proc. USENIX NSDI, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. G. Goodell, W. Aiello, T. Griffin, J. Ioannidis, P. McDaniel, and A. Rubin. Working around BGP: An incremental approach to improving security and accuracy of interdomain routing. In Proc. NDSS, 2003.Google ScholarGoogle Scholar
  20. H. Hamed, E. Al-Shaer, and W. Marrero. Modeling and verification of IPSec and VPN security policies. In Proc. ICNP, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. X. Hu and Z. M. Mao. Accurate real-time identification of IP prefix hijacking. In Proc. IEEE S&P, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Lasserre and V. Kompella. Virtual private lan service (VPLS) using label distribution protocol (LDP) signaling. RFC 4762, January 2007.Google ScholarGoogle Scholar
  23. C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In Proc. CGO, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. X. Liu, Z. Guo, X. Wang, F. Chen, X. Lian, J. Tang, M. Wu, M. F. Kaashoek, and Z. Zhang. D3S: Debugging deployed distributed systems. In Proc. USENIX NSDI, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Mahajan, D. Wetherall, and T. Anderson. Understanding BGP misconfiguration. In Proc. ACM SIGCOMM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Y. Mandelbaum, S. Lee, and D. Caldwell. Adaptive parsing of router configuration languages. In Workshop INM, 2008.Google ScholarGoogle Scholar
  27. Z. M. Mao, D. Johnson, J. Rexford, J. Wang, and R. Katz. Scalable and accurate identification of AS-level forwarding paths. In Proc. IEEE INFOCOM, 2004.Google ScholarGoogle Scholar
  28. N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, and S. Shenker. OpenFlow: Enabling innovation in campus networks. ACM CCR, April 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Nagios. http://www.nagios.org.Google ScholarGoogle Scholar
  30. Quagga Routing Suite. http://www.quagga.net.Google ScholarGoogle Scholar
  31. Quagga Software Routing Suite. Commercial Resources. http://www.quagga.net/commercial.php.Google ScholarGoogle Scholar
  32. Renesys. Longer is not always better. http://www.renesys.com/blog/2009/02/longer-is-not-better.shtml.Google ScholarGoogle Scholar
  33. T. Roscoe, S. Hand, R. Isaacs, R. Mortier, and P. Jardetzky. Predicate routing: enabling controlled networking. ACM CCR, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Ruby-Prolog. https://rubyforge.org/projects/ruby-prolog.Google ScholarGoogle Scholar
  35. F. Silveira, C. Diot, N. Taft, and R. Govindan. ASTUTE: Detecting a different class of traffic anomalies. In Proc. ACM SIGCOMM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. N. Spring, R. Mahajan, and D. Wetherall. Measuring ISP topologies with rocketfuel. In Proc. ACM SIGCOMM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. P. Tune and D. Veitch. Towards optimal sampling for flow size estimation. In Proc. IMC, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. Wu, Z. M. Mao, J. Rexford, and J. Wang. Finding a needle in a haystack: Pinpointing significant BGP routing changes in an IP network. In Proc. USENIX NSDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. G. G. Xie, J. Zhan, D. A. Maltz, H. Zhang, A. Greenberg, G. Hjalmtysson, and J. Rexford. On static reachability analysis of IP networks. In Proc. IEEE INFOCOM, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  40. Y. Xie and A. Aiken. Saturn: A scalable framework for error detection using boolean satisfiability. Proc. ACM TOPLAS, 29(3), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Z. Yin, M. Caesar, and Y. Zhou. Towards understanding bugs in open source router software. ACM CCR, June 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. D. Yuan, H. Mai, W. Xiong, L. Tan, Y. Zhou, and S. Pasupathy. SherLog: Error diagnosis by connecting clues from run-time logs. In ASPLOS, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. L. Yuan, J. Mai, Z. Su, H. Chen, C.-N. Chuah, and P. Mohapatra. FIREMAN: A toolkit for FIREwall Modeling and ANalysis. In Proc. IEEE S&P, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. E. Zmijewski. Reckless driving on the Internet. http://www.renesys.com/blog/2009/02/the-flap-heard-around-the-worl.shtml, February 2009.Google ScholarGoogle Scholar

Index Terms

  1. Debugging the data plane with anteater

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGCOMM Computer Communication Review
        ACM SIGCOMM Computer Communication Review  Volume 41, Issue 4
        SIGCOMM '11
        August 2011
        480 pages
        ISSN:0146-4833
        DOI:10.1145/2043164
        Issue’s Table of Contents
        • cover image ACM Conferences
          SIGCOMM '11: Proceedings of the ACM SIGCOMM 2011 conference
          August 2011
          502 pages
          ISBN:9781450307970
          DOI:10.1145/2018436

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 August 2011

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader