论文部分内容阅读
近年来云计算等新兴技术迅速崛起,随之带给数据中心的是巨大的网络流量压力,传统网络架构难以对流量进行高效地调度,以至于无法满足其上应用对于性能的需求。软件定义网络(Software Defined Network,SDN)作为一种新兴的网络体系架构,彻底颠覆了传统网络对流量的调度方式。它将网络数据的控制与转发分离,使其具有集中式架构的特性,能够掌握全局的网络视图。这为解决数据中心流量调度,实现全网负载均衡提供了很好的思路。本文主要围绕着SDN环境下的数据中心网络负载均衡问题进行研究。根据负载均衡算法的分类标准,本文分别针对确定性算法存在的大流调度不均匀,易引发网络拥塞等问题,以及非确定性算法存在的收敛速度慢,搜索过早停滞等问题,进一步提出了两种改进算法。1.基于大流分布的负载均衡算法。该算法以全网链路负载均方差为优化目标,先是利用Yen算法对大流的初始候选路径集合进行计算,然后通过选择大流分布度相对较低的路径缩小相应候选路径范围,最后则将可用负载度最高的路径作为最终的大流调度方案。经过实验仿真,该算法与其它经典的确定性算法相比,在各个方面都获得了更优的性能。2.基于蚁群改进的负载均衡算法。该算法以平均链路带宽利用率为优化目标,首先,根据网络链路的负载情况,差异化地初始全网链路信息素。然后,利用加权评估的思想,设计了一种综合启发函数。其次,针对链路信息素更新规则,结合奖惩制度,提出了一种最优最差全局信息素更新规则,同时,依据分段的策略,设计了一种阶段性信息素挥发系数。最后,为了防止链路间信息素随算法迭代次数的增加而变得差距过大,这里将链路上的信息素值限制在一定范围内。经实验仿真,该算法与其它确定性和非确定性算法相比,在各个性能指标上均占有一定优势。此外,本文基于上述算法设计并完成了整个数据中心网络负载均衡系统,该系统主要包括拓扑发现模块、信息采集模块、大流检测模块、负载均衡监控模块、路径决策模块、流表安装模块。其中,路径决策模块用来承载本文所提出的负载均衡算法,其它模块则用来辅助路径决策模块,为其提供必要信息,以及将其生成的流调度方案转化为对应的流表进行下发。这里针对流表更新问题,进一步提出了一种基于条件分类的顺序流表更新策略,以确保流表更新的一致性,避免丢包现象的出现。