A key aspect of software-defined networking architecture is the control layer that manages the flow of traffic through a network. The layer represents the software that controls and manages this communication, interfacing between the application layer and the infrastructure layer to direct services between switches and devices.
SDN controllers are a critical part of a data center software-defined network. They manage the flow control to network switches and routers. It is important for data center admins and network engineers to understand how SDN controllers work, how to evaluate SDN vendors, and how to deploy and operate SDN data center controllers for data center networks.
What is an SDN controller?
Traditional network architecture contains individual network devices that make traffic decisions. The goal of SDN is to separate the network control plane from the data plane. This enables more agility and flexibility when it comes to directing traffic flow. SDN controllers are key for managing traffic flow.
SDN data center controllers take the control plane off network hardware and run it as software. Instead of relying on dedicated hardware, the SDN controller provides network operators with one point of control, acting as a core OS for the network. This makes it significantly easier to manage the network and make network-wide changes.
An SDN controller sits between the application layer and the infrastructure layer. In other words, it is the gate between devices and applications. The controller uses protocols to control communications going from one layer to the other. The controller uses northbound APIs to communicate with an application and relies on southbound interfaces to talk with a device.
The SDN controller should be aware of all available network paths. When it needs to open a link between layers, it automatically picks the most optimal path based on traffic requirements. Network operators can set or modify these requirements and communication protocols. This decreases the need for manual oversight and configuration -- as dedicated hardware would require -- and streamlines the flow of traffic. As a result, application performance should improve, and admins should avoid traffic bottlenecks.
What to look for in an SDN controller
When reviewing options, consider that there are no standards for SDN controllers, so capabilities can vary widely. SDN controllers are part of most SDN packages. However, admins who consider a turnkey product -- for example, to add redundancy in case of a controller failure -- should examine the following factors:
- Compatibility. With a lack of standards across the board, admins need to be careful about which SDN controller to choose. Vendor lock-in can make it difficult to transition in the future or create roadblocks if admins want to evolve the network. Open source projects, like OpenDaylight, are taking big strides to create standardization in SDN controller software, which helps admins customize and automate networks.
- Topology. Admins scaling out a network may need additional controllers that can also speak with one another, not just between the application and infrastructure layers. Different vendors use different methods of handling this communication, so check with vendors to confirm the hardware fits the organization's needs.
- Performance. In terms of raw performance, admins should pay attention to flow setup capabilities. SDN controllers can perform a certain number of flow setups per second, and the smaller that number, the more likely there will be traffic bottlenecks. While a low number is not necessarily a deal breaker, admins should still factor it into the decision, especially for large networks.
- Capability. To gain a full picture of what an SDN controller can do, ask vendors about the controller's APIs, what devices it can talk to, what partnerships they have and what applications exist already. Some controller software is a blank slate, while others have stronger ecosystems for those who want to get up and running fast or don't need as much customizability.
Key SDN controller vendors and offerings
When using an SDN controller, admins have access to the entire software-defined network. This poses some security and redundancy challenges. Thoroughly assess infrastructure and network needs when choosing a vendor or controller.
SDN controller vendors and products include the following:
- Big Switch Networks
- Cumulus Networks
- Juniper Networks
- Nuage Networks
- Pluribus Networks
Open source options include the following:
- Open Network Operating System
- Open vSwitch
- Tungsten Fabric, formerly OpenContrail
While admins may only need one SDN controller, organizations can use more than one in case of a failure or in the event someone gains access who shouldn't.
Deploying and operating an SDN controller
Configuration is the biggest hurdle when it comes to deploying an SDN controller. Typically, admins need to configure the entire network when transitioning to a software-defined architecture. In this case, configuring the SDN controller software is at the heart of the process and requires admins to install the protocols they want to use. Configuration takes time, but the benefits of centralized network management make up for it.
Adding controllers differs by vendor, especially with the lack of standards in SDN controllers. Ideally, configure the network with multiple controllers in mind. Otherwise, the process may require some reconfiguration, which is not always easy. That said, operating a software-defined network through a controller is simple. Admins can optimize hardware from one point of control, make changes on the fly and scale infrastructure easily. Resource provisioning is simple compared to the traditional network methods.
All communications must go through the control layer, and as such, the controller is a critical piece of any software-defined network. With this background information and knowledge of the key offerings to look for, admins can make a better-informed decision to choose the type of SDN controller to use in the data center. These decisions directly impact everything from performance to security and redundancy.