Font Size: a A A

The Design And Implementation Of Load Balance For Multiple Controllers In Software Defined Network

Posted on:2018-07-31Degree:MasterType:Thesis
Country:ChinaCandidate:J K YuFull Text:PDF
GTID:2348330518496170Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the more and more large scale of networks, such as the data center network, a single and centralized controller becomes a bottleneck of network scalability. So the deployment of multi-controller network architectures emerges. The multi-node deployment have the problem of the uneven load distribution, the multi-controller architecture is no exception.And the deployment of multi-controller network architectures and the communication among controllers also have no detailed plans and uniform standards. The purpose of this paper is to study the load balance for multiple controllers in SDN, based on the requirements and characteristics of software-defined networks. In this paper, the main research contents include:(1) To resolve the problem of the uneven load distribution among controllers, the paper propose a load balancing mechanism based on load informing. This mechanism is subdivided into four processes: load measurement, load informing, balance decision and switch migration. In the load measurement process, this paper proposes the metrics of controller load. They are used to evaluate the level of the load of controllers and judge that whether a controller is overloaded. In the load informing process, this paper also proposes an inhibition algorithm to reduce the frequency of load informing for lowering the controller overhead and the communication overhead on the control layer. In the balance decision process, this paper designs many decisions, such as deciding which switch should be migrated and which controller should be selected to accept the switch. Finally, for shifting switches effectively and simply, the paper also designs a migration procedure and an interact protocol during migration.(2) The author deploys a multi-controller architecture with some open source software-defined networking projects and cluster tools. In the deployment of the architecture, this paper chooses Mininet to simulate the data layer. By Python APIs of Mininet, the author designs a custom network topology. And the paper selects Floodlight as a controller. In controllers, the author adds a module of calculating the Packet-In rate to collect the rate of Packet-In packets from the data layer. With the help of JGroups, this paper achieves the Client class and the Receive class to complete the communication among controllers. Moreover, with Hping3 installed in virtual machine, the paper design specific command formats to simulate the load of the controller. In the deployed multi-controller architecture, this paper completes the secondary development of Foodlight to achieve the above load balancing mechanism. The main functions include measuring the load metrics, inhibiting the informing of load and migrating switches.(3) This paper designs and achieves the simulation experiment of the above load balancing mechanism and evaluates the mechanism. This paper evaluates the above mechanism from network throughput and completion time. The results show that this mechanism achieves the load balance and reduces the completion time.
Keywords/Search Tags:software defined networking, multi-controller architecture, load balance, load informing
PDF Full Text Request
Related items