论文部分内容阅读
随着互联网走入人们的日常生活,计算机网络特别是云技术的不断进步与发展,使得如何提高互联网的综合性能已成为时下热门的话题和关注的焦点,如何能适应网络使用环境迅速发生的变化成为科研人员需要攻克的难点。得益于技术的飞跃,计算机和存储价格都大幅下降,而基础IT设施的提升却成了现在的首要问题。显然网络领域亦是如此,如何在现有的网络设备及协议基础之上,对已有网络进行创新性试验变得越来越困难。近年来OpenFlow技术的提出为网络创新研究开辟了又一新篇章,OpenFlow也逐渐成为引发下一波网络革命的关键技术。由于网络应用的激增和快速成长,如何在数据中心网络中均衡负载是人们急需解决的问题。OpenFlow协议通过给用户提供一种方便使用的,可编程操作的网络流控制方法,已经成为了一项用于解决负载均衡问题的关键技术。但是在目前来看,一些已有的基于OpenFlow的负载均衡技术都关注于网络初始化阶段的流状态,这种较为静态的方式并没有考虑到网络流在传输过程中可能遇到的种种问题,如网络参数的变化、链路状态的突变等等。为了解决这一问题,本文首先提出了一种全新的单跳动态换路算法(single-hop LABERIO)来实时地、全局地均衡中心化控制分布式网络中的负载。它可以很好的整合和利用整个网络的信息,通过一个中心控制器,使用一定的算法,监控全局的链路资源使用状态,从而动态地调整流的路径。在这种情形下,当负载均衡状态监视参数超过经验阈值时,该情况将被反映给中心控制器,之后,中心控制器再对计算出的最大负载链路上的最大流进行调度。另外,初始状态的流选路采取Max-MinCapacity算法,即从每条可用路径的最小可用带宽中选出最大值,对应的路径获得最高优先级,作为初始选路规则。然而这种单跳换路方法的缺点也是很明显的,当网络拓扑结构不是全相联,或者可替代单跳路径少而长时,换路的代价将激增。针对这些缺点,我们又提出了一种多跳动态换路算法。当链路负载失衡时,找出一条完整的最大流,将其整条路径替换。在数据传输过程中,我们周期性地将最拥挤的N跳放入一个目标集中。所谓最大流,即覆盖该目标集的最大子集的数据流。这种算法对于胖树型拓扑网络的负载均衡效果较为明显。综上所示,本文提出了适用于两种网络拓扑结构的动态负载均衡方法,这两种方法都充分利用了OpenFlow交换机和协议的特性,并与其他典型路由算法(包括贪心和轮询)相较有更高的性能,显著减少了端到端的任务传输时间。最后,我们通过实验来验证所提出的算法性能,并与其他一些现有方案进行比较分析。