论文部分内容阅读
随着“云”概念的兴起,云存储、云计算、云视频、云安全等云服务成为了炙手可热的红人。而在这股云浪潮的背后,则是各大云服务提供商建立的大型数据中心,通过成千上万的服务器组成集群,配套对应的存储系统、网络互连设备等各种要素,借助虚拟化的手段充分利用计算、存储和网络等各类资源。在规模如此庞大的数据中心内部每个服务器实例随时都有可能有各种不同应用向网络中注入流量,如何将内部巨大的负载进行均衡使网络资源得到充分利用是个亟待解决的问题。OpenFlow技术源于斯坦福大学的一个研究性项目,后逐步发展成为SDN的概念,而OpenFlow自然成为了SDN使用最广泛的网络协议。OpenFlow通过集中式的控制器将控制层面从传统交换机中剥离,以下发流表的方式指挥交换机处理网络流量,交换机只负责根据流表转发。OpenFlow这种流表方式的管理使得网络数据的处理层次扁平化,能满足更细粒度的处理要求。本文针对数据中心常见的胖树网络拓扑,在使用单跳贪婪选路的DLB负载均衡算法基础上,提出了一种基于OpenFlow的改进的GLB负载均衡算法,该算法预先计算出网络中所有主机两两之间存在的所有路径,每条路径包括从源主机至目的主机所需经过的所有链路,算法基于这条路径上所有链路的当前可用带宽为每条路径生成一个权重,用以衡量该路径的均衡程度。当网络中有数据流需要进行选路,算法根据源和目的主机找出所有可用路径,选出权重最高即均衡程度最好的路径作为算法输出,避免了单跳贪婪选路可能获取的局部最优路径。本文使用OpenFlow的方法,在OpenFlow控制器POX平台上以模块的形式实现了这两种算法。然后在经过自定义修改的Mininet仿真平台上,通过搭建胖树拓扑的数据中心网络环境,采用随机流量场景,经过实验得出数据,根据平均带宽利用率、平均报文传输时延和链路负载抖动等性能指标,分析验证了本文所提出的GLB算法在负载均衡性能优于DLB算法。