Lately, Software Defined Networking (SDN) has become de rigueur in the computer networking world. Before purpose-built networking devices came in to existence, networking was done via software running on expensive computers. That legacy makes the phrase software-defined to refer to networking superfluous. Clearly we must mean something more than just software when we talk about SDN. Discussions on SDN and its technological marvels takes one through a jargon-filled maze of programmability, control plane separation, OpenFlow, network overlays, and sometimes network-function virtualization.
Many conversations around SDN remind me of cephalization in evolutionary biology. Cephalization refers to the concentration of nervous tissue in one part of the body in certain organisms – one end that we call the head. Cephalization is similar to centralized control of a distributed network like the Internet. It is also possible to apply the principles of SDN to other types of networks like the everyday transportation network. Let’s start from the beginning.
Hydra to Human
Biological evolution tells us about how complex organisms evolved. Vast difference exists in the nervous systems from primitive organisms like hydra to complex vertebrates like humans, as shown.
Hydra has a simple network of nerves whereas the human has a network of nerves with central control built on top of it. The neural network has evolved from a simple set of connections to a complex one.
Fast forward over 600 million years. Our attempts to centralize control & management in present day networks is similar to the evolutionary difference between hydrae and humans; between networks without definitive central control and networks with centralized control.
Software Defined Telephony
Is it the first time that we’ve done this since cephalization of organisms? Not really. Splitting data messages and control messages was done in telephony networks in the 1980s with SS7. Different manifestations of centralized management and control were designed. Internet-based telephony networks in the 1990s invented its own ways to solve this problem. In fact, Internet-based telephony is perhaps the biggest step towards software-defined telephony. This nice article by Kaif Ali discusses the parallels between aspects of SDN, SS7 and SIP/MGCP based networks.
Neural Net to Internet
When we consider the history of the three networks shown below – neural network, telephone network, computer network – we see that the need for control and coordination as network complexity increases is a tale as old as time. Applying forms of centralized control seems to be a time-tested solution.
Software Defined Roads
Can we apply the principles of centralized control from cephalization and SDN elsewhere? Couldn’t we do the same with a transportation network running intelligent connected cars?
Efficient utilization, performance, manageability etc. are all virtues we want from the mundane roads we use everyday. We could route vehicles based on who or what is being transported, time of day, service level needed etc. just as the internet transports various types of information payloads. Coupling traffic sensors and driver-less cars like the Google car will be a true advance from the primitive GPS navigation in cars today.
Control vs Autonomy
The simplicity of centralized control always looks good on paper. However, the balance between centralized control and autonomy at component level is another old tale that manifests in everything from distributed information systems to political unions (federal states vs. unitary states). Think European Union and United States of America. In the case of SDN, the flexibility of software should allow us to balance the decisions between centralized control and autonomy more easily.
Let us hope the various SDN approaches improve up on political unions, closed telephony networks, or the ancient, but marvelous neural networks. Despite the overuse or limitations of the term software-defined, it surely has wider applicability than just in computer networks.
Also published on Medium.