[发明专利]基于SDN的大流负载均衡系统与方法有效
申请号: | 201610076896.0 | 申请日: | 2016-02-03 |
公开(公告)号: | CN105610709B | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | 顾华玺;黄世轩;郭彦涛;余晓杉;王琨;兰颢 | 申请(专利权)人: | 西安电子科技大学;中国电子科技集团公司第五十四研究所 |
主分类号: | H04L12/707 | 分类号: | H04L12/707;H04L12/721;H04L12/741;H04L12/747;H04L12/861;H04L12/803 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sdn 负载 均衡 系统 方法 | ||
1.一种基于SDN的大流负载均衡方法,包括,包括:
(1)网络初始化
1a)在拥有k个pod结构的Fat-Tree数据中心网络中,对所有的交换机和服务器进行32位的二进制编址,分别得到交换机和服务器的地址;
1b)SDN控制器获得整个网络的拓扑信息,并将该信息存储在拓扑信息模块中;
1c)SDN控制器给每个边缘层交换机下发两条默认流表,一条用于匹配被标记大流的第一个数据包,另一个用于匹配会话连接拆除阶段的数据包;
(2)源端服务器产生数据流,如果数据流在服务器缓存中的累积存储量超过设定的阈值t,则将该数据流的数据包标记为大流,并标记大流数据包的序号;
(3)计算大流的路径:
3a)大流路由计算模块根据数据包中的源地址和目的地址,查询拓扑信息模块中存储的信息,按照所存储信息的顺序,选出一对源汇聚层链路和目的汇聚层链路,所述汇聚层链路是指连接边缘层交换机和汇聚层交换机的链路;
3b)大流路由计算模块查询大流路由表模块中存储的信息,判断步骤3a)得到的源汇聚层链路和目的汇聚层链路是否已承载大流:如果没有,则路由计算结束,执行步骤(4);反之,返回步骤3a);如果遍历了大流路由表模块中的信息之后,发现所有的源汇聚层链路和目的汇聚层链路均已承载了大流,则执行步骤3c);
3c)选择承载大流数目最少的一对源汇聚层链路和目的汇聚层链路,路由计算结束,执行步骤(4);
(4)SDN控制器将大流的路由信息更新至大流路由表模块存储的信息中,并将该大流的路由信息以流表的形式下发给源汇聚层链路和目的汇聚层链路的交换机;
(5)大流的数据包根据流表的指示到达源端汇聚层交换机,该源端汇聚层交换机再根据大流数据包的到达顺序采用循环的方式将大流数据包依次转发给与自己相连的核心层交换机,核心层交换机再将该大流的数据包转发到目的端汇聚层交换机;
(6)目的端汇聚层交换机按照大流数据包到达目的端汇聚层交换机的顺序对大流数据包依次进行两两对比,完成对大流数据包的调度,选出优先出队的数据包,并将该数据包转发到目的端边缘层交换机中;
(7)目的端边缘层交换机将大流数据包转发给目的端服务器,会话结束,进入会话连接拆除阶段;
(8)目的端服务器向源端服务器发送用于会话连接拆除的数据包,该数据包到达目的端边缘层交换机时,由目的端边缘交换机将该数据包信息发送给SDN控制器,SDN控制器根据该数据包信息将大流路由表模块中存储该大流对应的路由信息删除。
2.根据权利要求1所述的方法,其中步骤(1)中的交换机和服务器的地址表示如下:
pod结构内交换机地址:p.s.1.0,p表示Fat-Tree网络中的pod结构从左到右依次所编的序号,p∈[0,k-1],占8位;s表示pod结构内的交换机从左到右、从上到下依次所编的序号,s∈[0,k-1],占8位;
核心层交换机地址:k.j.i.0,k表示Fat-Tree网络中pod结构的个数;i和j共同用来表示Fat-Tree网络中的核心层交换机从左到右依次所编的序号,i、j∈[1,k/2],均占8位,i和j的关系为:j的初值为1,i遍历所有的值后,j加1,i重新回到1;
服务器地址:p.w.h.f.n,p表示与服务器直连的pod结构的序号,占8位;w表示与服务器直连的边缘层交换机的序号,占8位;h表示子网内的服务器从左到右依次所编的序号,h∈[2,k/2+1],占8位;f表示大流数据包的序号服务字段,f值取0,占1位;n表示大流中数据包的序号字段,n值取0,占7位。
3.根据权利要求1所述的方法,其中步骤(2)中标记大流数据包的序号,是改写大流数据包头部的源地址域中的序号服务字段f和序号字段n,具体改写方法是:f字段的值0、1交替变换,n字段的值通过使用mod 128运算得到,即在初始状态,将f字段得值置0,n字段的值从0依次增加到127,再将n回到0,将f置1。
4.根据权利要求1所述的方法,其中步骤(2)中阈值t的大小设定为网络链路带宽容量的10%。
5.根据权利要求1所述的方法,其中步骤(6)中目的端汇聚层交换机按照大流数据包到达目的端汇聚层交换机的顺序对大流数据包依次进行两两对比,完成对大流数据包的调度,选出优先出队的数据包,按如下对比规则进行:
6a)选出首先进入目的端汇聚层交换机的前两个大流数据包,执行步骤6b);
6b)根据所选的2个大流数据包的序号服务字段f的值是否相同,对这2个大流数据包的序号字段n值进行如下对比:
若f的值相同,则选出n值小的数据包,执行步骤6c);
若f的值不相同,则选出n值大的数据包,执行步骤6c);
6c)判断所有大流数据包的是否已完成对比:
若没有完成所有大流数据包的对比,则将步骤6b)选出的数据包与目的端汇聚层交换机中后续的一个大流数据包返回步骤6b)继续进行对比;
若已完成所有大流数据包的对比,则步骤6b)选出的数据包即为优先出队的数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学;中国电子科技集团公司第五十四研究所,未经西安电子科技大学;中国电子科技集团公司第五十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610076896.0/1.html,转载请声明来源钻瓜专利网。