**4. Software-defined internet of things architecture**

SDN architecture plays an important role for security purposes and traffic analysis. This architecture will help in SDN-IoT network for security purposes which is better than traditional internet in many different ways. As the name implies SDN working principle is based on software programming and control by the control plane. The advantages of an SDN network over the traditional network are it helps to modify the software functions based on dynamic requirements really quickly which is a great concern of traditional networks where the software functions are fixed. The inability for scaling, poor network security, and performance are the great concern in the traditional network which has been mitigated in SDN architecture.

Recently IoT is the fastest growing technology with dynamic characteristics. Traditional internet has static constraints which is the most difficult barrier to work with IoT networks. The dynamism and centralized control architecture of SDN helps IoT to be a great partner of SDN rather than of traditional internet. Also, SDN provides debugging tool which helps the IoT environment to enhance security which earlier was not possible on the traditional internet.

**Figure 3** illustrates SDN with IoT architecture. This configuration divides the network into three layers, the infrastructure layer, control layer, and service layer or application layer.

The infrastructure layer is divided into two sublayers sensing layer and the communication layer. The sensing layer consists of different smart IoT devices and the communication layer consists of different data forwarding devices. The IoT devices help to create different IoT applications. These IoT devices collect a large volume of data from the physical plane. In comparison to SDN architecture, the infrastructure layer is equivalent to the data layer. The infrastructure layer consists of Open Flow (OF) switches which work exactly the same as what OF works in SDN architecture.

The next layer in SDN-IoT architecture is called the control layer which contains an SDN controller or a number of controllers. This layer is responsible for global controlling and monitoring communications between the infrastructure layer and the application layer. Multiple controllers can help in this regard if anyone fails since controllers are communicating with one another. This type of configuration called the multi-controller master–slave deployment model, where one controller act as a master controller and others are act as slaves waiting for the instructions of the master

#### **Figure 3.** *Software-defined internet of things architecture.*

controller if any one of the slave controllers fails to follow the instructions of the master controller. There are more than 30 controllers available up to now where some of them are open source and others are proprietary with their own programming languages and interfaces.

The application layer is responsible for different IoT services, such as smart home and smart city. This is also called the service layer in standard SDN-IoT architecture. The control layer communicates using the D-CPI interface to get required data from the sensing layer and using the A-CPI interface communicates with the application or service layer.
