## 2 Background
### SDN for IIoT Networks  
Nowadays, industrial communication is described by the well-known automation pyramid, which shows the hierarchical planes of automation systems [28]. The communication requirements inside various planes of the hierarchy are different from one plane to another, such as the timelines of the horizontal communication inside the same plane, which is one of the most important characteristics. Indeed, networks play a central role in the implementation of smart factories. Principally, the networks shall allow the platform to transmit data, commands, and other information between the shop floors and the cloud. In other words, the networks are used to integrate the internal and external resources in a smart factory. Therefore, it is crucial to achieve high network scalability and flexibility [29]. The best research efforts in this field have been focused on making networks programmable and, consequently, dynamically configurable. The SDNs guarantee low hardware usage by using a software version of a centralized controller, which allows for managing the networks and satisfies the strict network requirements of smart factories [30].  
As the IIoT characteristic, the networks become populated by a large number of IoT devices with heterogeneous connections. An example where an SDN is used to facilitate IoT networks can be found in [31], where specific service requirements are translated by a central controller into network requirements (e.g., a minimum data rate or the maximum tolerable delay or packet loss for each separate flow). [PERSON] et al. [10] have proposed an SDN-enabled architecture fitted to the IIoT context able to determine network resource allocation and accelerate information exchange mechanisms through an easily customizable networking protocol. Furthermore, with the support of SDN-based architectures, some innovative industrial applications can be realized through well-defined APIs.  
In the last few years, both academia and industry have made a lot of efforts for the standardization of software-defined IIoT networks, but compared with the traditional networks, the complexity of IoT networks is greatly increased. Applying the SDN technology to IIoT networks involves several practical implementation issues [32]. First, there is the design of a southbound interface that is used for the interaction between the controller and the physical layer. Due to the higher device heterogeneity, there is a risk of excessively consuming the devices' energy for exchanging OpenFlow messages with the controller. Second, there is the forwarding plane delay. As the SDN works in a centralized manner, all new data are constantly forwarded toward the controller, this can result in forwarding delays and even packet loss. Lastly, there is the management complexity of the controllers to ensure the whole system's stability. For instance, in order to achieve the programmability of the network, system control applications must be allowed to have several access privileges for system control, which increases the probability of system crashes.  
In conclusion, there is no one-size-fits-all solution, and consequently, the SDN paradigm is not suitable for all IIoT scenarios. An SDN applied to the IIoT environments solves several open issues, but its applicability depends on the network's scale and complexity.