begin-sdn

Beginners Guide to Software-Defined Networking (SDN)

One of the hot topics currently in networking is Software-Defined Networking (SDN). An emerging architecture that’s got the potential to deliver a huge paradigm shift in the industry.

Let’s get started

We live in a world fully dependent upon the several technologies which are somehow somewhere interconnected to each other. With an increase in the application, there is always a demand to update and upgrade the existing system. Earlier network devices (Layer 3 devices) such as a router, switch or server need constant updates/upgrades to function according to the requirement of the users. The traditional approach is to physically reach the devices and do the programming to update them. This method is usually time-consuming, cost expensive and needs human labor to accomplished the task.

To solve the above-mentioned issues, the researchers came up with a new concept i.e Software-Defined Networking which helps the network operator to update and upgrade a device from any location around the world.

It sounds interesting right?

With SDN, its no longer required to reach a network device physically but you can manage it a remote location. The SDN paradigm separates the device into two entities: Control Plane and Data Plane.

The Control Plane consists of SDN Controller which helps in controlling the entire network. With SDN Controller, the network operator can view the topology, make or update decision and policies, thereby minimizing manual configurations for individual network devices. The SDN Controller can be hosted in any physical or virtual machine.

The Data Plane on the other hand consists of OpenFlow based switches which interacts with the SDN controller with Southbound Application Program Interface (API). The OpenFlow switches operates on the flows rules forwarded by the SDN Controller. The flow rules are the routing path through which packet are transmitted by the switches. This basically means that the switch acts as a dumb devices which does not have any computing intelligence within it.

The network operator can interact with the SDN Controller with the help of Northbound APIs. One such simple API is using the standard HTTP requests. It allows the user to add, delete and modify the flow for the OpenFlow switches.

To industrialized SDN, Google has already adopted the SDN system (Espresso) to handle the large Data Center they are having, What are you waiting for?

Below are some of the Open-source and vendor specific SDN Controllers:

Open and community driven initiatives:

  • OpenDaylight (controller baseline project upon which many other controllers are built)
  • ONOS
  • Project Calico
  • The Fast Data Project
  • Project Floodlight
  • Beacon
  • lighty.io
  • NOX/POX
  • Open vSwitch
  • vneio/sdnc (SDN Controller from vne.io)
  • Ryu Controller (supported by NTT Labs)
  • Cherry
  • Faucet (Python based on Ryu for production networks)
  • OpenContrail
  • OpenKilda
  • RUNOS
  • OpenMUL

Vendor specific initiatives:

  • Cisco Open SDN Controller
  • Ericsson Cloud SDN Controller
  • HP Virtual Application Networks SDN Controller
  • Pica8
  • IBM Unified Controller
  • VMware
  • Nuage Virtualized Services Controller (VSC) by Nokia
  • VortiQa Open Network Director by Freescale Semiconductor
  • UniFi by Ubiquiti Networks
  • SEL-5056 by Schweitzer Engineering Laboratories
Verified by MonsterInsights