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.