## 2 Literature Review
### SDN and IoT  
The internet of things (IoT) integrates the physical world with the cyber world, providing better monitoring and control systems for our physical world from around the globe. Traditional internet architecture is unsuitable for IoT, as there are different layered architectures designed for IoT networks. One of them is the simple and easy-to-understand three-layered architecture. The first layer in this architecture is the application layer, which takes commands from the user to control actuators or display information in a meaningful way, gathered from the sensors. The second layer is the network layer, whose main objective is to provide networking services. The last one is the perception or physical layer, which deals with sensors and actuators to gather data and control any device or material thing [31]. The emergence of IoT raises different challenges, like interoperability between devices, efficient and dynamic network management, scalability, and the mobility of nodes. The research community has seen the potential of software-defined networks (SDN) to solve traditional network problems in different technologies. SDN coupled with network functionsvirtualization (NFV) based IoT architecture can resolve or overcome many issues [32]. SDN and OpenFlow optimization will facilitate the issues of the IoT paradigm. Heterogeneity in IoT is another vast research issue, where different applications require different quality of service (QoS). Implementing intelligent routing, scheduling, and virtualization of the network for slicing can be implemented by SDN to provide QoS according to the IoT application [33]. Combining SDN with NFV in IoT networks offers great opportunities to increase performance [34]. NFV allows many network functions to be stored in the cloud, reducing the load on low-level network devices. The data layer in this architecture has different network resources converted into virtualized resources due to NFV. NFV is also aware of SDN and provides new and unique services due to their coupling. The network operator can easily deploy new services when required. This architecture offers low latency, higher bandwidth, and other features. SDN-NFV-based IoT systems show positive results in all domains of IoT. SDN coupled with NFV-based IoT architecture is shown in Figure 2[33]. This architecture is distributed, so no single point of failure is in the system, making it more reliable, secure, and efficient. Ref. [35] proposed an SDN-IoT-based intelligent public transportation system that uses context information and the EI technique in IoT-based systems. The proposed system shows decreased execution time, reduced average delay, increased transportation usage among people, and better transportation management during critical hours. Adding SDN and NFV layers in the IoT architecture provides more network flexibility, and various vendor devices can operate under one application easily. Virtualization in the network enables many tasks to be automated, reducing operating costs. The addition of SDN in the network also enhances security. The central controller can implement a global security mechanism. Traffic filtration, monitoring, and security policies are also applied in edge switches and routers [36]. Updating security policies is much easier in the SDN-IoT network. WSN is an essential part of IoT. Implementing SDN and NV in WSN will give great benefits to IoT systems [37]. Figure 2: SDN with NFV-based IoT, architecture. SDN has been applied in WSNs to improve their performance and functionality. [PERSON] et al. [38] embedded VMs in sensor nodes for increased autonomy and utilized on-air programming for central control. [PERSON] et al. [39] presented a framework that decouples the control plane from data by utilizing SDN for logic forwarding on nodes. In IoT networks, [PERSON] et al. [40] used SDN to translate IoT services into the network for a better end-to-end delay. [PERSON] et al.