Architecture of Software-defined Networking
SDN relies on APIs to create a centralized management plane that lets administrators and managers decide and program network behavior. SDN creates an abstraction or virtual overlay on top of otherwise complex networking infrastructure. This enables IT teams to manage their network, application, and devices consistently with minimal knowledge of or direct interaction with that underlying technology.
SDN performs various tasks and encompasses various technologies. But its original defining purpose was to create a programmable abstraction that separates the network data and network control planes.
The control plane is the brain of the operation, managing network services and deciding how and where packets should move throughout the network. The data plane is the transport system that connects endpoints and moves packets according to the control plane’s directions.
How SDN Differs from Traditional Networking
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. However, the types of applications and information about health or needed performance cannot always be determined.
In an SDN, applications can have information about the network and network configurations can be tailored to the applications to create a two-way flow of information.
Components of an SDN
There are three major components that make up SDN.
- 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. Examples include IP address management (IPAM), managing quality of service (QoS), load balancing, or detection and mitigation of a denial-of-service (DoS) cyberattacks.
- SDN controller: SDN applications send instructions to the SDN controller, which relays that information to networking components. The SDN controller also collects network information from hardware and delivers this information and relevant statistics back to the applications.
- SDN networking devices: These devices are responsible for forwarding and data processing tasks, which can be performed for the data path as well. The SDN controller integrates all three layers. These API integrations are commonly called northbound or southbound interfaces. The northbound is the integration between the controller and the application while the southbound is the integration between the controller and the physical networking devices.