SDN (Software Defined Network) Controller: Basic Concepts
Hello Folks, welcome back to Learnizo Global. SDN controller is the application that acts as a strategic control point in a software-defined network. Essentially, it is the “brain” of the network.
Software-defined networking (SDN) is the separation of a network’s control functions from its forwarding functions. When SDN is used in conjunction with network functions virtualization (NFV), the two create virtual network overlays that exist on top of the physical network infrastructure. SDN architecture relies on controllers to allow network administrators to manage the network.
SDN controller manages flow control to the switches/routers “below” (via southbound APIs(Application Programming Interfaces)) and the applications and business logic “above” (via northbound APIs) to deploy intelligent networks. They consolidate and mediate between different controller domains using common application interfaces.
Two of the most well-known protocols used by SDN controllers to communicate with the switches/routers are OpenFlow and open virtual switch database (OVSDB). Other controller protocols are being currently developed, many of them open-standard and collaborative. For example, the Internet Engineering Task Force (IETF) working group — the Interface to the Routing System (i2rs) — developed an SDN standard that enables a controller to leverage proven, traditional protocols, such as OSPF, MPLS, BGP, and IS-IS, across a variety of SDN platforms.
The type of protocols supported can influence the overall architecture of the network — for example, while OpenFlow attempts to completely centralize packet-forwarding decisions, i2rs splits the decision-making by leveraging traditional routing protocols to execute distributed routing and allowing applications to modify routing decisions.
SDN Controller Platforms
An SDN controller platform typically contains a collection of “pluggable” modules that can perform different network tasks. Some of the basic tasks including inventorying what devices are within the network and the capabilities of each, gathering network statistics, and other monitoring functions, etc. Extensions can be inserted that enhance the functionality and support more advanced capabilities, such as running algorithms to perform analytics and orchestrating new rules throughout the network.
A controller platform can be from a different company than the application is from, allowing for interoperability and flexibility. Cisco, for example, offers a controller platform built by OpenDaylight. This open-source controller is interoperable with several different proprietary applications.

A Little History
The first SDN controller was NOX, which was initially developed by Nicira Networks, alongside OpenFlow. In 2008, Nicira Networks (acquired by VMware) donated NOX to the SDN community, making it open source. It has since become the basis for many SDN controller solutions. Nicira then went on to co-develop ONIX with NTT and Google; ONIX is the base for the Nicira/VMware controller. While ONIX was originally supposed to be opened up, the parties later decided not to make it open source.
There are, however, a variety of open-source controllers currently available. The earliest ones include POX and Beacon. Started in early 2010, Beacon is a Java-based OpenFlow controller licensed under a combination of the GPL v2 license and the Stanford University FOSS License Exception v1.0. Other controllers of note include Trema (Ruby-based from NEC), as well as Ryu (supported by NTT).
Subsequently, vendors such as Cisco, HP, IBM, VMWare, Lumina Networks, and Juniper have jumped into the controller market with their own offerings.
OpenDaylight is another major player in the SDN controller game, as it’s the largest open-source SDN controller and SDN controller platform currently offered on the market.
SD-WAN Controllers
Software-defined wide area network (SD-WAN) has seen increased popularity among enterprises. One of the reasons for its popularity is that the centralized application-based policy controller leverages existing hybrid WAN architectures. The controller in conjunction with analytics brings network and application visibility.
