The modern software-defined networking (SDN) movement grew out of a simple question: why shouldn’t networking devices be programmable just as other computing platforms are?
The benefits of such an approach were obvious: no more arcane protocols to learn. No more waiting and hoping for networking vendors to develop specialized features you need. And if you could develop your own features, you could then optimize your device selection for price and performance independently of feature-richness.
By disaggregating the vertically integrated network device stack, and reimagining the control plane as a device-independent operating system, several longstanding goals can now be achieved:
- Interoperability of different physical and virtual device types from different vendors.
- Optimization of device selection–for price and performance independently of services features.
- Continuous visibility of flows from source to destination.
- Common management framework for all devices.
- Programmability to shape network behavior according to users’ needs.
- Automation of and by policy.
Network functions virtualization (NFV) brought the concept of compute virtualization to networking. The two have become closely intertwined, as SDN drives on-demand deployment of virtual network services when and where they are needed.
The drive for network programmability naturally led to an embrace of open source networking initiatives at every layer of the networking stack. OpenDaylight is the by far the largest and most mature project in this new stack, and a core component of the open source networking ecosystem.