论文部分内容阅读
软件定义网络(Software-Defined Networking,SDN)是一种新型网络架构,已经引起了业界的广泛研究和重视。随着用户需求的增大,网络规模也日益庞大,SDN网络也不例外,针对此需求,多控制器架构部署应用而生,而多节点架构必定存在负载分布不均衡问题。此外,SDN网络的提出使得我们可以利用SDN特性进一步研究已经存在的网络问题,这其中就包括服务器集群的负载均衡问题。结合软件定义网络的特点和需求,本文主要研究SDN网络中多控制器和服务器集群的负载均衡机制,并且分别提出了优化方案。本文的主要研究内容包括以下两个方面:(一)提出了基于交换机组的多控制器负载均衡方案。本方案在基于交换机迁移策略的基础上,设计了负载监测,负载均衡决策和交换机迁移三个模块。其中,负载监测和交换机迁移模块部署在本地控制器上,分别负责控制器和交换机负载的监测、通告和交换机迁移的实现。负载均衡模块部署在全局控制器上,负责处理过载控制器。本论文在这个模块中设计了交换机组-目标控制器组选择算法、最优交换机组-目标控制器组选择算法和最优目标控制器组选择算法,从全局最优角度出发,在管理成本、迁移成本和负载均衡度三个条件的约束下,选择出最优的交换机组和目标控制器组。算法不仅优化了网络开销和负载均衡度,而且还避免了交换机频繁迁移和多个交换机被迁移到同一台控制器而导致的过载问题。另外,本论文提出交换机组思想,以及在交换机迁移过程中利用多线程机制将待迁移交换机组的所有交换机同时迁移的方法,提高了方案的时间效率。(二)提出了基于动态自适应通告策略的服务器集群负载均衡方案。该方案在基于综合负载的负载均衡策略基础上,设计了负载推送模块和负载均衡模块,分别部署在服务器和控制器上。其中,负载推送模块中设计了服务器推送负载给控制器的策略,此策略中综合考虑了服务器计算压力、控制器获取服务器状态的实时性和网络开销这三个因素,采用了可变周期的运行状态读取方式,使得服务器在不带来太大计算压力的前提下能够及时获取状态变化。同时,此推送策略在减小因推送服务器运行状态带来的网络开销的基础上,提高了控制器获取服务器运行状态的实时性。负载均衡模块中设计了多队列的目标服务器选择算法,此种方法不仅提高了服务器负载的均衡度,而且优化了由大流导致的服务器快速过载的问题。