1. Introduction
Software Defined Networking (SDN) is a new technology that makes communication networks farther programmable. In this tutorial, we’ll study the concept and principles of this technology. In the following section, we’ll examine the definition, benefits, and architectural aspect of this paradigm. We’ll also take a look at OpenFlow—the famous software defined networking protocol, how SDN is related to Network Function Virtualization (NFV). Finally, we’ll summarize its concepts and present final remarks.
2. Definition of SDN
The Open Networking Foundation (ONF) is a nonprofit consortium dedicated to development, standardization, and commercialization of Software Defined Networking. ONF has provided the most explicit and well received definition of the paradigm as follows:
“SDN is an emerging network architecture where network control is decoupled from forwarding and is directly programmable.”
Per this definition, software defined networking is defined by two characteristics, namely decoupling of control and data planes, and programmability on the control plane. The following figure illustrates the concept of the paradigm:
3. Benefits of SDN
With these characteristics, SDN offers a greater control of a network through programming. This combined feature would bring many potential benefits in communication networks, as summarized in the following table:
SDN
Conventional Networking
Features
Decouples data and control plane, provides programmability
Requires new protocol per problem, complex control
Configuration
Automated, with centralized validation
Error prone manual configuration
Performance
Dynamic global control with cross-layer information
Limited information, and relatively static configuration
Innovation
Easy software implementation, testing, and upgrade
Difficult hardware implementation, limited testing environment, long standardization process
4. Reference Architecture
ONF has suggested a reference architecture for SDN, as illustrated in the following figure:
This model consists of three layers, each of which is dedicated to a specific purpose.
The infrastructure layer consists of switching devices (for example, switches and routers) in the data plane. These devices are responsible for collecting, storing, and sending network status to controllers. They are also responsible for processing packets based on rules provided by a controller.
The control layer bridges the application layer and the infrastructure layer, via its two interfaces. For downward (i.e., the south-bound interface), it specifies functions for controllers to access functions provided by switching devices. For upward (i.e., the north-bound interface), it provides service access points in various forms.
The application layer contains applications designed to fulfill user requirements. Through the programmable platform provided by the control layer, SDN applications are able to access and control switching devices at the infrastructure layer.
5. The OpenFlow Protocol
Proposed by researchers from Stanford University in 2008, OpenFlow is the most common interface between the data plane and control plane layers in software defined networks. Through OpenFlow, the existing hardware can be utilized to design new protocols and analyze their performance. Many OpenFlow-based controllers have been developed, The following table lists some of them:
Name
Platform
Organization
Features
NOX/POX
C++/Python
Stanford
First OpenFlow controller
Beacon
Java
Stanford
Supports both event-based and threaded operation and web GUI
McNettle
Haskell
Yale University
High-level declarative expressive language, multi-core optimization
OpenDayLight controller
Java
Linux Foundation
Provides REST API and web GUI
6. SDN and NFV
Basically, NFV is a concept that complements SDN. NFV separates software from hardware, while SDN decouples the data and control plane. There are advantages to using software defined networks to build an NFV infrastructure, especially when considering the management and orchestration of Virtual Network Functions. That’s why many vendors have been developing platforms that incorporate SDN and NFV.
7. Conclusion
In this brief article, we covered the concept and principles of SDN. We learned that this paradigm not only introduces new ways of interaction within network devices, but it also gives more flexibility for the existing and future networking designs and operations. The technology is an innovative approach to design, implement, and manage networks that separate the control and data plane for a better user experience.