Software defined networking for internet of things: review, techniques, challenges, and future directions

Security networks as one of the biggest issue for network managers with the exponential growth of devices connected to the internet. Keeping a big and diverse network running smoothly and securely is no easy feat. With this in mind, emerging technologies like software defined networking (SDN) and internet of things (IoT) hold considerable promise for information service innovation in the cloud and big data era. Therefore, this paper describes the model of SDN and the architecture of IoT. Then this review does not only review the research studies in SDN-IoT but also provides an explanation of the SDN-IoT solution in terms of architecture, main consideration, model, and the implementation of SDN controllers for IoT. Finally, this review discusses the challenges and future directions. This paper can be used as a starting point for thinking about how to improve SDN-IoT security and privacy. This is an open access article under the CC BY-SA license.


INTRODUCTION
In the conventional networking architecture, specialised application-specific integrated circuits are put in networking devices like switches, routers, and intermediary devices to carry out specified functions [1]- [3].Thus, in order to carry out their designated functions, the devices have been pre-programmed with a variety of complex basics (i.e., protocols) that cannot be altered in actual-time [4]- [6].Furthermore, the devices' limited resources prevent them from being preprogrammed with many basics to supply optimal system applications.Therefore, conventional system technologies cannot instantly adjust rules sufficiently to fulfil the needs of internet of things (IoT) applications [7]- [9].
A novel concept called software-defined networking (SDN) is proposed to deal with these restrictions in conventional networks.Decoupling network control from the conventional hardware devices is a key feature of SDN [10], [11].So, the primary goal of SDN is to divide the forwarding devices into a separate data plane from the control plane [12], [13].It is expected that in the near future, all objects, including sensor devices, embedded networks, and middle nodes, will be able to gather and share data in order to realise the goals of a fully connected world, made possible by the concurrently outstanding system development of IoT [14], [15].For different actual-time services like intelligent healthcare [16], smart transportation network [17], and Bulletin of Electr Eng & Inf ISSN: 2302-9285 ❒ 639 intelligent energy technology [18]- [20], an IoT system typically includes various radio frequency identification (RFID) nodes and sensor constituting massive distributed embedded network [21], [22].It is estimated that there will be 50 billion Internet-connected gadgets (sensors, smart cars, intelligent phones, RFID, apple watch, google glass, intelligent homes, and intelligent cities) in use worldwide by 2020, up from the current total of more than 15 billion.Massive amounts of data are produced by all of the internetconnected objects, making it challenging to keep the IoT network's management, resource allocation, and security in check.In order to solve the problems associated with IoT, we need a centralised monitoring for actual-time flow services and the holistic picture of the network provided by SDN for increased reliability.
The remainder of this paper is organized as follows.Section 2 describes the concept of SDN and the IoT.Section 3 provides an explanation of the SDN-IoT solution.Section 4 reviews the research studies in SDN-IoT.Section 5 discusses the challenges and future directions for this paper.Lastly, section 6 concludes this paper.

SOFTWARE DEFINED NETWORKING AND INTERSENSORS THINGS
This section presents SDN and IoT.We describe SDN technology in terms of overview and SDN model.Meanwhile, we describe IoT in terms of overview and architecture of IoT.The description of these technologies are as follows.

Software defined networking
This subsection presents SDN in details.We describe SDN technology in terms of overview and SDN model.The description of this SDN technology is as follows.

Overview
SDN is a relatively new framework that has been gaining popularity due to its adaptability, reliability, controllability, and high efficiency, making it ideally suited to the high-bandwidth, ever-changing requirements of modern applications.Separating the program's forwarding and control functions like this allows for digital communication to be decoupled from the underlying infrastructure and made directly programmable.To construct SDN solutions, the OpenFlow [23] protocol is essential.

