## 1 Introduction  
In recent years, there has been a rapid expansion of the Internet and the continuous development of information and communication technologies such as 5G [1], cloud computing [2], Internet of Things (IoT) [2, 3], and Big Data [4]. However, the evolution of these technologies requires network operators and Internet service providers (ISPs) to adopt new strategies and technologies to meet the emerging traffic demands that cannot be met by traditional networks. The traditional network design originated as a simple distributed system to provide best-effort packet communication services in a reliable environment using network devices to forward packets and make routing decisions by implementing packet routing rules. The traffic accounts for routing tables on devices such as switches/routers. However, with the rapid evolution of networks, the constant increase in devices and the excessive consumption of bandwidth lead to specific performance problems such as a higher rate of packet loss, a more significant increase in end-to-end transmission delay, and, in the worst case, network collapse [5]. Software-defined networking (SDN) is an emerging centralized network architecture technology that differs from traditional networks by decoupling the control plane from the data plane [6]. The data plane is responsible only for forward and switch data and consists of the network's physical infrastructure, such as switches and routers, both physical and virtual, accessible through an open interface. The control layer is the essential layer of the architecture, consisting of SDN controllers that centralize the intelligence and management of the network and provide a global view of the network [7; 8]. SDN has a third layer, the application layer, which provides users with services such as traffic engineering, quality of service, and network security. The SDN architecture also has two communication interfaces that allow the controllers to interact with the other layers:  
* Southbound interface: Provides a communication environment between the controller and communication devices. Installs the appropriate flow rules in the device forwarding table. OpenFlow [9] is the open-source community's most widely implemented Southbound interface standard. * Northbound interface: Provides communication between the SDN controller and network applications running on the application plane. This communication is critical, as each network application's requirements can be very different. Applications can communicate with the SDN using various APIs, such as ad hoc and REST APIs, to request network resources or services according to their needs. SDN promises to solve several problems in traditional networks due to its flexibility. However, there are still some open problems and challenges, such as the design of routing algorithms that guarantee QoS. The SDN controller typically employs the shortest path method when an application requires the transfer of a flow between end-to-end networks [10]. As the variety of services increases, so do the requirements for service improvement, which include latency, bandwidth, packet loss rate, and network stability. The conventional best-effort routing algorithm results in the network architecture having certain constraints in order to optimize the performance parameters for the diversity of demands [11]. Figure 1 shows an example of a data flow that requires a path with a bandwidth of more than 80 Mbps and a delay of less than 7 ms. In the case of the traditional routing algorithm based on the shortest path, the traffic flows along the path R1,R2,R3,R7, which has the following values: bandwidth = 70 Mbps and delay = 8 ms. This does not meet the criteria for bandwidth service. This path may result in poor service performance and cause problems such as congestion. Therefore, it is helpful to consider different criteria for selecting a good path. For example, using the highest bandwidth path (R1,R2,R5,R6,R7) results in a bandwidth of 90 and a delay of 6, which meets the data flow requirements.