Before going into details of SDN, let's see the purpose of the SDN, and the purpose is: Simplifying the Networking.
This is the ability to directly program network operations using ordinary languages, ordinary OS, ordinary computers and ordinary programmers.
While going through one of the presentations made by Dan Pitt from ONF, I thought of summarizing the information on SDN, which can work as a starting point. I will post the link of the presentation below.
How the Current Picture Looks Like Without SDN
Currently networking devices are few self contained boxes and it's very hard to change the way they work. Which makes network static, inflexible, little agile.
This presents issues like:
- Issue as network administrator: It is very hard to perform configuration, up gradation, replacements, re-routing, turning machine off/on, testing configurations.
- Issue as a researcher: It's very hard to simulate network .
- Issue as programmer: It's very hard to change the way network works, all the things are done currently by using few self contained boxes (switches, routers)
Apart from this, most of the hardware doesn't work as single eco system, in spite of having their own eco system. So organizations are generally stuck with one specific vendor, only because of compatibility issues.
How SDN Solves These Issues
Replace hardware with open software making the network programmable which will introduce flexibility. Control Plane from devices like routers, which generates route information, can now be decoupled from packet switching part, data plane. Once decupled, we can have logical control plane which can run separately from data forwarding hardware (switches) and can be run on separate servers. Another obvious benefit can be to change this decoupled control plane software any time and utilize the powerful computers.
Picture with SDN
To define if data flows from 1 link or other. For example, large amount of data will go from low speed high latency link as it may not be a mission critical data and some small data will go via high speed and low latency link in spite of high cost.
Networking as IaaS
Opening the closed vendor specific infrastructure by opening the control plane
Route map will be generated by a centralized system.
Application can notify controllers
Building a data center will be of a lower cost
No impact on performance
OpenFlow is a communication protocol between SDN Controller and Data Plane. This is required for communication between locally managed controller and switches.
Networking will seen as software discipline. This may generate lots of interest in software developer which ultimately means more innovations.
Current Status of SDN
Open Daylight Project is working in the direction of making SDN as more acceptable. They have developed framework for SDN, first version released in Feb 2104.
Future is looking as many vendors have announced that they will support SDN.