Demystifying SDN
Churchill is long since dead but I am sure he would have described Soft Defined Networking (SDN), and the reason it has emerged as the new networking paradigm as a riddle, wrapped in a mystery, inside an enigma.
For me to start this post I first want to pose a question, what is Internet architecture? I could post an answer from Google or Wikipedia but that is probably more information than necessary. Let’s just say, Internet architecture is about arranging network functionality for the purposes of solving a problem. I believe we can all agree the Internet architecture worked well for the problem it addressed. So what does SDN have to do with Internet architecture? SDN was born via the wish to architect wireless networks well for management and growth. We are all aware the internet data plane is ‘architectured’ in an abstracted form representing a layer model. These layers are commonly known as the OSI Model. The benefit of this abstracted model is an application or functionality need only write to a single layer and not the whole architecture. This is why the internet has permeated our lives so completely and is now ubiquitous to us all.
So what is the need for this thing called software defined networking? Just as Internet topology before it, SDN allows network functionality to be arranged (layered), via software abstraction, allowing for easy management and evolution of the functionality, the layer is supporting.
Using a network router as an example, we would see two networking planes, the Data plane and the Control plane. The Data plane is concerned with forward state, reading the packet header and forwarding the packet on to its next destination. We won’t talk about the data plane again as the Internet and other networking protocols takes care of this plane, just nicely. The control plane is much busier. It must compute forward state and must deal with distributed protocols, isolation rules around ACL’s, VLAN’s and firewalls and traffic engineering issues. Without modularity it is without flexibility and limited in its functionality.
To add modular abstraction to the Control plane we must consider what pieces of functionality we want to reuse. This is probably the defining feature of SDN, that is to say, the premise to abstract out, in a modular manner, in software, functionality for reuse. For this plane there is two abstractions being: Global network view and Forwarding model. The Global Network view provides topology information about the current network and is implemented with the network operating system. The forwarding Model offers a standard way of defining and configuring the forwarding state. We can therefore say of SDN, it is layers for the control plane.
So why is SDN so beneficial for the control plane? SDN allows the control plane to express “goals” on virtual networks and has full control over the implementation of these goals. This allows for and facilitates intelligence, via software, moving to the edge of the network allowing for more and easier deployed innovation at the edge. Enabling innovation becomes as easy as a software upgrade; hardware upgrades become transparent. The process of separation opens up the ecosystem for greater competition, both around software and hardware and sees new 'disrupters,' having core skills in software development, challenging the old guard for market share and market domination.
SDN has also changed forever the traditional box vendor sales model for something much flatter. The box vendor model saw development and innovation around network equipment stifled and slow as the equipment vendor needed to be overly cautious and completely sure of design, architecture and software before burning logic into silicon. Failure in this model was extremely expense and thus innovation was cautious and slow. SDN enabled innovation takes an agile software development mode approach being: develop, test, fail fast, and fix. This allows for much faster development times and greater innovation as the cost of failure is nothing compared to the hardware model of its predecessor. Control is now vested in a program using a flat resource of API’s. Data and Control planes are clearly and cleanly demarcated.
I have not talked about Network Function Visualization (NFV) in this post and NFV is often spoken of in the same sentence as SDN. NFV represents the killer application for SDN. Arguably SDN owes some of its fame to visualization as visualization decoupled the control program from the physical network thus enabling development and innovation around the control plane. There is no doubt network architecture has been changed forever and has been precipitated by this evolution in networking architecture. Further changes are happening and will include a move to implement all connectivity to the network edge. Although the early movers are now starting to introduce and implement products to market, many of the slower telco’s are wondering how to get started. My message to them is to make a start today, as this evolution may take the next ten years to be fully implement, and that is OK!
Reference: Thank you to Sanford University for their many great audio and video reference materials on this and related subjects.