基于sdn的大流负载均衡系统与方法

文档序号:9846621阅读:819来源:国知局
基于sdn的大流负载均衡系统与方法
【技术领域】
[0001 ]本发明属于通信网络技术领域,具体涉及一种大流负载均衡技术,可用于Fat-Tree结构的数据中心网络。
【背景技术】
[0002]随着互联网在线业务用户量和大众接入带宽的快速增长,数据中心网络流量呈现迅速增长的态势。互联网业务对数据中心提出了越来越高的传输质量要求,包括大带宽、低时延、安全保障、灵活调度等。在这样的趋势下,出现了各种各样的解决方案,以OpenFlow协议为代表的软件定义网络SDN技术便是应运而生的一种新型网络交换模型,它完全颠覆了原有控制和数据转发使用同一平面的做法,采用控制平面和转发平面的分离的模式极大地简化了网络转发设备,使依据全局网络状态、灵活地制定数据转发行为成为可能,并为网络创新提供了良好的平台。
[0003]随着云计算等技术的发展,大量的计算任务需要多台服务器间进行交互式工作,这促使数据中心网络内部服务器间的横向流量大大增加。同时,由于数据中心业务类型的不同,服务器节点产生的流量存在明显的大小特征差异,数据中心网络内部混合了大量的小流和大流。其中,小流是指包含数据量小,对网络时延要求较高的数据流,在网络中所占的数目多,但总字节数小;大流是指包含数据量大,对网络带宽需求较高的数据流,在网络中所占的数目少,但总字节数大。从云服务提供商的角度考虑,如果不能针对大流制定合理的负载均衡策略,可能会使网络因多条大流被路由到同一条链路上而导致拥塞问题,严重时,甚至会发生丢包现象。利用SDN技术,合理的大流负载均衡策略是解决上述问题的重要途径。
[0004]在基于SDN的数据中心网络中,为了避免大流碰撞导致网络拥塞问题,文章uHederaiDynamic Flow Scheduling for Data Center Networks” 中提出了能够感知流量大小的动态流量均衡策略——Hedera。Hedera利用集中式的网络控制器检测大流,同时,对大流的带宽需求进行评估,利用全局最先适应算法(Global First Fit)将大流调度到负载较低的路径上,与静态的路由策略相比,Hedera在一定程度上提高了链路的利用率。但是,Hedera并没有充分利用数据中心网络拓扑的多路径特性,使网络达到最优的流量分布,从网络核心层角度来看,负载均衡问题没有得到很好的解决,致使部分核心层链路仍然存在拥塞问题。

【发明内容】

