skip to main content
article
Public Access

Event-driven network programming

Published:02 June 2016Publication History
Skip Abstract Section

Abstract

Software-defined networking (SDN) programs must simultaneously describe static forwarding behavior and dynamic updates in response to events. Event-driven updates are critical to get right, but difficult to implement correctly due to the high degree of concurrency in networks. Existing SDN platforms offer weak guarantees that can break application invariants, leading to problems such as dropped packets, degraded performance, security violations, etc. This paper introduces EVENT-DRIVEN CONSISTENT UPDATES that are guaranteed to preserve well-defined behaviors when transitioning between configurations in response to events. We propose NETWORK EVENT STRUCTURES (NESs) to model constraints on updates, such as which events can be enabled simultaneously and causal dependencies between events. We define an extension of the NetKAT language with mutable state, give semantics to stateful programs using NESs, and discuss provably-correct strategies for implementing NESs in SDNs. Finally, we evaluate our approach empirically, demonstrating that it gives well-defined consistency guarantees while avoiding expensive synchronization and packet buffering.

References

  1. ONOS Intent Framework. 2014. URL https://wiki. onosproject.org/x/XgAZ.Google ScholarGoogle Scholar
  2. C. J. Anderson, N. Foster, A. Guha, J.-B. Jeannin, D. Kozen, C. Schlesinger, and D. Walker. NetKAT: Semantic Foundations for Networks. POPL, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. T. Arashloo, Y. Koral, M. Greenberg, J. Rexford, and D. Walker. SNAP: Stateful Network-Wide Abstractions for Packet Processing. 2015.Google ScholarGoogle Scholar
  4. R. Beckett, M. Greenberg, and D. Walker. Temporal NetKAT. PLVNET, 2015.Google ScholarGoogle Scholar
  5. G. Bianchi, M. Bonola, A. Capone, and C. Cascone. Open-State: Programming Platform-independent Stateful Openflow Applications Inside the Switch. ACM SIGCOMM CCR, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, et al. P4: Programming Protocol-independent Packet Processors. ACM SIGCOMM CCR, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Brewer. Towards robust distributed systems (abstract). PODC, page 7, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Casado, M. J. Freedman, J. Pettit, J. Luo, N. McKeown, and S. Shenker. Ethane: Taking Control of the Enterprise. SIGCOMM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Casado, T. Koponen, S. Shenker, and A. Tootoonchian. Fabric: A Retrospective on Evolving SDN. HotSDN, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: A Network Programming Language. ICFP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. Foster, A. Guha, M. Reitblatt, A. Story, M. J. Freedman, N. P. Katta, C. Monsanto, J. Reich, J. Rexford, C. Schlesinger, et al. Languages for Software-Defined Networks. Communications Magazine, IEEE, 51(2):128–134, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  12. S. Ghorbani and B. Godfrey. Towards Correct Network Virtualization. HotSDN, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Gilbert and N. Lynch. Perspectives on the CAP Theorem. IEEE Computer, 45(2):30–36, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Gupta, L. Vanbever, M. Shahbaz, S. P. Donovan, B. Schlinker, N. Feamster, J. Rexford, S. Shenker, R. Clark, and E. Katz-Bassett. SDX: A Software Defined Internet Exchange. SIGCOMM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C.-Y. Hong, S. Kandula, R. Mahajan, M. Zhang, V. Gill, M. Nanduri, and R. Wattenhofer. Achieving High Utilization with Software-driven WAN. SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Jain et al. B4: Experience with a Globally-Deployed Software Defined WAN. SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. X. Jin, H. H. Liu, R. Gandhi, S. Kandula, R. Mahajan, M. Zhang, J. Rexford, and R. Wattenhofer. Dynamic Scheduling of Network Updates. SIGCOMM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. John, E. Katz-Bassett, A. Krishnamurthy, T. Anderson, and A. Venkataramani. Consensus Routing: The Internet as a Distributed System. NSDI, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. N. Kang, Z. Liu, J. Rexford, and D. Walker. Optimizing the One Big Switch Abstraction in Software-Defined Networks. CoNEXT, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Kim, A. Gupta, M. Shahbaz, J. Reich, N. Feamster, and R. Clark. Simpler Network Configuration with State-Based Network Policies. Technical report, Georgia Tech, 2013.Google ScholarGoogle Scholar
  21. H. Kim, J. Reich, A. Gupta, M. Shahbaz, N. Feamster, and R. Clark. Kinetic: Verifiable Dynamic Network Control. NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. Koponen, K. Amidon, P. Balland, M. Casado, A. Chanda, B. Fulton, I. Ganichev, J. Gross, N. Gude, P. Ingram, et al. Network Virtualization in Multi-tenant Datacenters. NSDI’14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. W. Liu, R. B. Bobba, S. Mohan, and R. H. Campbell. Inter-Flow Consistency: Novel SDN Update Abstraction for Supporting Inter-Flow Constraints. NDSS, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  24. N. P. Lopes, N. Bjørner, P. Godefroid, K. Jayaraman, and G. Varghese. Checking Beliefs in Dynamic Networks. NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Ludwig, M. Rost, D. Foucard, and S. Schmid. Good Network Updates for Bad Packets: Waypoint Enforcement Beyond Destination-based Routing Policies. HotNets, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. McClurg, H. Hojjat, P. Cerny, and N. Foster. Efficient Synthesis of Network Updates. PLDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. Monsanto, N. Foster, R. Harrison, and D. Walker. A Compiler and Run-time System for Network Programming Languages. POPL, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing Software Defined Networks. NSDI, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Moshref, M. Yu, A. B. Sharma, and R. Govindan. Scalable Rule Management for Data Centers. NSDI, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Moshref, A. Bhargava, A. Gupta, M. Yu, and R. Govindan. Flow-level State Transition as a New Switch Primitive for SDN. 2014.Google ScholarGoogle Scholar
  31. T. Nelson, A. D. Ferguson, M. Scheer, and S. Krishnamurthi. Tierless Programming and Reasoning for Software-Defined Networks. NSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. O. Padon, N. Immerman, A. Karbyshev, O. Lahav, M. Sagiv, and S. Shoham. Decentralizing SDN Policies. POPL, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D. Walker. Abstractions for Network Update. SIGCOMM’12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Sivaraman, M. Budiu, A. Cheung, C. Kim, S. Licking, G. Varghese, H. Balakrishnan, M. Alizadeh, and N. McKeown. Packet Transactions: A Programming Model for Data-Plane Algorithms at Hardware Speed. 2015.Google ScholarGoogle Scholar
  35. S. Smolka, S. Eliopoulos, N. Foster, and A. Guha. A Fast Compiler for NetKAT. ICFP, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. Soulé, S. Basu, P. J. Marandi, F. Pedone, R. Kleinberg, E. G. Sirer, and N. Foster. Merlin: A Language for Provisioning Network Resources. CoNEXT, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. A. Voellmy, J. Wang, Y. R. Yang, B. Ford, and P. Hudak. Maple: Simplifying SDN Programming Using Algorithmic Policies. SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. G. Winskel. Event Structures. Springer, 1987.Google ScholarGoogle Scholar
  39. Y. Yuan, D. Lin, R. Alur, and B. T. Loo. Scenario-based Programming for SDN Policies. CoNEXT, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. W. Zhou, D. Jin, J. Croft, M. Caesar, and P. B. Godfrey. Enforcing Generalized Consistency Properties in Software-Defined Networks. NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Event-driven network programming

        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 SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 51, Issue 6
          PLDI '16
          June 2016
          726 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2980983
          • Editor:
          • Andy Gill
          Issue’s Table of Contents
          • cover image ACM Conferences
            PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation
            June 2016
            726 pages
            ISBN:9781450342612
            DOI:10.1145/2908080
            • General Chair:
            • Chandra Krintz,
            • Program Chair:
            • Emery Berger

          Copyright © 2016 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 2 June 2016

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!