SDN is the boldest and most exciting concept in networking in recent years. It began with the premise that in the post-ATM / MPLS era we had become bogged down for two reasons. It was a slow, arduous and political process in standards bodies to introduce innovative new protocols, and it was a process dominated by a small number of incumbent networking companies who not only controlled the standards process, but also controlled the marketplace by choosing what networking protocols they would build into their widely used hardware platforms.
SDN was engineered to upset this scenario by building on the following guiding principles:
- Separation of the Control and Data Plane, so that any individual could write their own Control Plane, whilst being able to select forwarding hardware from a number of different sources.
- Enabling clean slate protocol design by specifying a Data Plane that was very flexible and largely protocol agnostic
- Encouraging open source Control Planes, so that solutions emerge based on merit and adoption, rather than politics and compromises in standards organizations.
This produced a heady concoction of idealism, that appealed to tier two networking vendors, who struggled against the powerful tier one competition, it appealed to network operators as they realized the benefits of owning their own Control Plane, and it appealed to researchers who could put forth bold ideas knowing that there was a deployment environment where they might actually succeed to produce change. That is how the internet was built, IPv4 routing, BSD Unix, Ethernet were all built in simple times when working code, and rough consensus was all that was needed to get universal adoption.
8 years later, and we have little or no adoption of SDN outside the data center, and as a technology it is placed in the trough of disillusionment by Gartner, and it is a time when the true believers are able to learn from their experiences and produce the solutions that pull SDN out of the trough and onto the slope of enlightenment. Corsa is one such company. Our belief in programmable networks is strong, and whilst this blog might demonstrate self-deprecating humor about SDN, we are able to examine what worked and what didn’t in order to chart a pathway to adoption of SDN / Programmable Networks or whatever label we would like to assign to flexible, protocols agnostic networking.
In the next series of blog posts let us consider the following questions:
SDN is built on principles of socialism. It is a call to action for the betterment of networking. Researchers, venture capitalists, vendors and operators need to all “lean in”, in order to build a better marketplace. Is this a sustainable model for a revolution?
OpenFlow was designed to be the abstraction between the Control and Data Plane. What are the consequences of the way OpenFlow is presently designed? P4, SAI, Intent frameworks, and Network Virtualization all straddle the level of abstraction that OpenFlow works at. Some are lower level, and some are higher.
And for network architects, how much software/protocol/processing should be on the switch and how much should be in the controller? That may be moot point, but somehow the idea of network as an integrated system vs network as a collection of devices managed together needs to be brought out.
We are all annoyed with Tier 1 incumbent vendors and are looking for change. What are we annoyed about? Besides the fact that they are annoyingly successful, what are the tangible use case driven goals that users and operators are held back on?
What happens next?
This blog represents Corsa’s perspective on Programmable Networks. It is by no means going to be entirely correct, definitive or prescriptive about what the industry does. If it is thought provoking, it will have served its purpose.
Please join the conversation, keep it constructive and fun for all.