The infrastructure or data plane layer is composed of the 7 ONF is the consortium for SDN standardization. M. Alfaqawi et al. Application layer Applications Northbound Interface Control plane SDN controller Southbound Interface Infrastructure layer (Data plane) Data forwarding device Fig. 1.8 Software-defined networking architecture network devices or forwarding elements and virtual switches such as Open vSwitch. The switching devices in the infrastructure layer are responsible for collecting network status and sending it to the SDN controllers. The second function of these devices is to process the data packets based on rules provided by the SDN controller [3]. The infrastructure layer interacts with the control layer via southbound inter- faces such as OpenFlow 8 protocol and forwarding and control element separation (ForCES) protocol. Meanwhile, the control layer contains several SDN controllers that are responsible for managing and monitoring all the virtual and physical network resources [3]. The control layer communicates with the application layer via northbound interface. 9 The application layer permits the service providers and network operators to manage the network to fulfill the various application's requirements such as traffic and access control, bandwidth, QoS, energy usage, and SO on. OpenFlow is the most popular SDN protocol that defines a standard API to separate logically the controller and network devices. It offers an API between the SDN controller and the network devices to communicate over TCP/IP stack for any network topology. 9 The northbound interface provides a network abstraction to the applications and the management systems. Various open-source projects have been proposed for the northbound APIs including RESTFul and Frenetic. A Comprehensive Study on 5G The SDN controller is a fundamental component of the SDN architecture. However, a centralized controller that manages all the devices of a network has a key drawback of a single point failure and scaling limitations. In order to alle