SDN model
As shown in Figure 1, the following are the tiers that make up the SDN architecture.This model of architecture includes application, control layer, and data layers.The layer of network infrastructure, SDN control, and network infrastructure are based on application, control, and data, respectively.APIs to define a network's management policy; the controller will then take those commands and execute them locally on devices connected using southbound APIs.− Control plan: it's the part of the network that has been separated from the components that make up the network itself, known as the SDN controller.This controller is responsible for translating the conduct basics determined by uses on the incoming flow into rules and injecting them into the program's routing equipment via the southbound APIs.− Data plan: messages can be transferred between devices via either wireless signals or hardwired cords, based on the connection module included in each piece of technology.
Software defined networking for internet of things: review, techniques, ... (Mahmood A. Al-Shareeda) − The APIs: each of the 4 kinds of APIs-northbound, southbound, eastbound, and oustbound-is responsible for facilitating interaction between specific parts of the SDN architecture.a.The northbound API (RESTfull): offer a layer of system abstraction and expose it as a system to applications, and permit interfacing between the control layer and the application layer so that the ideal quality of service (QoS) for the application can be stated to the controllers.b.The southbound API (Openflow): provides a bridge between the data plane and the control plane, letting you programmatically add rules to devices like routers, switches, and wireless access points; additionally, these devices can interact with the control plane.c.TheEastbound and westbound APIs: in the context of using an orchestrator, both are put to use when connecting controllers so that they can work together to make decisions.− Orchestrator: there is a requirement for complete software development.Users can connect via WiFi, WAN, LAN, and firewalls/other system nodes if the service can be applied in a datacenter.It is a fallacy to believe that a single controller can script the complete pipeline.

Internet of things
This section presents IoT in details.We describe IoT in terms of overview and architecture of IoT.The description of this IoT technology is as follows.

Overview
When there are more connected devices than individuals using the internet, we talk about the IoT.IoT aims to improve human existence by creating a smart environment through the use of "smart things".Which can collect data about their surroundings without human intervention.

Architecture of IoT
As shown in Figure 2, each of these components plays an important role in the IoT's overall structure.The architecture of IoT includes perception, network, application, middleware layers.The component plays in the application layer is cloud and servers.The component plays in the network layer is router and gateways.The component plays in the perception layer is sensors and actuators.− Layer of perception: it is made up of physical items that can sense and convert physical quantities (such as temperature, pressure, vibrations, and rays) into magnitudes of digital, then procedure, save, and wirelessly communicate this data to a sink or system gateway.The IoT includes things like wireless sensors [24], [25] radio frequency identification [26], handsets [27], wearables, connected automobiles [28], and intelligent houses [29].− Network layer: it sends the analogue representation of the digital data gathered from the physical world to a sink or the network gateway.Many other technologies, such as Zigbee [30] [31], [32] Lorawan [33], [34], Wi-Fi [35], and many more, are found in this setting and are in a constant state of development [36].− Application layer: it provides a means by which users can access data collected at the perception layer, modify those data to meet the needs of a given domain, and then feed those modified data into a processing network.− Layer of middleware: when various IoT nodes in the same field need to connect with a single suitable device, this layer enables to parse the data being transmitted by the various pieces of hardware and convert it into addressable, service-specific data.

SOFTWARE DEFINED NETWORKING FOR INTERNET OF THINGS 3.1. Architecture of SDN-IoT
As shown in Figure 3, there are three tiers to the SDN-IoT as follows.The model of SDN-IoT includes infrastructure, control, and application layers.The description of each layer are provided as follows.gateways, this layer houses a wide variety of devices such as RFID readers RFID [26], wireless sensors [24], intelligent phones [27] with detecting capability, and intelligent automobiles [28].− The control layer: it's the layer in between the service and the infrastructure, and it offers APIs that developers may use to build their own IoT apps.These APIs can also be used to manage data access and lower-level network devices.− The application layer: allows IoT application tuning without requiring knowledge of lower network transport and data connection layers thanks to northbound APIs' ability to provide a full abstraction of the underlying network infrastructure.

Main considerations
The potential of SDN solutions to achieve the concept of software-defined IoT is discussed, along with some of the main considerations of IoT applications, as shown in Figure 4.The main considerations for SDN-IoT are network management, network function virtualization, accessing information from anywhere, resource utilization, energy management, security, and privacy.These considerations are described as follows.− Network management: in the next decade or so, thanks to IoT technology, billions of objects will be in use all over the world [37]- [39].As a result, it's clear that the devices will produce a flood of data that must be processed quickly and effectively.IoT network administration can benefit from SDN-based solutions including load balancing, traffic forwarding at a granular level, and better usage of available capacity [40], [41].− Network function virtualization: recent advances in the field of network function virtualization (NFV) have made it possible for devices to switch between multiple roles and adapt their capabilities in real time to meet the needs of individual applications.Therefore, SDN-based approaches are crucial to bringing NFV to life in a massive-scale IoT network [42], [43].− Accessing information from anywhere: the devices' user will be able to log in to their devices from any location at any time to manage and customise their devices' features as needed [44], [45].SDN-based technology, such system components can be managed without invading anyone else's privacy [46], [47].− Resource utilization: both under-and over-utilization can reduce a network's capacity, reducing the value of the system as a whole.So, better resource use is needed to increase the network's utility, and this in turn necessitates effective mapping of customer request [48].Depending on the flow-rules set upon by the SDN controller, requests from numerous users can be routed along the appropriate path [49], [50].− Energy management: it will take a massive infrastructure of data centres to process the massive amounts of information generated by the billions of IoT devices [51], [52].This allows for dynamic ON/OFF switching of data centre devices as needed [53], which in turn creates a more efficient data centre networking environment.From the standpoint of an IoT network, this capability is quite useful [54].− Security and privacy: it is crucial to ensure the safety of the devices and network in order to accommodate a wide variety of devices, vendors, and users on a single platform [55], [56].Researchers need to take this into account so that users' privacy is protected as they use a unified platform across various devices.Security and privacy of network traffic are improved by SDN's fine-grained control of flows [57].

