Abstractions for network update
By Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, David Walker. Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, 2012
676 citations recorded by the source corpus.
Configuration changes are a common source of instability in networks, leading to outages, performance disruptions, and security vulnerabilities. Even when the initial and final configurations are correct, the update process itself often steps through intermediate configurations that exhibit incorrect behaviors. This paper introduces the notion of consistent network updates---updates that are guaranteed to preserve well-defined behaviors when transitioning mbetween configurations. We identify two distinct consistency levels, per-packet and per-flow, and we present general mechanisms for implementing them in Software-Defined Networks using switch APIs like OpenFlow. We develop a formal model of OpenFlow networks, and prove that consistent updates preserve a large class of properties. We describe our prototype implementation, including several optimizations that reduce the overhead required to perform consistent updates. We present a verification tool that leverages consistent updates to significantly reduce the complexity of checking the correctness of network control software. Finally, we describe the results of some simple experiments demonstrating the effectiveness of these optimizations on example applications.
Subfields: Computer Networks and Communications, Information Systems
View Paper: https://www.semanticscholar.org/paper/c9e0488a8b60de7159c4ce48111521a0800fe06f
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Jennifer Rexford
- Ian F. Akyildiz
- Vyas Sekar
- Sandra Scott-Hayward
- Sakir Sezer
- George Varghese
- Aditya Akella
- Sriram Natarajan
In Information Systems
- Jennifer Rexford
- Aditya Akella
- Bruno Astuto Arouche Nunes
- Carolyn Jane Anderson
- Byrav Ramamurthy
- Roger Wattenhofer
- Thierry Turletti
- Sakir Sezer
Citations in the corpus
- Dynamic scheduling of network updates (2014, background): “Categories and Subject Descriptors: C.2.1 [ComputerCommunication Networks]: Network Architecture and Design— Network communications; C.2.3 [Computer-Communication Networks]: Network Operations—Network management Keywords: Software-defined networking; network update”
- Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN (2013, background): “Consistent and atomic updates: To allow consistent updates [34], version information is contained in table entries, and a version ID flows through the pipeline with each packet, qualifying table matches by version compatibility.”
- A roadmap for traffic engineering in SDN-OpenFlow networks (2014, background): “To implement a consistent update for per-packet, a simple generic idea is proposed in [86,87], where the controller installs new configuration rules on all of the switches in a header field with the new version number; the ingress switches mark their new policy with the version number to incoming pa”
- Network Innovation using OpenFlow: A Survey (2014, background): “[53] describe how to provide abstract operations that allow updating rules across the entire network in one fell swoop.”
- A Survey and a Layered Taxonomy of Software-Defined Networking (2014, background): “A formal model and proofs of the per-packet abstraction updates are investigated in [136].”
- Optimizing the "one big switch" abstraction in software-defined networks (2013, methodology): “We can use techniques in [30] to ensure consistent updates.”
- Achieving high utilization with software-driven WAN (2013, background): “Guarantees during network update: Some recent work provides guarantees during network updates either on connectivity, or loop-free paths or that a packet will see a consistent set of SDN rules [19, 23, 29, 34].”
- OpenNF (2014, background): “SDN consistency abstractions [27, 35] are also insufficient for guaranteeing loss-freedom.”
- FireFly (2014, background): “Recent work identified the issue of consistency during network updates [34, 43].”
- A Survey of Security in Software Defined Networks (2016, background): “4) Consistent Abstractions/Network View: In [71], [85], the authors discuss abstractions for per-packet and per-flow consistency to overcome the instability of configuration changes in SDN.”
- NetKAT: semantic foundations for networks (2014, background): “Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—Specialized application languages Keywords Software-defined networking, Frenetic, Network programming languages, Domain-specific languages, Kleene algebra with tests, NetKAT.”
- A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks (2014, background): “The work presented in [86] addresses the issues related to consistent network updates.”
- SoftCell: scalable and flexible cellular core network architecture (2013, methodology): “algorithm installs the forwarding rules to switches using consistent updates techniques [21] and aggregating the entries where it can (line 11–16).”
- Real Time Network Policy Checking Using Header Space Analysis (2013, neutral): “Programming foundations: Frenetic [3] provides high-level abstractions to achieve per-packet and perflow consistency during network updates [13].”
- VeriFlow: verifying network-wide invariants in real time (2012, neutral): “Moreover, VeriFlow may be used with consistent update mechanisms [20,24], where there are well-defined stages during which the network state is consistent and can be checked.”
- Composing Software Defined Networks (2013, neutral): “Such a semantics, when coupled with an implementation that provides per-packet consistent update, makes it easy to reason about network forwarding behavior and easy to support powerful verification tools [18].”