Sunday, January 24, 2016

In the beginning there was darkness...and then there was SDN

I wanted to start things off with a little intro to a topic that is near and dear to my heart. Software Defined Networking. I am in love with it. It has become my new fascination. While I will inevitably flit around numerous topics in the posts to come...SDN will likely be a reoccurring topic of rants and raves. So I thought the best place to start with SDN, is in the beginning

A Brief History of SDN


The growth and evolution of telecommunications, virtualization, cloud environments, and mobile computing has been pushing industry leaders for the past decade to examine solutions for providing scalability and flexibility through vendor agnostic hardware and software. But this journey began long ago, as early as the Internet boom in the 1990’s. Long before big data or the cloud, researchers understood the possibilities that the Internet offered (Porn and Cat memes...?); Internet success depends on achieving broad and persisting solutions to managing and controlling communications technologies. In early efforts to achieve a programmatic way of controlling network functions, “active networking” became the focus of many researchers. Active networking looked at ways to achieve programmability in two different methods: the capsule model and the programmable router/switch model.

Unfortunately, active networking suffered from two fatal shortfalls. First, there was the shotgun scatter of the various research aims and interpretations. Next, there was the inability to demonstrate a clear, tangible case for use.  By the early 2000’s, the concepts feeding the current development of SDN initiatives were clear. Separation of the control and the data-forwarding planes provide a model to programmatically manage traffic and optimize the data plane activities. After establishing this model, the concept for standardizing the interfaces and interaction between these planes rounded out the development of the current standard of SDN.

 Need for Programmatic Networking


As the Internet gained momentum with the public in the early 1990’s, interest also peaked with researchers. The potential for developing applications outside of file transfer and email gave researchers the incentive and direction to focus on designing new ways to optimize networking.  The Internet Engineering Task Force (IETF) standardized some of these early ideas as protocols, but the process was often very slow. In order to provide a framework to improve networking in this new and rapidly evolving environment, researchers decided to pursue the idea of active networking. This concept was an early basis for what we know as SDN. The idea of active networking focused on providing a programmable interface to the network in order to control resources, functions and actions of the hardware.

The basis of active networking was comprised of two lines of efforts. One, called the capsule model, focused on providing in-band signaling to devices with coded instructions for network functions/control. The other model, known as the programmable router/switch model, proposed using an out-of-band channel to communicate the code/messages to devices in the network to dictate operational configurations. Although the entirety of these approaches is not directly translatable to how we implement SDN today, concepts drawn from both of these models are a part of SDN networking today.

The early lines of effort in active networking were helped by the funding and support of the U.S. Defense Advanced Research Projects Agency (DARPA). The agency supported a number of projects with the goal of refining a technology to meet the goals of active networking, with distinct focus on interoperability. Unfortunately, without an immediately compelling and clearly scoped problem, the solutions that research in active networking offered were overlooked as too equivocal.  I believe DARPA may have lost interest after their Skynet prototype was in place, leaving active networking enthusiast relegated to the basements of Stanford.


Open Networking Foundation


From the beginning of the efforts towards active networking, the research community pursued ideas to revolutionize network control with both extensibility and simplicity in mind. Finally, in 2011, the Open Networking Foundation (ONF) formed. The founding members included Deutsche Telekom, Facebook, Google, Microsoft, Verizon, and Yahoo. These companies wanted to see the future of networking realized in a way that would support the massive, growing data centers and networks they owned/operated. While the research community had already established the OpenFlow protocol, the ONF helped to transform this into a commercially viable standard, which quickly drew vendor interest. The ONF established the OpenFlow (OF) protocol and the basis of SDN with the goals of meeting bandwidth and traffic management demands while maintaining simplicity, scalability and vendor independence. 

The main effort of the ONF has been the development of the OpenFlow protocol and Switch specifications supports it for vendor implementation. The OF protocol easily gained traction since existing network hardware could adopt OF operation with a simple firmware upgrade. Employment of OF became focused on campus networks since it was easy to deploy and test at that level. With success there, work soon spread to the data center model, where SDN is most widely deployed in production networks today.



 Since the organizations beginning, the ONF has published and continued updating the OpenFlow Switch and the OpenFlow protocol standards. These standards allow vendors to develop both hardware and software solutions that meet the intent of SDN while maintaining interoperability among products. Numerous vendors, including Cisco, IBM, Hewlett-Packard, Dell, Juniper Networks, and Brocade have embraced the standards and are supporting various devices on both the control and data planes.