Model of SDN-IoT
Various architectures of SDN-IoT and their benefits, drawbacks, and applications are discussed here.The architectures of SDN-IoT are plugin IoTDM, cluster head, edge computer server, and distributed network control.These architectures for SDN-IoT are provided as follows.
− Plugin IoTDM architecture [58]: the primary function is to manage and store M2M-compliant data from IoT devices.This is because of common protocols for a wide variety of end-user programs and the potential for further plugins to be developed to link various technologies in industrial settings.However, an important IoTDM plugin relies on the OpenDaylight controller.− Cluster head architecture [59]: most commonly, it is used to set up specialized subsystems within larger ones by connecting the many communication hubs within a cluster.This is because policies in the underlying network have been adopted based on how traffic is actually being used.However, the needs of the subsystem as a whole may have an impact on the flow of things.− Edge computer server architecture [59]: efficient use of available computing resources.This is due to improve the response time of time-sensitive services by decreasing the amount of traffic on the network connecting them to the cloud.However, does not replace cloud-based servers, making the solution harder to implement and potentially costlier.− Distributed network control architecture [60], [61]: management and command of isolated parts of a system.The ability to more quickly and precisely regulate the various parts of the network.Lack of a single point of failure throughout an industrial network.However, the solution becomes more complicated because of the need to coordinate multiple autonomous subsystem controllers.

The implementation of SDN controllers for IoT
This subsection explains the implementation of SDN controllers for IoT.This subsection only focuses on centralized, distributed, and hybrid.The description of these implementations is provided as follows.
− Centralized: complete network oversight and management.Keeping things easy for app developers by only having to worry about one set of system requirements.In large networks, bandwidth and control latency difficulties can be handled by a single controller.There are constraints on the system's ability to scale and resist failure.− Distributed: improved capacity, scalability, and responsiveness to link failures, flow requests, intrusions, and other network events.Signifies an excessive amount of control traffic in the network and hence a need for a dynamic load balance.There are a number of obstacles, such as interoperability, consistency, and controller placement.− Hybrid: permits enterprises and operators to ease into SDN networks.Having fewer demands placed on the SDN controller improves its responsiveness and scalability.Numerous restrictions arise from the wide variety of network gadgets that converge here.The configuration, topology, and management of a system are all intricately intertwined.

