Linux is the dominant open-source operating system because of the strong community it has developed and the cross-platform nature of the OS. OpenStack is rapidly becoming the de facto uber-controller for infrastructure clouds, again thanks to a vibrant open-source community. And now, the established networking giants and the virtual networking upstarts that have scared them out of complacency are ganging up to form the OpenDaylight Project. The plan? To create an open-source stack for software-defined networking.
What's software-defined networking, you say? To oversimplify quite a bit, SDN is an effort to virtualize networking along similar lines to what has been done with servers and storage. Configuring switches and routers is still a painful, labor-intensive process and it is all but impossible to reconfigure networks on the fly to adjust to rapidly changing conditions on clusters or servers and storage and their links to the outside world.
In general, SDN is trying to make Layers 2 through 7 of the network stack individually programmable and mash up physical switches and routers with virtual switches and routers. It also attempts to match up various kinds of traffic-shaping software and network applications with external, out-of-band controllers that can reconfigure those devices and interface with those applications on the fly.
While the OpenFlow protocol, which came out of research at Stanford University, is often part of the SDN conversation, SDN is larger than OpenFlow. Meanwhile, incumbent networking companies like Cisco Systems, Hewlett-Packard, and Juniper Networks are all gussying up their existing network control programs and slapping and exposing APIs so they can give OpenFlow-like functionality to their devices - but without having to give up entirely on their own code.
Hence the launch of an SDN framework and the OpenDaylight Project that will steer it. OpenDaylight is parked over at the Linux Foundation, where the Linux kernel lives and where Linus Torvalds gets his paycheck. And from the look of it, some of those networking incumbents that have been hugging their own network control freaks the hardest might be thinking about letting go.
Cisco, Brocade Communications, Juniper Networks, NEC, and Ericsson are the established networking gear makers that are joining OpenDaylight, and Citrix Systems, Red Hat, and VMware, which have big stakes in server virtualization that are being extended into network virtualization, have joined up too.
SDN upstart Big Switch Networks and Nicira (part of VMware since last summer) have also pitched in. Others will no doubt join the party. These are the founding platinum-level and gold-level members of the OpenDaylight project, which have committed existing software and engineers to work on evolving an SDN framework.
Arista Networks, which has expertise in high-speed switching, and HP, which is the second largest switch supplier in the world behind Cisco, are both promising to participate in the OpenDaylight effort, as is Nuage Networks, which is a subsidiary of Alcatel-Lucent that has just thrown its chapeau into the SDN ring.
PlumGrid, yet another SDN startup that was founded two years ago, has also announced its intention to join. Dell, Fujitsu, Intel, and Microsoft have also committed to participate in the open SDN project, and as is the case with Linux and OpenStack, many academic institutions and individuals are expected to contribute ideas and code to OpenDaylight.
Here's the OpenDaylight stack the vendors are trying to collaborate on:
Block diagram of the OpenDaylight SDN stack
As you can see, OpenFlow is part of the stack, but OpenDaylight is meant to be extensible and to accommodate other kinds of network controllers – presumably even those that are not open source. The OpenDaylight framework and plug-ins will be opened up under an Eclipse Public License v1.0. OpenDaylight says that the controller will be "implemented strictly in software", and the controller will be written in Java so it can run on any server or switch that supports a Java Virtual Machine. Other elements of the OpenDaylight stack will be written in Python.
OpenDaylight will support the Open Services Gateway Initiative (OSGi) service platform for Java - an industry plan to create a standard to connect devices such as home appliances and security systems to the internet - and will have a set of REST APIs to link to network application services that can be running all over the place.
OSGi is used to talk up the stack to network applications, and various other protocols such as OpenFlow or BGP-LS are implemented below a service abstraction layer, or SAL, to talk southbound to link the controller to the various network devices it controls. SAL is a hypervisor of sorts for abstracting the controller and its devices.
The OpenDaylight project says that it expects to release its first code in the third quarter of this year and that vendors are contributing an open controller, a virtual overlay network, and protocol and switch plug-ins. The organization's technical steering committee will review the chunks of code that are proposed for inclusion in the project.
Big Switch Networks is contributing controller code, network overlays, network virtualization, and virtual routing service code. Cisco is contributing its service application layer and an application framework from its Open Network Environment (ONE) controller, which it launched last June as a concept.
Citrix is tossing in its application controller for Layers 4 through 7. IBM will be tossing in its new Distributed Overlay Virtual Ethernet, launched two weeks ago, and NEC is throwing its Virtual Tenant Networking code to create multi-tenant networks into the project. ®