It is expected that future wireless networks will be highly integrated and a qualitative change will occur regarding the use of high frequencies and wide channels. In addition, the networks are expected to run a large number of base stations and serve high density of users. Future communication networks are dynamic and may also be without cells and massive-MIMO. They will be intelligent, flexible, and highly resilient [8]. ML is a promising tool for efficient management of future wireless networks.
2.5 Software-Defined Networks
Current networks are characterized by their distributed nature, as each node (router/ switch) has the ability to view and act on the system partially and locally. Thus, global learning from network nodes that have a holistic view on the system will be very complicated. Further, current network designs impose significant limitations on network performance, especially under high traffic conditions. Consequently, the increasing demand for reliable, fast, scalable, and secure networks can adversely affect the performance of existing network devices due to the need to deliver a large volume of data both in the network infrastructure and devices. Current network devices lack the flexibility to handle different types of packets that may carry different contents due to the basic implementation of hard-wired routing rules. In addition, the networks that form the backbone of the Internet must be able to adapt to the changing conditions without needing much effort for hardware and software adjustments.
In order to reach a solution to the above discussed limitation issues, the rules for data processing must be implemented through software modules and not embedded in the hardware. This approach enables network administrators to have more control over the network traffic, and thus can greatly improve the network performance and effectively use the network resources. This innovative approach is called Software-Defined Network (SDN) [9].
SDN was released as open source software in 2008 with the OpenFlow project at Stanford University. It decouples the control and data planes in routers and switches, allowing the underlying infrastructure to be separated from application and network services. Thus, SDN separates the decision-making modules about where traffic is sent [the control plane (CP)] from the underlying systems responsible for forwarding the actual traffic (the data plane). Network resources are managed by a centralized controller which performs as the network operating system. The controller can dynamically program the network in real time. It collects information about network status and operation details. Therefore, the controller can globally detect available network resources and requirements. This paradigm creates a global view of the entire network, enabling global automatic management and control without needing to configure devices individually. The SND technology has several advantages:
Efficient utilization of network resources.
Enables development of programming-based solutions for network configuration and management.
Provides a perfect ecosystem for ML paradigm and intelligent applications.
Simple and improved network management, control, and data manipulation, since network administrators can remotely alter the network configuration and operation as response to dynamical changes in the network.
High speed, through optimal handling of the traffic load.
Adopts the virtualization technology, which allows running multiple applications over the same shared hardware.
Combining AI and SDN has been attracting researchers in recent years to develop network management and operation mechanisms. The SND architecture provides centralized control of network policies and enables administrators to effectively overcome problems with ML methods.
The architecture of SDN is comprised of three planes:
Data Plane: comprised of the forwarding devices, i.e., switches and virtual switches. Unlike distributed network architectures, in which switching and routing devices listen to events from neighboring network elements and make decisions based on a local view, switches and routers are responsible for forwarding, dropping and modifying packets based on policies received from the CP.
Control Plane: The CP is considered to be the brain of SDN. It can program network resources and dynamically update the rules of forwarding, in addition to making the management of the network flexible through the centralized controller. The centralized controller controls communication between switches and applications. On the other hand, the controller exposes the network status and summarizes the information to the application plane. Also, the CP translates the requirements from applications to specific policies and distributes them to devices. Further, it provides the basic functions needed by most network applications such as routing algorithms, network topology, device configuration, and state information notifications.
Application Plane: composed of network applications that define management and optimization policies to be applied on the network. Applications can get network state information from the controller and implement the needed control to change network behavior.
The inclusion of ML in SDN may require a new architectural structure that differs from the traditional of SDN. In [10], a new plane is proposed called the knowledge plane KP as shown in Figure 2.6. The KP hosts ML algorithms that use statistical learning to learn the network behavior. These algorithms contribute to decision-making. Hence, the KP in SDN communicates directly with the controller, which, in turn, asks the network elements to implement decisions.
The controller gets information from network devices through the OpenFlow protocol. A server is used to process information and run ML algorithms. The execution of recommended commands is the responsibility of the controller which is connected to the KP. On the top, the application plane is running to manage the network.

Figure 2.6The SDN architecture with knowledge plane.
2.5.2 The OpenFlow Protocol
The open source OpenFlow protocol enables the realization of the SDN technology. It has been used for researching different protocol designs over existing hardware. OpenFlow is widely used for the communication between the control and the data planes. It is developed by the Open Networking Foundation (ONF). It is the interface between devices and the SDN controller, providing the rules for switching control features from network devices to the central controllable software. It has a controller and a switch, functioning as secure channel as shown in Figure 2.7. The controller can modify, discard, and send packets to the switch. The path of the packet is determined at the times of packet transmission. OpenFlow calculates the path and sends it to the switch, which stores it in the Flow Table. When a switch receives a packet, it looks up the flow table and sends it along the stored path [11]. The primary task of the switch is to exchange data using flow tables, which are controlled by the controller of the CP. This architecture simplifies the design of switches and reduces their tasks, because they have become just data deliverers, without being required to perform any of the control functions.
Figure 2.7The OpenFlow architecture.
Читать дальше