RESEARCH STUDIES IN SDN-IOT
This section reviews the achievement of an overall SDN-IoT solution in various research studies.There is a proposal for improving SDN's applicability in the IoT as a whole in [62].A control layer comprising i) monitoring, ii) administration and optimization, and iii) acquisition, broadcasting, and processing based on the established area is also proposed by Wan et al. [63] to provide a comprehensive software definition of the IoT.
There are times when the scope of an SDN installation is severely limited.For instance, the almost predictable behaviour of wireless networks in IoT given in [64], [65] is achieved by having a centralised element (an SDN controller) take all decisions.Thus, the controller of SDN is responsible for generating routes and assigning time/frequency slots, among other factors.This implementation's drawback is that it can only be used with predictable flows, as those seen in IWSNs.The difficulty lies in extending this concept to scenarios that use the same network architecture but feature heterogeneous flow and dynamic behaviour [62], [66].
While OpenFlow isn't the only SDN-friendly specification, its guiding principles have been widely adopted, making it one of the most widely implemented criteria, as suggested in [67].So, OpenFlow-based SDN has been used in real-world applications like corporate intranets and data centres.OpenFlow has a great deal of backing from the published works as well.In addition, certain authors, such as Hu [68], deal with all the needs for the efficient and practical deployment of OpenFlow/SDN systems.OpenFlow is also the gold standard in the framework for industrial automation described in [69].Real-time reservations are a huge step forward for latency-sensitive applications, and they are presented in detail in [70].
Some of the issues with deploying SDN in IoT communication processes are described in [63], including the fact that: due to the huge amount of entire networks in IoT, distributed controllers are needed, and the configuration of a forwarding plane mentioned by software is a challenge as OpenFlow has improved and the commuter's flow chart has developed into a various structure table with more areas.The greater the significance of SDN's application.Specifically, Abdellatif et al. [71] is concerned with a larger-scale industrial network, rather than, say, the network of a single factory.The primary goal in this case is to supply network services dependent on the requirements of the applications being used.
Radanliev et al. [72] offer a summary of international projects focusing on various areas of industry 4.0.None of these concerns are tailored to industrial communication networks, nor do they address the technical challenges of today and the question of whether or not they will grow worse in the future.One possible replacement for traditional server hardware when implementing SDN in IoT is the utilization of Raspberry Pi (RPi) boards, as discussed in the aforementioned literature.Ahmed et al. [73] use a Raspberry Pi as a software-defined controller in place of more conventional proprietary programmable logic controllers (PLCs) in an experiment verifying their suggested design (PLC).The literature review also revealed that RPi plates are used as SDN switches.
Utilizing optimization mechanisms that guarantee the necessary QoS allows SDN to be used in industrial settings.The primary purpose of optimization algorithms is to identify the paths through a network that, given a set of goals, are the most effective at bringing about those goals.Optimization techniques like the L 1 norm used to minimise wait times are one example [73].
Industrial networks have a hard time providing the QoS required by some mission-critical applications like fault-tolerance, advanced control, remote monitoring, and predictive maintenance Bi et al. [74].As suggested in [73], network technologies including WirelessHART, WebSocket, and constrained application protocol (CoAP) can be employed in SDN system area in IoT to create a SDN that meets the minimal needs of all IoT applications.The PROFINET standard was chosen for the control and data plane separation that materialised the suggested SDN standard in the study described in [69], thus the results are intriguing.

❒
ISSN: 2302-9285 The challenges and worldwide objectives that may arise in IoT systems were addressed by Qin et al. [75], who began an enticing endeavour to simplify various operation features in IoT scenarios by shifting them to the link layer.Maximum acceptable delay, minimum data rate, and package loss for each autonomous flow are instances of packet processing [75].Li et al. [59] conducted a classification that split traffic into regular and unexpected flows, although this is only one possible way to classify traffic.Effective security is the topic of the research by Babiceanu and Seker [76].Additionally, Radanliev et al. [72] demonstrate how automation and AI can lessen IoT hazards.

5.
CHALLENGES AND FUTURE DIRECTIONS Despite these benefits and available technologies, additional research is required before complete integration of edge and fog computing on top of IoT applications can occur.The research community has significant issues, which we explore along with some new concepts and guidelines.
− Scalability: network architectures must be scalable if they are to effectively meet the needs of an increasing number of clients, such as mobile devices operating on the network's periphery.− Service availability: for real-time applications like video streaming, which necessitate a short time for processing and response, availability is crucial in network architectures.However, in vehicular edge computing, in which many variables can impact the service availability, such as vehicles' mobility and obstacles, availability is especially crucial.− High mobility support: most IoT devices, including smartphones, cars, and drones, are always in motion, which causes connectivity issues between them and servers.− Energy management: with so many moving parts, the fog computing architecture is bound to have a high energy footprint and corresponding cost.− Security and privacy: one of the most pressing concerns regarding edge and fog computing networks is the matter of security.Various tools, including cryptography, and hash functions, can accomplish this.To ensure the safety of data exchanges in an IoT network utilising fog computing, it must be implemented.

CONCLUSION
In light of the exploding number of Internet-connected devices, ensuring a safe and secure infrastructure has become a major headache for IT administrators.Keeping a network of this size and diversity up and running securely is no easy feat.SDNs have emerged in the past few years, giving network operators more leeway in terms of how they can manage and programme their network.Such a network overcomes the constraints of older ones.Therefore, this paper describes the concept of SDN and the IoT and provides an explanation of the SDN-IoT solution.Then, this paper also reviews the research studies in SDN-IoT and discusses the challenges and future directions for this paper.