Software Defined Networking
What Is Software Defined Networking?
Software defined networking (SDN) is a network architecture approach that physically separates the network control plane from the data forwarding plane, enabling the control logic to run as software on one or more centralized controllers rather than being embedded in individual network devices. The concept emerged from academic research at Stanford University in the mid-2000s and gained formal definition through the Open Networking Foundation (ONF), which describes SDN as the separation of control and forwarding functions through standardized interfaces. By decoupling the intelligence that decides where traffic goes from the hardware that moves it, SDN allows network operators to program and reconfigure network behavior through software, without requiring changes to the underlying equipment.
The architecture addresses a longstanding rigidity in traditional networking, where each switch and router maintained its own proprietary control logic and required device-by-device configuration. SDN replaces that distributed arrangement with a logically centralized controller that maintains a global view of the network topology and state, communicating with forwarding devices through standardized southbound interfaces. The IETF RFC 7426 definition of SDN layers and architecture terminology identifies five functional planes: the forwarding plane, operational plane, control plane, management plane, and application plane, with abstraction layers mediating between them.
Control Plane Architecture
The SDN controller is the software component that translates application-level requirements into specific forwarding instructions for the data plane devices below it. Controllers communicate downward to switches and routers through southbound interfaces, the most widely deployed of which is OpenFlow, a protocol standardized by the ONF that provides software-based access to the flow tables that direct traffic in hardware switches. Northbound interfaces allow applications to communicate upward to the controller, requesting network services or querying topology information without needing to interact with individual devices. Multiple controllers can be deployed for resilience, operating as a logically centralized but physically distributed control tier. The ONF's official definition of software-defined networking emphasizes that this centralized control provides the network intelligence and state visibility necessary for efficient real-time reconfiguration.
Network Virtualization and Cloud Integration
SDN provides the foundation for network virtualization, in which multiple logical network topologies run simultaneously on a shared physical infrastructure. Network Functions Virtualization (NFV), often deployed alongside SDN, moves network functions such as firewalls, load balancers, and intrusion detection systems from dedicated hardware appliances into software instances running on commodity servers. This convergence with cloud computing platforms and hypervisor-based virtualization allows cloud providers to instantiate, modify, and tear down virtual networks on demand, matching network resources to workload requirements without manual intervention. Virtual machines and containerized workloads can be assigned to logical network segments regardless of their physical host, giving cloud operators a degree of flexibility that was not achievable with traditional network hardware. Research published in IEEE Transactions on Network and Service Management has examined how SDN-enabled virtualization supports dynamic resource allocation across heterogeneous cloud environments.
Network Management and Programmability
Centralized visibility is one of SDN's most practical benefits for network management. Because the controller maintains a consistent view of the entire network graph, monitoring, anomaly detection, and policy enforcement can be implemented as software applications that query the controller rather than polling individual devices. Application Programming Interfaces (APIs) exposed by the controller allow operators to write programs that automate provisioning, respond to traffic conditions, and enforce access-control policies uniformly. This programmability also simplifies integration with cloud orchestration systems, enabling workflows in which a virtual machine deployment automatically triggers the corresponding network configuration. The IETF SDN architecture specification notes that the control plane operates on a millisecond timescale, allowing rapid response to changing conditions that would require manual reconfiguration in traditional networks.
Applications
Software defined networking has applications in a wide range of fields, including:
- Cloud data centers, where dynamic workload placement requires rapid network reconfiguration
- Wide-area network (WAN) optimization for enterprise and carrier networks
- Network security, where centralized policy enforcement enables rapid threat response
- Telecommunications, where SDN supports 5G core network slicing and resource allocation
- Research and education networks, where the ability to experiment with custom forwarding behavior accelerates protocol development