Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What is SDN? SDN Controllers Wiki and Roundup - OpenDaylight, OpenFlow, Network Automation and More

DZone's Guide to

What is SDN? SDN Controllers Wiki and Roundup - OpenDaylight, OpenFlow, Network Automation and More

Wondering what SDN is? Learn all about SDN, or Software Defined Networking, specifically OpenFlow, OpenDaylight, and more!

Free Resource

SDN is an abbreviation for Software Defined Networking, it is often times tightly coupled with NFV (network function virtualization) as they complement each other. According to many experts, the emergence of this concept is a breakthrough in this activity because it allows incredible optimization of the work of networks and increased effectiveness and efficiency. The main focus of SDN is placed on the central control layer that manages the flow of information and the related usage of bandwidth and other similar variables. So, an SDN controller represents a virtual brain of networks and provides a better view of all network processes to the admins. Besides their ability to observe the traffic, they can also manage some basic systems like routers, switches, modems, servers and other network equipment in terms of proper management of network traffic. Instead of using separate switches, network engineers can use SDN controllers to follow the new requirements and needs of the business and mold the traffic circulation.

Cloudify - built for NFV, SDN, service chaining - the works. Get it. Go 

Using SDN controllers comes with many advantages. This practice reduces operational costs, increases reliability and stability in network working and improves overall efficiency.

In order to manage the diverse applications (VNFs) and services in an NFV architecture, especially if they span across multiple data centers, network automation is required. This is where the SDN controller comes in. Cloudify enables one model to the service, spanning both infrastructure and network, and orchestrates flows including network automation through SDN as well.

Cloudify as an orchestrator needs to work with different NFV components, such as controllers, as well as physical and virtual network functions - i.e., load balancers, routers, switches, firewalls, either directly or through an SDN controller, and even delegating to an SDN controller, or a combination of these options. YANG is often times the modeling language used to configure these devices in a networking world, and that is why Cloudify also made it a priority to integrate natively with YANG (stay tuned for an excellent post on this by Yoram Weinreb).

So, it is no surprise why there are so many open source and commercial SDN controllers in the market.

In order to give you an idea of the complexity of the landscape, we’ll list some of the popular open source and non-open source SDN controllers in the market today.

Open Source SDN Controllers

OpenDaylight open-source SDN controller, and one of the most popular open source SDN controllers backed by the Linux Foundation. As the name suggests, this is another successful open source SDN controller. It was released about two years ago and it is still one of the most popular SDN controllers of this type. The basic version of Hydrogen (this is how the controller is called) comes with a modular SDN controller capable of handling several protocols and it’s developed thanks to OSGi and OpenFlow plugin.

Ryu OpenFlow controller. Now here’s an example of a good open source SDN controller. This is actually a framework that provides elements used in SDN apps. With its help, developers can make new network control and management apps. Ryu can work with different protocol-management network devices like OF-config and OpenFlow.

FlowVisor OpenFlow SDN controller. Unlike other controllers, this one is made for special purposes. It is used as an intermediary between OpenFlow controllers of different kinds and OpenFlow switches. In other words, the SDN controller is here to provide virtualization of the network with the help of separation of physical networks into multiple logical networks.

OpenContrail is the Juniper-led Apache 2.0 licensed community project to provide network virtualization functionality on OpenStack and other orchestration systems.  It provides virtual network functionality based on open protocols and Rest APIs as well as all the necessary components for network virtualization–SDN controller, virtual router, analytics engine, and published northbound APIs.

Floodlight open SDN controller. We will end the list of open source controllers with The Floodlight. Unlike many other controllers, this one is based on Java. It has a license from Apache and it is one of the most important tools made by Big Switch team. This SDN controller supports a wide range of physical and virtual switches and it is able to manage mixed non-OpenFlow and OpenFlow networks. The Floodlight SDN controller is part of many apps like Floodlight Virtual Switch and OpenStack Quantum plugin.

Commercial SDN Controllers

Nuage Network Virtualized Service Controller or VSC. This controller is used for a complete view of per-tenant service and network topologies. The network service templates designed with the help of Virtualized Services Directory by Nuage Networks are given an external form too.The Virtualized Service Controller shares messages, relying on Services Directory’ rules, to the Virtual Switching and Routing platform by Nuage.

Cisco Application Policy infrastructure Controller or APIC. This is a well-known distribution system that represents a group of controllers. APIC is used as an individual point of control. This controller comes with a centralized API. It also has a repository of policy data and global data. The basic goal of these SDN controllers is to improve the efficiency of the network and the performance of the application.

HP Virtual Application Networks SDN controller. This SDN controller is made for control of policy and forwarding selections in any SDN network that uses switches enabled for OpenFlow in the campus or data center infrastructure. In addition, the VAN is here to allow unified management and automation.

VMware NSX controller. Finally, this commercial SDN controller acts as a distributed management system capable of handling virtual networks and transport tunnels. The NSX controller represents a focal point for the entire set of logical switches used in one network.    (Cloudify being tightly coupled with VMware products is able to integrate with its suite of NFV tools).

There is no doubt that SDN controllers are important and that their efficiency will be improved in the near future. We live in an age where network technology is still evolving and this is the reason why there are so many gaps between the processes that take place in these networks. Problems like inability to increase or reduce fast certain elements of the networking process, complexity and vendor dependence are disrupting the growth. SDN controllers seems to be the perfect way to solve all these problems.   

That is why it has been important to Cloudify to integrate with many SDN controllers, to enable the full end to end service management and chaining, where Cloudify serves as the single pane of glass in these complex topologies to manage the service end-to-end and the communication with the different components.

Topics:
software defined networking

Published at DZone with permission of Cloudify Community, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}