Software-Defined Networking (SDN) is a contemporary network technology that effectively manages a heterogeneous network. The SDN architecture was built to develop agile and cost-effective network functions and their applications.
SDN architecture mainly focuses on providing an easily configurable platform with simple troubleshooting methods. Six major components that SDN architecture should follow.
• Management Plane
• Control Plane
• Data Plane
• Southbound interface
• Northbound API
• Forwarding device
Management plane: A set of SDN network applications that maintains and controls the logic. SDN permits network use programmability to supply flexibility and ease to implement upcoming new services and applications like routing and load balancing.
Control Plane: The extensive layer of SDN architecture via well-defined SI control plane elements programmed by the forwarding devices. All control logic lies over the controller and its application from the control plane.
Data Plane: The wireless radio channels and other wireless components interconnect forwarding devices. The data plane is represented by network infrastructure consisting of interconnected forwarding devices.
Southbound interface: Southbound interface is an intersection between the control plane component and its forwarding devices. The most common southbound interface is OpenFlow, standardized by the Open Networking Foundation (ONF).
Northbound API: It usually allows communication between management and control layers using northbound interfaces. It provides Network Topology, Provisioning services and configuration retrieval. It also facilitates managing faults with OSS and enables network, path computation, security and routing.
Forwarding device: It operates software- or hardware-based data plane devices. The forwarding devices permit action on incoming packets through well-defined instruction sets. Southbound interface (e.g., OpenFlow) characterizes these sets of instructions.
SDN faced many different challenges that come from numerous aspects:
• Security
• Scalability
• Reliability
• Controller placement design
• Application controller interaction
SDN endorsed to provide a promising solution by segregating the control logic from the data plane that allows efficiency and flexibility in the operation and management of the network via software programs.