Software-Defined Networking (SDN) is a disaggregated layer 2/3 architecture which is abstracted, controlled and programmed using software applications.
In a conventional network, components such as switch, router have control and data (forwarding) plane coupled together. The control plane makes routing decisions. The data plane forwards data (packets) through the router/switch.
SDN separates a control plane from the data plane. This helps to move towards open infrastructure by decoupling software and hardware, and separation of two planes using an open interface. Open and well-defined interface between control and user plane is a prerequisite of SDN. The original interface supporting disaggregation, called OpenFlow which introduced Flow Rules, a simple-but-powerful way to specify the forwarding behavior. A flow rule is a Match-Action pair: Any packet that Matches the first part of the rule should have the associated Action applied to it. A simple flow rule, for example, might specify that any packet with destination address X be forwarded on output port ge-0.
OpenFlow define an interface for controlling the data plane and making real-time decisions about how to respond to link and switch failures. If the data plane reports a failure, the control plane provide a remedy (e.g., a new Match/Action flow rule) within milliseconds.
Control plane should be fully independent of the data plane and logically centralized. This implies the control plane is implemented off-switch, for example, by running the controller in the cloud. If need more capacity in the data plane, add a bare-metal switch. If need more capacity in the control plane, add a compute server. Network Operating System (NOS) in controller is like a server operating system which provides a set of high-level abstractions.
Virtualization layer (NFV) is added between the hardware layer and the control system that allow generic networking hardware to support multiple configurations. With SDN, it can create one set of (forwarding) rules and applications for one group of users, and an entirely different set of rules and applications for another group of users.
Use cases of SDN are traffic engineering for WANs, SD-WANs, Access networks, network telemetry and switching fabrics.
In 5G NR, Near-RT RIC (Radio Intelligent controller) implemented as a SDN Controller to host a set of SDN control apps. These apps are Link Aggregation Control, Interference Management, Load Balancing, and Handover Control, implemented by individual base stations with only local visibility, but they have global consequences.
Note – Realizing value of SDN in the 5G NR is ongoing and emerging.
(Reference – ONF, ETSI)