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.
- ONOS Intent Framework. 2014. URL https://wiki. onosproject.org/x/XgAZ.Google Scholar
- 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 Scholar
Digital Library
- M. T. Arashloo, Y. Koral, M. Greenberg, J. Rexford, and D. Walker. SNAP: Stateful Network-Wide Abstractions for Packet Processing. 2015.Google Scholar
- R. Beckett, M. Greenberg, and D. Walker. Temporal NetKAT. PLVNET, 2015.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- E. Brewer. Towards robust distributed systems (abstract). PODC, page 7, 2000. Google Scholar
Digital Library
- M. Casado, M. J. Freedman, J. Pettit, J. Luo, N. McKeown, and S. Shenker. Ethane: Taking Control of the Enterprise. SIGCOMM, 2007. Google Scholar
Digital Library
- M. Casado, T. Koponen, S. Shenker, and A. Tootoonchian. Fabric: A Retrospective on Evolving SDN. HotSDN, 2012. Google Scholar
Digital Library
- N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: A Network Programming Language. ICFP, 2011. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- S. Ghorbani and B. Godfrey. Towards Correct Network Virtualization. HotSDN, 2014. Google Scholar
Digital Library
- S. Gilbert and N. Lynch. Perspectives on the CAP Theorem. IEEE Computer, 45(2):30–36, 2012. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Jain et al. B4: Experience with a Globally-Deployed Software Defined WAN. SIGCOMM, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- J. John, E. Katz-Bassett, A. Krishnamurthy, T. Anderson, and A. Venkataramani. Consensus Routing: The Internet as a Distributed System. NSDI, 2008. Google Scholar
Digital Library
- N. Kang, Z. Liu, J. Rexford, and D. Walker. Optimizing the One Big Switch Abstraction in Software-Defined Networks. CoNEXT, 2013. Google Scholar
Digital Library
- 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 Scholar
- H. Kim, J. Reich, A. Gupta, M. Shahbaz, N. Feamster, and R. Clark. Kinetic: Verifiable Dynamic Network Control. NSDI, 2015. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- N. P. Lopes, N. Bjørner, P. Godefroid, K. Jayaraman, and G. Varghese. Checking Beliefs in Dynamic Networks. NSDI, 2015. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- J. McClurg, H. Hojjat, P. Cerny, and N. Foster. Efficient Synthesis of Network Updates. PLDI, 2015. Google Scholar
Digital Library
- C. Monsanto, N. Foster, R. Harrison, and D. Walker. A Compiler and Run-time System for Network Programming Languages. POPL, 2012. Google Scholar
Digital Library
- C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing Software Defined Networks. NSDI, 2013. Google Scholar
Digital Library
- M. Moshref, M. Yu, A. B. Sharma, and R. Govindan. Scalable Rule Management for Data Centers. NSDI, 2013. Google Scholar
Digital Library
- M. Moshref, A. Bhargava, A. Gupta, M. Yu, and R. Govindan. Flow-level State Transition as a New Switch Primitive for SDN. 2014.Google Scholar
- T. Nelson, A. D. Ferguson, M. Scheer, and S. Krishnamurthi. Tierless Programming and Reasoning for Software-Defined Networks. NSDI, 2014. Google Scholar
Digital Library
- O. Padon, N. Immerman, A. Karbyshev, O. Lahav, M. Sagiv, and S. Shoham. Decentralizing SDN Policies. POPL, 2015. Google Scholar
Digital Library
- M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D. Walker. Abstractions for Network Update. SIGCOMM’12. Google Scholar
Digital Library
- 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 Scholar
- S. Smolka, S. Eliopoulos, N. Foster, and A. Guha. A Fast Compiler for NetKAT. ICFP, 2015. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Voellmy, J. Wang, Y. R. Yang, B. Ford, and P. Hudak. Maple: Simplifying SDN Programming Using Algorithmic Policies. SIGCOMM, 2013. Google Scholar
Digital Library
- G. Winskel. Event Structures. Springer, 1987.Google Scholar
- Y. Yuan, D. Lin, R. Alur, and B. T. Loo. Scenario-based Programming for SDN Policies. CoNEXT, 2015.Google Scholar
Digital Library
- W. Zhou, D. Jin, J. Croft, M. Caesar, and P. B. Godfrey. Enforcing Generalized Consistency Properties in Software-Defined Networks. NSDI, 2015. Google Scholar
Digital Library
Index Terms
Event-driven network programming
Recommendations
Event-driven network programming
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationSoftware-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 ...
Efficient and Safe Network Updates with Suffix Causal Consistency
EuroSys '19: Proceedings of the Fourteenth EuroSys Conference 2019Though centrally managed by a controller, a software-defined network (SDN) can still encounter routing inconsistencies among its switches due to the non-atomic updates to their forwarding tables. In this paper, we propose a new method to rectify these ...
Dynamic scheduling of network updates
SIGCOMM '14: Proceedings of the 2014 ACM conference on SIGCOMMWe present Dionysus, a system for fast, consistent network updates in software-defined networks. Dionysus encodes as a graph the consistency-related dependencies among updates at individual switches, and it then dynamically schedules these updates based ...







Comments