Before we move deeper with the SDN Controllers, let us understand what is SDN and SDN Controller.
Software-Defined Networks (SDN) :
It is one of the biggest and on-going platforms in the area of Networks which makes the network flexible and agile. SDN overcomes all the demerits of Traditional Networks. The main aim of the SDN is to control the network with the help of controllers. SDN is the future of Networking. As there is a rise in the storage and servers, the SDN introduces a new concept called “Network Function Virtualization (NFV)“.
SDN architecture forms three major layers namely as:
- Infrastructure Layer
- Control Layer
- Application Layer
Let’s discuss one by one.
Infrastructure Layer :
Infrastructure Layer consists of Networking Devices like Switches, Routers and it is also called a Data Plane.
Control Layer :
Control Layer consists of Controllers which controls the in and outflow of the data packets with the help of a controller. Let us understand the different controllers in detail.
Application Layer :
Application Layer consists of networking applications like monitoring, traffic control, network analysis, and security.
SDN Controllers :
As discussed in the previous section, controllers are present in the mid-layer. They are numerous SDN Controllers, namely as:
- OpenDay Light
- Ryu Controller
It is one of the SDN controller specially designed for the agility of the network and for managing the higher traffic rate. Ryu includes well-defined software components along with API. Ryu makes the developers develop a new application and manage various other networking devices. Ryu controller is written in Python.
Quick start with the Ryu Controller. Run all the below commands in your Ubuntu system or in the VMWare Workstation which is pre-installed with the SDN OVA file.
// Python pip install ryu
To Install the Ryu from the git repository follow the following commands as follows.
git clone https://github.com / faucetsdn / ryu.git cd ryu; pip install
OpenDay Light (ODL) Controller :
ODL is one of the most versatile and largest open-source controllers. It is helpful for automating larger area networks and it is scalable. ODL is written in Java. Compared to all other SDN Controllers, this controller is the best out of all and it is well-known for its security.
Below are the commands to install the controller and run it.
// For Java $wget https : // nexus.opendaylight.org/content/repositories/ opendaylight.release/org/opendaylight/integration/ opendaylight/0.12.1/ opendaylight-0.12.1.zip $unzip opendaylight - 0.12.1.zip $yum install java - 11 $export JAVA_HOME = / usr / lib / jvm / jre - 11 $cd / root / opendaylight - 0.12.1 $./ bin / karaf
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Software-defined Networking (SDN) Controller
- Difference between Stop and Wait, GoBackN and Selective Repeat
- Difference between Stop and Wait protocol and Sliding Window protocol
- Stop and Wait protocol, its problems and solutions
- Difference between VoIP and and POTS
- Denial of Service and Prevention
- What’s difference between The Internet and The Web ?
- Difference between HTML and HTTP
- Difference between http:// and https://
- IPv4 Datagram Fragmentation and Delays
- Introduction and IPv4 Datagram Header
- Why does DNS use UDP and not TCP?
- Difference between Circuit Switching and Packet Switching
- Stop and Wait ARQ
- Difference between Ping and Traceroute
- Differences between Virtual Circuits and Datagram Networks
- Digital Signatures and Certificates
- Program to determine class, Network and Host ID of an IPv4 address
- Network configuration and trouble shooting commands in Linux
- Difference between RFID and Barcode
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.