What is Software-Defined Networking (SDN)?
Software-defined networking (SDN) describes an architecture that separates the network control plane and the forwarding plane, aiming to simplify and improve network control. IT teams are more able to rapidly adapt to changing business requirements and application needs.
SDN is a highly flexible, agile way to adapt to growing networking requirements and enable automation and agility. By separating the network control and forwarding planes, SDN makes network control a programmable entity and abstracts the infrastructure underneath.
Network engineers benefit from SDN because they no longer have to wrangle individual network devices to offer network services, connect locations and applications, or govern resource and capacity utilization. Instead, SDN takes care of this task, directing these individual “switches” to provide services when the business requires them.
Features of software-defined networking
There are 4 unique, defining features of software-defined networking:
- Agile. As business and application needs change, administrators can adjust network configuration without
- Centrally Managed. SDN consolidates network intelligence, which provides a holistic view of the network configuration and activity
- Programable. The ability to directly program network features and configure network resources quickly and easily through automated SDN services.
- Open Connectivity. SDN is based on and implemented via open standards. As a result, SDN streamlines network design and provides consistent networking in a vendor -neutral architecture.
In a nutshell, software-defined networking relies on APIs to create a centralized management plane that allows administrators and managers to decide and program network behavior. SDN creates an abstraction or virtual overlay on top of otherwise complex networking infrastructure, allowing IT teams to manage their network, applications, and devices consistently with minimal knowledge of or direct interaction with that underlying technology.
Software-defined networking performs various tasks and encompasses various technologies. But its original, most defining purpose was to create a programmable abstraction that separates the network data and network control planes. The control plane is the “brains” of the operation, managing network services and deciding how and where packets should move throughout the network. The data plane is the transport system, connecting end points and moving these packets according to the control plane’s directions.
In a traditional network environment, networks are mostly unaware of the requirements for applications running throughout the system. Operators can observe application characteristics like packet size, volume, latency and errors but largely the types of applications and information about health or needed performance can not always be determined; in a software-defined network, the applications can have information about the network, and networks configurations can be tailored to the applications, creating a two-way street of information.
There are three major components that make up software-defined networking. First, we have SDN applications. These applications relay actions and request resources through the SDN controller using APIs. SDN applications can assume various forms and serve various functions, such as network management, providing analytics, adding security or common network functions. Some examples are IP address management (IPAM), managing quality of service (QoS), load balancing, or detection and mitigation of a denial of service (DoS) cyber attack.
Second, and perhaps most importantly, is the SDN controller. SDN applications send instructions to the SDN controller, which then relays that information to networking components. The SDN controller is also responsible for collecting network information from hardware, delivering this information and relevant statistics back to the applications.
The third component is a system of SDN networking devices. In the network, these devices are responsible for forwarding and data processing tasks, both of which can be performed for the data path as well. The SDN controller is responsible for the integration of the three layers. These API integrations are commonly called northbound or southbound interfaces. The northbound in the integration between the controller and the application while the southbound is the integration between the controller and the physical networking devices.
Software-defined networking and security
There are different levels of security protection offered via software-defined networking. Perhaps most notable is the centralized intelligence SDN offers, enabling IT administrators to quickly and easily set and keep security policies. From there, these policies can be universally enforced throughout the network, and they can be maintained and enforced through central control.
Furthermore, SDN creates an abstraction layer between the software and the hardware, allowing IT teams to bypass proprietary devices and simply start developing security tools to implement across the network. As a result, there is greater transparency for gathering insights and possible threats in the event a security breach occurs.
Ultimately, security is scalable with SDN. Rather than necessitating expensive, proprietary hardware and security controls, IT teams can create, control, and deploy security policies at scale as software grows, new clouds and applications are provisioned, or as business needs change. Not to mention, should a segment shut down or create a security gap, the transparency of SDN allows administrators to quickly and easily detect malware.
How is software-defined networking used?
There are multiple use cases where SDN would be beneficial. First, SDN can help support DevOps initiatives. Application updates, deployments, and even IT infrastructure components can all be automated through SDN, all of which can occur as DevOps applications and platforms are created and deployed.
Second, businesses can leverage SDN controllers to improve the functionality of campus networks, which are often complex due to ongoing WiFi and Ethernet needs. The central SDN controller “switch” delivers automation and centralized management, ultimately improving security and helping businesses develier more high-quality services in their network.
Third, service provider networks can leverage SDN to automate the process of provisioning networks for improved service management and increased control.
Finally, businesses can enjoy the increased protection and simplified firewall administration that SDN provides. Companies can create distributed firewall systems through the virtualization capabilities of SDN, delivering an extra layer of security to prevent a breach from hopping from one VM to another. Not to mention, administrators and managers can centrally track and change network activity to detect and eliminate breaches before they strike.