Backed by a collection of 23 founding members, Stratum delivers on the 'Software Defined' vision of SDN
MENLO PARK, Calif., March 12, 2018 — (PRNewswire) — Today the Open Networking Foundation (ONF) announced the strategy for a set of next-generation SDN interfaces and, along with support from Google, the launch of Stratum™, an open source project to implement an open reference platform for a truly "software defined" data plane.
Stratum is being formed to execute on the SDN vision of a programmable network with the active support and participation by a broad array of network industry players. This is an exceptionally exciting initiative, posed to help create a diverse, innovative ecosystem supporting programmable SDN networking. Founding members include:
Cloud Providers: Google, Tencent
Telecom Operators: China Unicom, NTT, Turk Telekom/Netsia
Networking Vendors: Big Switch Networks, Ruijie Networks, VMware
White Box ODM Vendors: Delta, Edgecore Networks, QCT
Silicon Vendors: Barefoot, Broadcom, Cavium, Mellanox, Xilinx
Other Open Source Projects: CORD, ONL, ONOS, OpenSwitch, OVS, P4.org, SDKLT
Additionally, Google is open sourcing the first revision of source code for Stratum, helping to launch the project with a solid base of software that originates from Google's production network.
Delivering on the "Software Defined" Vision
To move forward towards the vision of a truly "software defined" network, a new set of interfaces are needed to enable full lifecycle control and automated network management of every aspect of the data plane, and to do so without requiring the definition of new standards. At software speed, the interfaces can be enhanced and refined. A software tool chain enables dynamic negotiation between the Network OS (NOS) and the data plane so that deployments can be upgraded in lock step at runtime by developers.
Furthermore, whereas OpenFlow® only defined mechanisms to control the forwarding behavior, it is now possible to completely redefine the forwarding behavior as well as manage all configuration and operational aspects of the data plane. Next-generation SDN interfaces include four major functional capabilities, exposing all aspects of data plane control and management, including:
The P4 language is used to define/document the logical data plane pipeline. On fixed or partially-configurable data plane silicon, P4 is used to document the logical pipeline that is exposed by the switch. On P4 programmable devices, this same P4 pipeline definition can be used to dynamically (re)define and/or upgrade the switch pipeline.
P4Runtime is used to dynamically program the forwarding pipeline tables in the switch. This can be thought of as a newer dynamic version of OpenFlow, where the Network OS and data plane can dynamically negotiate completely new pipeline configurations (unlike OpenFlow, which requires a revision of the specification).
gNMI with OpenConfig data models is used to manage device configuration. Initial work in SDN did not address these requirements, and instead SNMP, Netconf and CLI were used in an ad-hoc manner (inhibiting interoperability).
gNOI is used for operations, for one-time events like device testing or reboots that do not required maintenance of state. This too was not specified in earlier SDN initiatives, resulting in inconsistent implementations and limiting interoperability.
The impact of supporting comprehensive control and network management includes:
- Defining an unambiguous "contract" between the NOS and the data plane, ensuring compatibility between different implementations
- On compatible systems, the forwarding behavior 'contract' can even be updated at runtime, greatly speeding the innovation cycle
- With ensured compatibility, the overhead of inserting new devices and leveraging the latest silicon will be greatly reduced
- As it becomes easier to insert new devices, upgrade cycles will be optimized and a vibrant market of white box systems will be enabled
There are three diametrically opposed business goals being addressed by this initiative. Often it is possible to achieve only 2 out of 3 of these ambitions when attempting to affect change, but this initiative aims to deliver on all three, including:
- Greater velocity of innovation
- Greater reliability
- Lower capex and opex
About the Stratum Project:
Stratum is an open source project developing a reference implementation for white box switches supporting all the next-generation of SDN interfaces. The project and its founding members plan to make Stratum solutions available on the broadest possible selection of networking silicon on a diverse selection of white box switches from a choice of ODM vendors. Care is being taken to ensure that Stratum can be made available on both existing deployed systems as well as on state-of-the-art programmable silicon coming to market.
Stratum provides a new paradigm that will:
- Speed operator adoption of each new generation of switching silicon (regardless of whether it is fixed, partial or fully programmable)
- Empower a supply chain of white box switching options with a complete open source software solution, thus providing a diversity of choice for operators
- Provide an open source solution for fully-programmable data planes
Stratum will enable an ecosystem of simple "thin" forwarding devices with a wide multi-vendor diversity of underlying switching silicon, as well as provide a vehicle for "thick" traditional switches to support programmable pipelines and to be more easily ported between different systems and different switching silicon.
Leveraging the power of P4 to document the logical pipeline, Stratum-enabled devices will be able to declare a "contract" defining precisely what forwarding behavior they support, expressing this in the P4 language. Furthermore, the Stratum project toolchain will include programmatic verification of the 'contract' offered by each data plane offering. As a result, each forwarding device will be able to unambiguously declare and verify what behavior it supports.
This elimination of ambiguity will allow operators to rapidly adopt the latest generations of switching silicon into their networks without the need for exhaustive requalification nor modification of their operating environments to accommodate the small deviations between devices and manufacturers that exists today.
Stratum is envisioned to become a key software component of future SDN solutions. Stratum implements the latest next-generation SDN interfaces and does not embed control protocols, but instead is designed to support either an external Network OS, or embedded on-switch management and control (e.g. BGP). In this way, Stratum will support a variety of use cases and a diversity of market applications.
Use Case 1 - Cloud SDN Data Plane: The initial code base for Stratum has been provided by Google, who is donating code from their production codebase to kick-start the project. Google also intends to take Stratum into their production networks by pairing it with their internal SDN controller to manage and control Stratum-based white box switches. Others with proprietary controllers can do the same, leveraging Stratum for custom SDN networks.
Use Case 2 - Cloud SDN Fabric Platform: ONOS® plus Trellis™, two open source projects hosted by the ONF, will natively run over Stratum as a P4 data plane switching layer. Together this will provide a complete open source solution for programmable SDN data center spine-leaf fabrics.
Use Case 3 - CORD: CORD®, a comprehensive platform for operator edge clouds, runs over Trellis and ONOS, which in turn will optionally run over Stratum. Combined with Stratum, CORD is on a path to support instantiation of VNFs in a programmable networking fabric, vastly increasing the scalability and cost efficiency of edge clouds.
Use Case 4 - Thick Switches with Embedded Control: While optimized to provide a 'thin switch' solution, Stratum can also be used with an embedded NOS running within the same switch. Dubbed a 'thick switch', this configuration enables the replication of the traditional model of embedded management and control (e.g. Netconf, SNMP, BGP) all into a single system. This approach allows traditionally-structured, tightly integrated systems to be built leveraging Stratum and the latest SDN interfaces. In this way, the common work on Stratum can benefit both thin and thick switch designs, ensuring the work benefits the broadest possible community.