The Open Networking Foundation is today unveiling the next-generation of software-defined networking, replacing OpenFlow with a set of new interfaces that are both more comprehensive and less ambiguous, and also launching a new open source project, Stratum, to design the reference architecture that implements this new approach to SDN.
Google (Nasdaq: GOOG) is a significant driver for all this; the company is both contributing its software as the first code revision for Stratum, and also committing to deployment of Stratum's output in its production network at scale this year. Much of this work is based on what Google, as the most aggressive early deployer of SDN, has learned about OpenFlow's limitations, says Guru Parulkar, executive director of the Open Networking Foundation .
"What we are doing here is really applying that, building on the learnings of maybe five to seven years of production deployment by Google and bringing that experience into defining the next generation of SDN as well as the platforms," he says in an interview. "It is really full lifecycle management, not only programmable control but also how do you take care of inserting devices, doing all of the upgrades and doing it in such a way that lets you innovate faster."
Just the nature of Google's involvement gives the effort status, notes Heavy Reading Senior Analyst Roz Roseboro. "Because of their size, they have an outsized impact on the supply chain, so Google saying 'We are going to buy this stuff this year' -- that in and of itself is interesting," she comments.
Also joining Stratum as founding members are Chinese cloud operator Tencent; telecom operators China Unicom, NTT and Turk Telekom/Netsia; networking vendors Big Switch Networks, Ruijie Networks and VMware; white box original design manufacturers Barefoot, Broadcom, Cavium, Mellanox and Xilinx; and a large group of other open source projects including ONF-based CORD and ONOS, as well as Open Network Linux, OpenSwitch, Open vSwitch, P4.org and SDKLT.
The stated goals of this next-gen SDN sound like a sparkling bundle of networking goodness: faster innovation, greater reliability and availability and lower capital and operating costs. This is being accomplished in multiple ways by the four new interfaces ONF has defined, says Timon Sloane, vice president of standards and membership.
- A pipeline contract definition, expressed in P4 language, that replaces OpenFlow's pipeline definition with something much more deterministic, Sloane says. "It defines exactly what you do, explicitly defining 100% of the forwarding behavior of the device, as a contract that is so explicit that you can eliminate the ambiguity that has existed in the past." That eliminates "subtle nuances" in boxes from multiple vendors or even boxes from the same vendor on different ASICs, making upgrades much simpler by allowing easier swapping out of older gear. "It outlines the pipeline behavior in such an explicit way that it can be considered a contract," he says.
- Pipeline control via P4Runtime, can be considered the next generation of OpenFlow, Sloane says, defining how control and data planes communicate but doing so unambiguously. "This allows for runtime changes in the contract," he adds. "So if there is a fully programmable SDN switch on the bottom, it is possible that a Network OS could decide to add a field in a packet payload and push that automatically down to the SDN switch and at runtime, the SDN switch could learn that and without rebooting the network OS or the switch, the whole system is upgraded at software speeds.
- Device Configuration using gNMI with OpenConfig is a Google-developed GRPC network management interface that will use OpenConfig for configuration and management, replacing very manual or lightly automated processes, plus doing things like telemetry, Sloane says. "Instead of polling, Google runs its network so that information streams out of networking devices, which allows much more real-time insight into what is going on and has become the best practice for analytics and leading toward machine learning capability," he comments.
- Device Operations using gNOI is also Google-developed and enables "autonomous actions, such as telling the SOCs to do something, test a reboot or test and interface or run a trace route through," Sloane explains. Again this replaces command line interface type work and enables better automation of large networks, enabling basic things like root cause diagnostics and laying the groundwork for using artificial intelligence going forward.
"The ability to provide more control, more programmability, and the fact these chip guys are making it available to program, they are exposing more of the silicon guts to let people have more control, is very interesting," analyst Roseboro notes. "I think that is the first time that has happened."
In addition to simplifying upgrade cycles, Sloane says this new approach is expected to enable a new market for white box systems, since they can now more easily incorporate the latest and greatest silicon.
It's not entirely clear yet how a re-invention of SDN will impact other open source work being done in adjacent spaces within the Linux Foundation, although Sloane says this work should be an enabler for much of that work. Even the recent dNOS project, which is intended as a network OS for white boxes, can benefit, he says. (See AT&T Offers Up White Box Operating System.)
"Even something like dNOS, which takes a more traditional approach to building a switch-router like this with all the control protocols embedded, can still leverage Stratum under the hood to get access to all the latest next-gen interfaces and make it much more easily portable," he comments.
In making the announcement, ONF also outlined four use cases, two of which involve two other ONF open source groups in CORD and ONOS, and also noted that Stratum is building on open source networking projects including Open Compute Project and Open Network Linux as well as the Switch Abstraction Interface (SAI) Microsoft contributed to OCP and Broadcom's recently announced open interface SDKLT.
Stratum is currently in an incubation phase, its code available only to participating members, each of whom has committed a full-time engineer to the project. Its release as an Apache 2.0 open source license is predicted for early 2019. Parulkar says he expects many other companies to be joining the effort in the coming year.
— Carol Wilson, Editor-at-Large, Light Reading