While OpenFlow has received a considerable amount of industry attention, it is worth mentioning that the idea of programmable networks and decoupled control plane (control logic) from data plane has been around for many years. The Open Signaling Working Group (OPENSIG) initiated a series of workshops in 1995 to make ATM, Internet, and mobile networks more open, extensible, and programmable. Motivated by these ideas, an Internet Engineering Task Force (IETF) working group came up with General Switch Management Protocol (GSMP), to control a label switch. This group is officially concluded and GSMPv3 was published in June, 2002. The Active Network initiative proposed the idea of a network infrastructure that would be programmable for customized services. However, Active Network never gathered critical mass, mainly due to practical security and performance concerns. Starting in 2004, the 4D project (www.cs.cmu.edu/~4D/) advocated a clean slate design that emphasized separation between the routing decision logic and the protocols governing the interaction between network elements. The ideas in the 4D project provided direct inspiration for later works such as NOX (www.noxrepo.org), which proposed an operating system for networks in the context of an OpenFlow-enabled network. Later on in 2006, the IETF Network Configuration Protocol working group proposed NETCONF as a management protocol for modifying the configuration of network devices. The working group is currently active and the latest proposed standard was published in June, 2011. The IETF Forwarding and Control Element Separation (ForCES) working group is leading a parallel approach to SDN. SDN and Open Networking Foundation share some common goals with ForCES. With ForCES, the internal network device architecture is redefined as the control element is separated from the forwarding element, but the combined entity is still represented as a single network element to the outside world. The immediate predecessor to OpenFlow was the Stanford's SANE/Ethane project (yuba.stanford.edu/sane, and yuba.stanford.edu/ethane/), which, in 2006, defined a new network architecture for enterprise networks. Ethane's focus was on using a centralized controller to manage policy and security in a network.
Note
A group of network operators, service providers, and vendors have recently created the Open Networking Foundation (www.opennetworking.org), an industrial driven organization, to promote SDN and standardize the OpenFlow protocol. At the time of writing this, the latest specification of OpenFlow was version 1.4. However, since the widely implemented and deployed specification is OpenFlow 1.0.0 (Wire Protocol 0x01
), we will limit ourselves to the OpenFlow 1.0.0 in this book.