Software defined networking (SDN) is an approach to network management that enables dynamic, programmatically efficient network configuration to improve network performance and monitoring. It is a new way of managing computer networks that makes them easier and more flexible to control.
In traditional networks, the hardware (like routers and switches) decides how data moves through the network, but SDN changes this by moving the decision-making to a central software system. This is done by separating the control plane (which decides where traffic is sent) from the data plane (which moves packets to the selected destination).
Importance of Software-Defined Networking
Increased control with greater speed and flexibility: Instead of manually programming multiple vendor-specific hardware devices, developers can control the flow of traffic over a network simply by programming an open standard software-based controller. Networking administrators also have more flexibility in choosing networking equipment, since they can choose a single protocol to communicate with any number of hardware devices through a central controller.
Customizable network infrastructure: With a software-defined network, administrators can configure network services and allocate virtual resources to change the network infrastructure in real time through one centralized location. This allows network administrators to optimize the flow of data through the network and prioritize applications that require more availability.
Robust security: A software-defined network delivers visibility into the entire network, providing a more holistic view of security threats. With the proliferation of smart devices that connect to the internet, SDN offers clear advantages over traditional networking. Operators can create separate zones for devices that require different levels of security, or immediately quarantine compromised devices so that they cannot infect the rest of the network.
Benefits of software-defined networking
Simplified network management and control
SDN helps to simplify network management for IT teams. A network administrator needs to deal with only one centralized controller to configure and manage all connected devices. This approach is a radical departure from traditional networking, where configuring multiple devices individually is the norm.
End-to-end visibility into networks
This makes device configurations, resource provisioning and management easier. It also enables IT teams to easily monitor network health and act quickly to increase network capacity as business requirements change.
Stronger network security
Centralized, software-defined network also provides a security advantage for organizations. The SDN controller can monitor traffic and deploy security policies. If the controller deems traffic suspicious, for example, it can reroute or drop the packets. Also, admins can easily implement security policies across the entire network to increase its ability to withstand threats.
Simplified policy changes
With SDN, an administrator can change any network switch's rules when necessary -- prioritizing, deprioritizing or even blocking specific types of packets with a granular level of control and security.
This capability is especially helpful in a cloud computing multi-tenant architecture, as it enables the administrator to manage traffic loads in a flexible and efficient manner. Essentially, this enables administrators to use less expensive commodity switches and have more control over network traffic flows.
Reduced hardware footprint and Opex
SDN virtualizes hardware and services that were previously carried out by dedicated hardware. Also, administrators can use open source controllers instead of costly vendor-specific devices. This reduces the organization's hardware footprint and lowers operational costs.
Networking innovations
SDN also contributed to the emergence of software-defined wide area network (SD-WAN) technology. SD-WAN employs the virtual overlay aspect of SDN technology. SD-WAN abstracts an organization's connectivity links throughout its WAN, creating a virtual network that can use whichever connection the controller deems fit to send traffic to. By adopting this technology, organizations can programmatically configure their network topology in a WAN. Also, SD-WAN can better handle large amounts of traffic and multiple connectivity types compared to traditional WANs.
Challenges of SDN
Security
Security is both a benefit and a concern with SDN technology. The centralized SDN controller presents a single point of failure and, if targeted by an attacker, can prove detrimental to the network.
Controller redundancy costs
Implementing controller redundancy is one way to minimize the risk of a single point of failure. However, this can entail an additional cost.
Unclear definition
Another challenge with SDN is the industry really has no established definition of software-defined networking. Different vendors offer various approaches to SDN, ranging from hardware-centric models and virtualization platforms to hyperconverged networking designs and controllerless methods.
Market confusion
Some networking initiatives are often mistaken for SDN, including white box networking, network disaggregation, network automation and programmable networking. While SDN can benefit and work with these technologies and processes, it remains a separate technology.
Slow adoption and costs
SDN technology emerged with a lot of hype around 2011 when it was introduced alongside the OpenFlow protocol. Since then, adoption has been relatively slow, especially among enterprises with smaller networks and fewer resources. Many enterprises cite the cost of SDN deployment to be a deterring factor.