SDN tutorial Software-Defined Networking
Wednesday, December 27, 2017
SDN Software Defined Networking
SDN is a Technology which works on manageable networking devices. Devices consist of two parts: the Data plane and the other is Control plane. Earlier networking devices were tightly coupled (Data Plane & Control Plane), and you could not ask your vendor to give you data and control plane separately. In tightly coupled devices, you cannot make modifications. Because they are both coupled with each other.
To overcome the above limitation, SDN technology comes into the 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 be written in a programming language like Python, Java, etc.) as per your requirement, and we make that code compatible with the control plane and data plane. Now only code decides, the 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 are like the data plane, the operating system is like CLI, and if you are making a 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 be compatible with each other.
Master's in SDN requires networking skills, a good understanding of programming language and O/S knowledge.
Components of SDN —
Data Plane: Data Plane in a networking device works like a forwarding plane, which actually forwards the data .e.g physical ports on a switch work as the data plane. Data plane, also known as a forwarding device, open flow switch, and SDN switch. There is no intelligence in the data plane; it’s like a dummy device.
Control Plane: The control plane in a networking device works like a controller, which actually controls the flow of data. It’s like the IOS (internetwork operating system) of a device, which runs from CLI(command line interface) mode. The control plane is also known as the SDN controller.
Below are earlier networking devices where the DATA PLANE and CONTROL PLANE are tightly coupled
Below are SDN technology devices, which decouple the DATA PLANE and the CONTROL PLANE
Communication between the data plane and the control plane is known as “South Bound Interface”, & Communication betweenthe control plane and the application/code is known as “North Bound Interface”.
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 the market that will cost you around Rs. 30,000. That means around 25,000 they are charging for the control plane, and only 5000 is for the physical/data plane. Because the control plane actually consist logic/code/rules of statements, where the physical plane is only your hardware cost.
Now come into bit inside?
Physical Data Plane can be purchased from the market as described 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 an SDN controller over it. Nothing will happen by combining the 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 a fixed functionality. By changing or adding code, we can enhance the existing functionality. It helps to manage centrally.
SDN CONTROLLER?
Name | Language |
NOX | C++ |
POX(Mainly Use) | PYTHON |
BEACON | JAVA |
TREMA | RUBY, C |
FLOODLIGHT | JAVA |
FLOWVISION | C |
MININET
It’s an EMULATOR tool, a software program that uses lightweight virtualization in the background. If your designed code works properly on mininet emulator. It will definitely work well on real physical data plane too. Application run’s smooth onthe 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, and Custom.
The founder of Network Kings, is a renowned Network Engineer with over 12 years of experience at top IT companies like TCS, Aricent, Apple, and Juniper Networks. Starting his journey through a YouTube channel in 2013, he has inspired thousands of students worldwide to build successful careers in networking and IT. His passion for teaching and simplifying complex technologies makes him one of the most admired mentors in the industry.




