Thirteen years ago, in March of 2008, Nick McKeown and seven academic colleagues published a Call-to-Action for the network research community, proposing OpenFlow as an experimental open interface between the network’s control and data planes. The goal was to enable innovation, which at the time included the radical idea that anyone—even researchers—should be able to introduce new features into the network control plane.
As initially conceived, OpenFlow was a modest step. It allowed a user-defined control program to specify which packets should be dropped, forwarded, or passed up to the controller. Care was taken to explain how such a feature could be introduced into the network without impacting production traffic, mitigating the risks such a brazen idea could inflict on the network. It was a small opening, but between a handful of vendors adding an “OpenFlow option” to their routers, the NSF funding experimental deployments on University campuses, Internet2 supporting an optional OpenFlow-substrate on their backbone, and ONF providing a home for the OpenFlow community, the SDN transformation was set in motion.
Fast-forward four years, to 2012. OpenFlow is maturing, several network vendors are offering OpenFlow-based products, and cloud providers like Google and Microsoft are talking publicly about their SDN-based infrastructures. The viability of OpenFlow and SDN is established, and attention turns to fostering broader adoption throughout the networking industry, especially network operators (e.g., Telcos, CableCos) and enterprises. This shift in emphasis also marked the beginning of the transition from a standards-based to a software-based approach to catalyzing change (which ultimately resulted in the merger of ONF with its sister open source software organization, ON.Lab).
The first step on this journey was to build a platform that would serve as the foundation of a new network software stack, leading to the release of ONOS, an Open Network Operating System. ONOS has been bundled with a wide range of control applications (use cases), but of these, Trellis—an SDN-based leaf-spine switching fabric—got the most traction. Today, Trellis is deployed in a Tier-1 production network (Comcast).
The second step was to expand SDN’s reach into the access network. This involved disaggregating Passive Optical Networking (PON) gear and incorporating it into the switching fabric, making it possible to build out SDN-based Fiber-to-the-Home. The resulting software solution, known as SDN-Enabled Broadband Access (SEBA), was put into production networks this past year (by Deutsche Telecom and Türk Telekom).
This progress exposed two risks: control software becoming too tightly coupled to the underlying switching chip (causing the industry to diverge), and the switching chip evolving at hardware rather than software timescales (slowing down progress). The emergence of P4 as a language to programmatically change the forwarding plane, along with an automated toolchain to generate the P4Runtime linkage between the control and data planes, ensured continued progress. P4 is the natural progression of OpenFlow.
The most recent step towards wide-spread adoption of SDN is represented by Aether, a managed 5G-connected edge cloud service, targeted at on-premise deployments. Aether brings the state-of-the-art in SDN to 5G for enterprises, spanning multiple subsystems built throughout ONF’s history. It includes an ONOS control plane re-engineered to take advantage of a microservices architecture; a data plane built from P4-programed switches (including a switch-based implementation of the 5G mobile core and native support for Inband Network Telemetry); and an ONOS-hosted controller for the 5G-based Radio Access Network (RAN). In combining cloud native best practices with an open source SDN-based 5G access solution, optimized for deployment in enterprises, Aether is the capstone project on the path to widespread adoption of SDN.
The original OpenFlow paper is one of the most referenced in Computer Science, with over 10,000 citations (according to Google Scholar). OpenFlow is no longer a critical part of Aether, but it was an essential first-step in bootstrapping the SDN transformation that makes Aether possible, illustrating yet again that a modest technical idea can have a significant impact on the state-of-the-art.