چكيده به لاتين
In recent years, Software Defined Networks (SDN) with centralized controller based on Open Flow seen as one of the most promising paradigm for shift from traditional network to the future Internet by enabling programmability, easier management and faster innovation. Simultaneously with the rapid growth of networks, increasing the number of switches and traffic on the network, centralized control has become the single point of failure in the SDN thus increasing network vulnerabilities against attacks, disturbances and instability of network . In addition, centralized SDN networks suffer of other challenges including scalability, overhead traffic on domain controllers, require high processing power, storage capacity and throughput of large volumes of data traffic that should be sent to answer. To improvement these challenges and achieve high availability, fault tolerance and higher reliability, distributed architectures for control plane were proposed with maintaining centralized view of the network. In this type of architectures, how to allocate switch to controller and load balancing between controllers is in order of importance as well as more efficient use of network resources. In most previous load balancing methods, the mapping between switch and controller is static and have not flexible and dynamic mechanism for distributing the load between controllers. So, are not able to adaption with dynamic changes of network conditions and traffics.
To meet these challenges in this thesis, we present a dynamic solution, in accordance with the conditions and improvement of fault tolerance capabilities for load balancing between controllers in distributed architectures. The proposed solution by collecting information about the amount of load of each controller and compare it with the threshold and balance rate, if load balancing is necessary, deals to select a suitable switch to migration to another controller that has the least amount of load. The appropriate switch is one that it’s migration resulting to improve network load balancing.
In implementation of this method, we build the prototype system on floodlight controller and virtual switch called Open V Switch Kernel Mod in virtual machine to demonstrate our design and test the performance of our algorithm. Also, the proposed method reduces about 70 % packet_in processing time in overloaded controller, improve about 15% average memory consumption, and increase about 50% throughput by applying better lod balance between controllers.