基于SDN使用胖树拓扑结构的数据中心网络负载均衡方法技术

技术编号:12428308 阅读:293 留言:0更新日期:2015-12-03 13:03
本发明专利技术公开了一种基于SDN使用胖树拓扑结构的数据中心网络负载均衡方法,它包括:能实时动态更新网络链路负载,从整个网络拓扑中在通信的任意两个主机之间搜索出一个子拓扑,然后从子拓扑中找出一条链路负载最小的路径。这条路径就是两个主机的通信路径。本发明专利技术考虑了整个拓扑链路负载情况,使用以链路负载和相关交换机的状态信息作为搜索权重的Dijkstra算法搜索链路负载最小的路径。本发明专利技术算法复杂度较低,在控制器端存储的信息比较少,保证网络通信质量,减少数据包的丢失率,增加网络吞吐量,保证了网络的负载均衡。

【技术实现步骤摘要】

本专利技术涉及数据中心网络和软件定义网络领域,具体涉及一种SDN下的使用胖树拓扑结构的数据中心网络负载均衡方法。
技术介绍
随着互联网规模的越来越大,存储在互联网上的数据信息也越来越多,为了存储这些信息,数据中心网络产生。数据中心是拥有复杂的网络设施,复杂的网络通信和存储系统。如何在数据中心选择一条比较空闲的链路,如何在高并发情况下保证任何两个主机之间的通信质量,提高中心网络的带宽利用率,增加吞吐量和加强网络数据处理能力等,都需要时时刻刻调整网络中数据包的转发路径,这样可以减少网络拥塞和数据包的丢失率,保证中心网络的两个主机的通信质量。软件定义网络(Software Defined Network, SDN ),是一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow协议通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。OpenFlow协议是一种新型的网络交换模型,具有的特点:第一,设备必须具有商用设备的高性能和低价格的特点;第二,设备必须能支持各种不同的研究范围;第三,设备必须能隔绝实验流量和运行流量;第四,设备必须满足设备制造商封闭平台的要求。软件定义网络是由控制器和OpenFlow交换机组成,SDN控制器是软件定义网络(SDN)中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于如OpenFlow等协议的,允许服务器告诉交换机向哪里发送数据包。SDN控制器是一种由高级编程语言编写的一个应用程序或者是一个小型的操作系统(OS),如现在有 NOX (C++),POX 和 RYU(Python),Floodlight (Java)。控制器不控制网络硬件而是作为软件运行,这样有利于网络自动化管理和未来的网络升级。基于软件的网络控制使得集成业务申请和网络更容易。现有的基于SDN技术的胖树结构的数据中心负载均衡方法,一是:在计算路径时没有考虑整个拓扑的链路负载情况,导致搜索出来的路径负载情况不是最小;二是:在计算路径时计算复杂度尚和在SDN控制器端存储的彳目息比较多,当网络规模增加时,网络控制器存储的信息会急速增加。
技术实现思路
本专利技术的目的是针对现有技术的不足而提供的一种基于SDN使用胖树拓扑结构的数据中心网络负载均衡方法,该方法能够保证数据中心网络中的任意两个主机之间动态选择最优通信路径。实现本专利技术目的的具体技术方案是: 一种基于SDN使用胖树拓扑结构的数据中心网络负载均衡方法,其特征在于该方法包括以下步骤: 第一步、在SDN网络启动和SDN网络控制器获得整个网络的胖树拓扑结构后,周期性检测更新每条链路上的链路负载情况; 第二步、当网络中的任意两个主机将要通信时,源主机根据ARP协议及网络的胖树拓扑结构找到目的主机的物理MAC地址,在胖树拓扑结构下网络控制器分别从源主机和目的主机处自底向上搜索出一个子拓扑; 第三步、使用单源最短路径(Dijkstra)算法,在子拓扑中找到一条负载最小的路径,网络控制器将该负载最小的路径下放到各交换机中,两个主机之间开始通信。所述周期性检测更新每条链路上的链路负载情况,具体为:设置每隔4秒交换机端口信息事件发生一次,然后计算更新链路负载信息,算法如下: IF full_topology is ready THENupdatetopocost ()END IFELSE: 暂停UPDATETOPOCOST():1F PortStatsreveived happens THEN cost 一 (ReveivedBytes-LastReceiveBytes)/4update PortToByteEND IFo所述网络控制器分别从源主机和目的主机处自底向上搜索出一个子拓扑,具体为: 两个主机通信时,源主机发送ARP数据包,交换机检查在交换机中是否存在转发此数据包的路径;如果没有,交换机就把此数据包封装一个PACKETIN数据包,把该数据包发送给网络控制器;网络控制器查询存储在控制器中的信息,找到与该PACKETIN数据包中目的主机IP对应的物理地址,然后控制器以此物理地址封装成一个ARP(REPLY)数据包返回给源主机;控制器根据源主机和目的主机物理地址,同时向上搜索,搜索开始时,初始化一个空集合S,每向上搜索一层,把这一层搜索到的交换机及与交换机相连的链路加入集合s中;同时判断在这一层搜索到的交换机是否相同,如果不相同,就继续向上搜索,直至在某一层,同时搜索到的交换机完全相同,搜索结束,所得的集合s就是两个通信主机之间的子拓扑;具体过程: 输入:FullTopologyInfo, src,dst 输出:ChildTopologyInfo SourceMACSwitch joins src Destinat1nMACSwitch joins dst SRC —[] DST —[]for switchx in src for switchy in topo IF switchxLayer > switchyLayer THENswitchy joins childswitchy joins SRC END IFfor switchx in dstfor switchy in topo IF switchxLayer > switchyLayer THEN switchy joins child switchy joins DST END IFo所述使用Dijkstra算法,在子拓扑中找到一条负载最小的路径,具体为: 使用Dijkstra算法时,把链路负载情况和与此链路相关的交换机所有端口在4秒内收到的字节数作为算法中的权重;此算法在子拓扑中产生一条路径,该路径就是最终的两个主机之间的通信路径,此通信路径每隔4秒更新一次,保证整个网络负载均衡;具体过程:输入:子拓扑(G= (V, E)),交换机状态信息w 输出:最短路径 ShortestPath while (G) u 一 NextLink in G for V in GIF d > d+w THEN V joins ShortestPathd 一 d END IF0本专利技术考虑了整个拓扑链路负载情况,使用以链路负载和相关交换机的状态信息作为搜索权重的Dijkstra算法搜索链路负载最小的路径。本专利技术算法复杂度较低,在控制器端存储的信息比较少,保当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种基于SDN使用胖树拓扑结构的数据中心网络负载均衡方法,其特征在于该方法包括以下步骤:第一步、在SDN网络启动和SDN网络控制器获得整个网络的胖树拓扑结构后,周期性检测更新每条链路上的链路负载情况;第二步、当网络中的任意两个主机将要通信时,源主机根据ARP协议及网络的胖树拓扑结构找到目的主机的物理MAC地址,在胖树拓扑结构下网络控制器分别从源主机和目的主机处自底向上搜索出一个子拓扑;第三步、使用Dijkstra算法,在子拓扑中找到一条负载最小的路径,网络控制器将该负载最小的路径下放到各交换机中,两个主机之间开始通信。

【技术特征摘要】

【专利技术属性】
技术研发人员:王黎明陆刚
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1