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:

Concept of SDN

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:

SDN Reference Architecture

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.