[0005]本发明的目的在于依据目前数据中心网络普遍采用的Fat-Tree拓扑,提出一种均衡效果显著的基于SDN的大流负载均衡系统与方法,以解决在网络核心层中存在的负载不均和链路拥塞问题。
[0006]本发明的技术方案是这样实现的:
[0007]技术思路:通过对网络的初始化,完成各交换机和服务器的地址分配,SDN控制器对整个网络拓扑信息的获取,边缘层交换机用于匹配大流的默认流表的下发;通过SDN控制器计算大流路径;通过大流在源端的汇聚层交换机的分流进行多路径路由;通过目的端的汇聚层交换机的调度工作完成乱序分组的重组。
[0008]根据上述思路,本发明提出的一种基于SDN的大流负载均衡系统,包括:
[0009]Fat-Tree拓扑结构的底层网络,包括核心层交换机、服务器和pod结构,其中,pod结构包括汇聚层交换机和边缘层交换机,所有交换机均用于数据包的转发,服务器用于产生和接受数据流;
[0010]SDN控制器,用于获取整个网络的拓扑信息、并对交换机下发流表和对底层网络进行集中控制;
[0011]其特征在于:SDN控制器中增设有拓扑信息模块、大流路由表模块和大流路由计算丰旲块;
[0012]所述拓扑信息模块,用于存储底层网络的拓扑信息;
[0013]所述大流路由表模块,用于存储大流的路由信息;
[0014]所述大流路由计算模块,用于查询拓扑信息模块和大流路由表模块中存储的信息,并根据所查询的信息为大流计算路径。
[0015]根据上述思路,本发明基于SDN的大流负载均衡系统的均衡方法,包括:
[0016](I)网络初始化
[0017]Ia)在拥有k个pod结构的Fat-Tree数据中心网络中,对所有的交换机和服务器进行32位的二进制编址,分别得到交换机和服务器的地址;
[0018]lb)SDN控制器获得整个网络的拓扑信息,并将该信息存储在拓扑信息模块中;
[0019]lc)SDN控制器给每个边缘层交换机下发两条默认流表,一条用于匹配被标记大流的第一个数据包,另一个用于匹配会话连接拆除阶段的数据包;
[0020](2)源端服务器产生数据流,如果数据流在服务器缓存中的累积存储量超过设定的阈值t,则将该数据流的数据包标记为大流,并标记大流数据包的序号,其中t的大小设定为网络链路带宽容量的10% ;
[0021](3)计算大流的路径:
[0022]3a)大流路由计算模块根据数据包中的源地址和目的地址,查询拓扑信息模块中存储的信息,按照所存储信息的顺序,选出一对源汇聚层链路和目的汇聚层链路,所述汇聚层链路是指连接边缘层交换机和汇聚层交换机的链路;
[0023 ] 3b)大流路由计算模块查询大流路由表模块中存储的信息,判断步骤3a)得到的源汇聚层链路和目的汇聚层链路是否已承载大流:如果没有,则路由计算结束,执行步骤(4);反之,返回步骤3a);如果遍历了大流路由表模块中的信息之后,发现所有的源汇聚层链路和目的汇聚层链路均已承载了大流,则执行步骤3c);
[0024]3c)选择承载大流数目最少的一对源汇聚层链路和目的汇聚层链路,路由计算结束,执行步骤(4);
[0025](4)SDN控制器将大流的路由信息更新至大流路由表模块存储的信息中,并将该大流的路由信息以流表的形式下发给源汇聚层链路和目的汇聚层链路的交换机;
[0026](5)大流的数据包根据流表的指示到达源端汇聚层交换机,该源端汇聚层交换机再根据大流数据包的到达顺序采用循环的方式将大流数据包依次转发给与自己相连的核心层交换机,核心层交换机再将该大流的数据包转发到目的端汇聚层交换机;
[0027](6)目的端汇聚层交换机按照大流数据包到达目的端汇聚层交换机的顺序对大流数据包依次进行两两对比,完成对大流数据包的调度,选出优先出队的数据包,目的端汇聚层交换机将该数据包转发到目的端边缘层交换机中;
[0028](7)目的端边缘层交换机将大流数据包转发给目的端服务器,会话结束,进入会话连接拆除阶段;
[0029](8)目的端服务器向源端服务器发送用于会话连接拆除的数据包,该数据包到达目的端边缘层交换机时,由目的端边缘交换机将该数据包信息发送给SDN控制器,SDN控制器根据该数据包信息将大流路由表模块中存储该大流对应的路由信息删除。
[0030]本发明与现行技术相比具有的优点:
[0031]I)本发明由于利用了 Fat-Tree数据中心网络的多路径特性,在网络的核心层采用针对大流的多路径路由策略,克服了数据中心网络核心层中存在的负载不均和链路拥塞的问题;
[0032]2)本发明由于在Fat-Tree数据中心网络汇聚层交换机中加入了针对大流数据包的调度机制,克服了多路径路由策略可能带来的分组乱序问题。
【附图说明】
[0033]图1是本发明的通信系统示意图;
[0034]图2是本发明实现大流负载均衡的流程图;
[0035]图3是本发明中汇聚层交换机调度示意图。
【具体实施方式】
[0036]下面结合附图对本发明的实施方式做进一步详细描述。
[0037]参照图1,本发明基于SDN的大流负载均衡系统例,包括拥有k个pod结构的Fat-Tree底层网络和一个SDN控制器,其中k为偶数,在本实例中,k = 6,但不局限于这个数据,pod结构包含有边缘层交换机和汇聚层交换机,网络中每台交换机均为支持Opnef low协议的SDN交换机,网络中链路带宽均为IGbps,网络核心层交换机依次标记为Corel、Core2、Core3、……Xore^SDN控制器用于获取该Fat-Tree底层网络的拓扑信息,并对底层网络进行实时监控和对交换机下发流表。
[0038]所述SDN控制器中,增设有拓扑信息模块、大流路由表模块和大流路由计算模块,其中拓扑信息模块用于存储SDN控制器获取到的底层网络拓扑信息,大流路由表模块用于存储大流路由计算模块计算得到的大流路由信息,大流路由计算模块用于查询网络拓扑信息模块和大流路由表模块中存储的信息,并根据查询得到的信息为大流计算路径。
[0039]SDN是指软件定义网络。
[0040]参照图2,利用上述系统进行大流负载均衡的实现步骤如下:
[0041 ]步骤一:网络初始化。
[0042]Ia)对网络中所有交换机和服务器进行32位二进制编址,得到如下各地址:
[0043]pod结构内交换机地址:P.s.1.0,其中P表示Fat-Tree网络中的pod结构从左到右依次所编的序号,pe [O,5],占8位;s表示pod结构内的交换机从左到右、从上到下依次所编的序号,se[0,5],占8位;
[0044]核心层交换机地址:6.j.1.0,其中i和j共同表示Fat-Tree网络中的核心层交换机从左到右依次所编的序号,1、j e [ I,3],均占8位,核心层交换机的地址从左到右依次为:“6.I.I.0”,“6.I.2.0”,“6.I.3.0”,“6.2.I.0”,“6.2.2.0”,“6.2.3.0”,“6.3.I.0”,“6.3.2.0”,“6.3.3.0” ;
[0045]服务器地址:P.w.h.f.n,其中:w表示与服务器直连的边缘层交换机的序号,占8位;h表示子网内的服务器从左到右依次所编的序号,he [2,4],占8位;f表示大流数据包的序号服务字段,f值取0,占I位;η表示大流中数据包的序号字段,η值取0,占7位;
[0046]lb)SDN控制器获得整个网络的拓扑信息,并将该信息存储在拓扑信息模块中;
[0047]lc)SDN控制器给每个边缘层交换机下发两条默认流表,一条用于匹配大流的第一个数据包,另一个用于匹配会话连接拆除阶段的数据包。
[0048]步骤二:大流的产生和标记。
[0049]源端服务器产生数据流,如果数据流在服务器缓存中的累积存储量超过阈值t,在本实例中,t值大小为100KB,将其数据包标记为大流,并标记大流数据包的序号,如某段被标记为大流的数据包,其“f,η”的值依次为:“O,O”、……、“O,126”、“O,12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1