SDN is a Technology which works on manageable networking devices. Devices consist in two parts, one is Data plane and another one is Control plane. Earlier networking devices were tightly coupled (Data Plane & Control Plane) and you could not be asked your vendor to give you data and control plane separately. In tightly coupled devices you cannot make modifications. Because they both are coupled with each other.
To overcome above limitation, SDN technology comes into picture which gives your ability to purchase data Plane and control plane separately. It decouple Data plane & Control plane, now you can design your own application/code (that will write in a programming language like Python, Java etc) as per your requirement and we make that code compatible with control plane and data plane. Now only code decide, device will work like a switch ,like a router(define routing) or a firewall(Security device) .
Note:-- Your controller will decide which language you will use for your application.
e.g. :-- The physical devices of your computer is like data plane, Operating system is like CLI and if you are making word document then you will need MS- Office (ms-office written in a programming language) . Similarly to make a device working we need a code (written in a language)that code and functions will decide how your device will work .most important your code and platform like CLI should compatible with each other .
Masters in SDN requires networking skills, a good understanding of programming language and O/S knowledge. J
Components of SDN --
Data Plane?Data Plane in networking device works like forwarding plane, which actually forwards the data .e.g physical ports on switch works as data plane . Data plane also known as forwarding device, open flow switch and SDN switch. There is no intelligence in data plane it's like dummy device.
Control Plane ? Control plane in networking device works like controller .which actually control the flow of data. it's like IOS (internetwork operating system) of device which runs from CLI(command line interface) mode. control plane also known as SDN controller.
Below earlier networking devices where DATA PLANE and CONTROL PLANE are tightly coupled
Below SDN technology devices, which decouple DATA PLANE and CONTROL PLANE
Communication between data plane and control plane is known as "South Bound Interface" & communication between control plane and application/code known as "North Bound Interface".
e-.g?In below diagram trying to explain the concept , where train track works like data/physical plane and driver of the train, moreover controller who actually controls the track, works like control plane or SDN controller .
If you are buying a switch or any networking/communication device (manageable) from market that will cost you around Rs.30, 000. That means around 25,000 they are charging for control plane and only 5000 is for physical/data plane. Because control plane actually consist logic/code/rule of statements where physical plane is only your hardware cost.
Hope bit clarity is done about SDN J
Now come into bit inside ?
Physical Data Plane can be purchase from market as describe above. like a dumb hardware device .
Virtual Data Plane ? We have one emulator called MININET (software) , by using that we can make virtually data plane and put SDN controller over it . Nothing will happen by combining virtual data plane and open source control plane. To make it working we need to build an application in such a programming language.
That application/code will define which device will come. It may come IN SWITCH, IN HUB, IN FIREWALL, IN LOAD BALANCER or in any other device whose code we have defined/designed in our application. INTRESTING
Note -- No need to purchase control plane now because we have many open source solutions.
SDN is not fixed functionality. By changing or adding code we can enhance the existing functionality .it helps to manage centralized.
SDN CONTROLLER ?
It's an EMULATOR tool, software program which use lightweight virtualization in behind. If your designed code works properly on mininet emulator. It will definitely work well on real physical data plane too. Application run's smooth on emulator it means your code is good to go and it will work on real environment /hardware without any modification. Topologies of mininet are Single, Linear, Tree, Minimal, Custom.