## 1 Introduction  
The number of internet-connected or Internet of Things (IoT) devices, and traffic flow volume in the internet has significantly increased and continues to grow. According to [PERSON] et al. [1], the number of active internet-connected devices was 26.66 billion in 2019. The annual global network traffic flow as of 2018 amounted to 19.01 exabytes per month and is expected to reach 77.5 exabytes per month by 2022 worldwide [1]. The data flows are coming mostly from IoT devices and stored in data centers, which provide various and increasing kinds of cloud services to users. Managing the internet and data centers to meet the expanding demands of emerging applications such as real-time has become a big challenge in traditional networking. The integration of control and forwarding logic in routers and switches in traditional networking introduces some limitations and inflexibility in managing and monitoring the networks to configure the optimum quality of service (QoS) provisioning. The configuration of policies (e.g., firewall and routing policies) required network operators to adhere to the vendor-specific interfaces of routers and switches to configure the device [1]. Adjustments to the network have to be made by the network administrator more conveniently and promptly to cope with dynamic network behaviors such as fault management and load changes [2]. Despite the wide adoption of internet protocol (IP) based networks, automatic reconfiguration and response to network changes are difficult in the current conventional networks, according to [PERSON] et al. [2]. SDN decouples the control plane (networking logic) from the data plane (forwarding logic) [3]. The control plane consists of controllers acting as a network operating system and the data plane consists of switches, which mainly forward packets to the next hop. The controller is responsible for maintaining the global network state in real-time. The separation between control and data planes is achieved using a standard communication interface such as OpenFlow [4]. OpenFlow switches have Flow Table, which is commonly implemented with Ternary Content Addressable Memory (TCAM) technology. Typically, a flowtable is populated with rules or policies such as quality of service (QoS), access control lists (ACLs), and IP route tables for fast-forwarding. However, TCAM is power-hungry, expensive, and available in limited space or capacity that can only accommodate from 750 to 20,000 flow entries [5; 6]. Thus, the flow table is relatively small compared to the number of required rules. The centralized architecture of SDN and space limitations of the flow table introduce some performance and security issues. Attackers may overwhelm the flow table with multiple denial of service (DoS) attacks and manipulate the controller to refuse writing legitimate flow entries [7]. Mitigating the DoS attacks requires the installation of a large number of access control list (ACL) distributed rules while TCAM is available in only limited capacity or space. SDN controller populates or updates the flow table reactively or proactively upon occurrence of some events. In a reactive approach, the controller does not populate the flow table with any rules when network operation begins. Whenever packets arrive at switches during network operation, rules will be installed into the flow table by the controller. For the proactive approach, the controller will install flow entries in the flow table in advance, when network operation begins. The selection of rules is imperative in maximizing network performance especially in large-scale networks such as data centers. When packets arrive at a switch during network operation, the flow of arriving packet is matched against flow entries in the flow table. If matching is not found, the switch will contact the controller to update the flow table with entries that allow the packet to reach its destination. This involves communication overhead between controller and switch as well as delay until the packet can be forwarded to the next hop.