چكيده به لاتين
With the advent of software-defined networks (SDNs) and according to their scalability, next-generation networks will be able to service many users. Software-based networks are a network model that will overcome many of the challenges of traditional networks. The basic principle in these networks is to separate the control plane of the data plane, including routers and network switches. To communicate between these two levels, an interface such as the OpenFlow protocol is used to collect information from the traffic data of the network and dynamically adjust the rules in the OpenFlow switches.
It is essential to distribute workloads between network servers in such a way as to increase throughput and reduce response time. Due to the existence of a central controller in the software-defined network and, therefore, global visibility on the network, and the ability to programing, it is possible to use artificial intelligence methods to decide for load balancing in the network. For this purpose, in this research, we have tried to use the deep reinforcement learning algorithm to distribute the load between the main servers of the network at any given time and dynamically. In the load balancing algorithm, using the exchange of messages between the controller and switch, as well as by sending informative messages from the servers, information indicating the current state of the environment as input to the deep learning algorithm are being sent. The algorithm learns which one is the best destination for the user request, and so requests received from the user by the controller are assigned to one of the servers. In comparisons based on three criteria with three standard algorithms in previous researches, it was found that the proposed method would intelligently and efficiently distribute the load among the existing network servers.