What is Software Defined Networking (SDN)?

We have witnessed a major drift in usage of digital technology since last 10 years. Use of number of devices has been increased along with upward shift in mobile connectivity i.e. from 2G, 3G and 4G. Now, we are moving towards 5G generation which will support every technology innovation like IoT, Artificial Intelligence, Edge Computing, Big Data Analytics.

Reason behind this surge is majority of operations and systems in IT infrastructure have virtualized and became software defined. Due to this, services providers and enterprises started obtaining higher efficiency in very low operational and capital investment with added advantage of robust security. Software Defined Networking (SDN) and Network Function Virtualization (NFV) are two architecture principles based on software defined and virtualization concept respectively.

In this blog post, let’s talk about Software Defined Networking (SDN).

Let’s discuss which problem SDN solves exactly.

Image source

You can see both traditional network and SDN. Network data networking devices like switches and routers have two functions embedded in it. Local Control and local data plane. Control plane is essentially a brain of device which instructs the direction of data flow within network and data plane simply follows the instructions. Control plane has routing table which is updated automatically using pre-configured protocol OSPF. In traditional environment, control plane runs locally on each device. These network transmitting devices are of different companies and having its own proprietary operating system. Devices in such network do not have visibility of entire network and are configured independently. With independent nature, administrator do not have full control over data flow. To achieve the fully optimized performance, all devices need to be of same control plane methodology which is almost impossible in growing need. In traditional method, network becomes a device centric, complicated and administrator cannot easily create services for network users.

In SDN, control plane is decoupled from all devices into an SDN Controller which is a centralized system to manage ‘control’ part of all switches and router. It simply means brain of the networking devices are abstracted to SDN controller. All the communication between administrative application/services and networking devices are carried through SDN controller.

Image source

There are 2 types of APIs through which SDN controller interact with applications and networking devices. Southbound APIs and Nothbound APIs.

SDN makes use of Southbound APIs to exchange information from devices. It is called southbound because it resides at south part of SDN structure. Openflow is the common standard protocol used while communicating with networking devices. Openflow protocol provides an open APIs or interface to networking devices. Idea with open API is, it doesn’t matter which operating system or vendor networking devices are using, there is an open interface to managing the flow table of devices. This rectifies the limitation of proprietary control of networking devices and control plane becomes common to all.

Northbound APIs having two interfaces one using REST APIs and other one is using JAVA APIs. Using these two interfaces, application developer or administrator can manipulate flow tables and flow entries of networking devices through SDN controller. Thus gaining a control of control place of network.

SDN architecture comprise of below elements

  • SDN controller: It is a core application of SDN architecture which handles flow control of network. It act as operating system of SDN, handles communication with southbound and northbound APIs.
  • Southbound APIs (Openflow, OVSDB)
  • Nothbound APIs (REST, JAVA)

Why SDN matters?

  • SDN converts networking architecture from devices centric to network centric. No need to manage or configure multiple devices.
  • With a full control over ‘brain’ part of all devices, administrator can program network functions. Many network issues can overcome. Like, traffic outage, drops, etc.
  • Having network fully programmable, it is possible to integrate network with automation tools like Puppet or Chef.
  • Along with advantage of gaining full control and visibility of network, companies can reduce CAPEX and OPEX of network.
  • Administrator can create different applications, services with power of SDN. Increases the value of network.
  • Administrator can add many devices in network without much configuring work. Flexibility is higher in SDN.

Leave a Reply