一种基于Openflow规则的流量任意比负载方法

文档序号:7802775阅读:712来源:国知局
一种基于Openflow规则的流量任意比负载方法【专利摘要】本发明提供一种基于Openflow规则的流量任意比负载方法,步骤一、首先配置用于流量负载分配的出端口及每个端口的分配比例,根据配置的出端口的比例值计算需要被负载分配的业务流量划分为流的最少流量个数;步骤二、对可能随机变化的或根据负载业务的特征选取报文的M个字段,再选择一组整数值分别表示对第i个字段的二进制01串中取mi位的一个比特串;步骤三、根据步骤二选出的字段比特位进行排列组合后,列出该业务所有的流分类;步骤四、对步骤三中记录的对应到同一出端口的流分类匹配内容所用的规则进行合并,以节省硬件表项或提高软件性能;步骤五、将上述步骤中软件记录的规则下发硬件或者配置到虚拟路由器中。【专利说明】—种基于OpenfIow规则的流量任意比负载方法【
技术领域
】[0001]本发明属于负载机制领域,涉及一种基于Openflow规则的流量任意比负载方法。【
背景技术
】[0002]现在网络在数据传输和存储系统中,为了增加带宽和可靠性,需要对数据转发流量进行分配到不同的传输路径中,比如二层转发的汇聚端口、三层路由的ECMP机制和Openflow交换机的select类型grouptable配置。这些方法基本是靠对报文二层和层头部等段进行HASH运算,等比例分配到多个转出端口进行转发,而Openflow标准中的select类型grouptable虽然也有权重的配置,但是还是这种报文与端口的对应关系仍然不是很清晰,而且对于非等价路径大多无法适用,比如OSPF协议中有多条非等价路由,存储数据时用于存储的硬盘大小不一致等情况,这个时候就无法用传统的负载均衡的方法分配流量。【
发明内容】[0003]为了解决上述问题,提出一种基于Openflow规则的流量任意比负载方法。[0004]—种基于Openflow规则的流量任意比负载方法,包括以下步骤:[0005]步骤一、首先配置用于流量负载分配的出端口及每个端口的分配比例(一组整数值或转换后得到一组等价整数值),根据配置的出端口的比例值计算需要被负载分配的业务流量划分为流的最少流量个数:[0006]sumf=nl+n2+...+nN;[0007]其中sumf:流量划分的最少流个数,n1:第i个出口分配流量的比例值;[0008]步骤二、对可能随机变化的或根据负载业务的特征选取报文的M个字段,再选择一组整数值ml,m2,…,mM,分别表示对第i个字段的二进制01串中取mi位的一个比特串,每个字符串代表有2mi种数值类型且mi不大于第i个字段的比特位长度;则将所有字段取出的比特串的对应值进行排列组合共有的数据流的个数为2π1+π2+…;当每个字段的比特位全取时,即为该业务所能分流的最大数目,对于nl,n2,..,nM的比例分流来说为误差最大,根据误差的等级要求确定整数L,使得2ml+m2+_..爐>=LXsumf;误差等级要求越高,L值取值越大;[0009]步骤三、根据步骤二选出的字段比特位进行排列组合后,列出该业务所有的流分类,将这些流分类从2π1+π2+…+πΝ进行编号,再依次遍历出端口,对于出端口i,确定L*ni个流量确定其出端口编号,并从分类流的M个字段中选出每个字段流所匹配的字段内容和相应出端口进行软件记录;[0010]步骤四、对步骤三中记录的对应到同一出端口的流分类匹配内容所用的规则进行合并,以节省硬件表项或提高软件性能;[0011]步骤五、将上述步骤中软件记录的规则下发硬件或者配置到虚拟路由器中。[0012]上述方法步骤五结束后,如果N个端口中有端口成员链路状态改变,则返回步骤一进行重新开始计算,产生新的分类规则并下发到网络设备中。[0013]上述方法中当各个端口分配流量的分配比例为等值分配时,可用于汇聚端口或ECMP等价路由的分类算法。[0014]本发明的有益效果:[0015]1.可以根据业务需求和应用场景基于报文二层的源MAC、目的MAC、VID及三层IP头部、TCP&UDP的端口号等字段或其中部分字段的部分比特进行分配流量;[0016]2.配置完成后,对不同流量到不同端口的映射关系可以非常容易得出,以便于定位问题和流量分析;[0017]3.可以基于需求实现对流量的任意比例分配到不同的出端口,也包括实现负载均衡的功能,即等比例分配流量到不同的出端口;[0018]4.实现的设备基础是基于Openflow交换机上,通过Openflow交换机的规则将匹配到的流量分配到不同的端口,规则动作为output到具体端口;[0019]5.0penflow规则下发计算时只计算linkup的出端口,即能转发出数据报文的端口;当负责分担转发该流的端口组中有端口成员link状态有改变,则重新计算流规则,将流进行重新分配,实现自适应更改配置;[0020]6.流规则下发过程中,可以对能合并的规则通过掩码位减少的方式进行合并,以减少数据报文对表项资源的浪费或表项比对次数;[0021]7.该方法配置步骤简单,计算思路清晰,能较好的排查和定位出现的异常现象,以及时调整算法的某些步骤中的取值,达到最优化分配的目的。【专利附图】【附图说明】[0022]图1为本发明基于openflow规则的任意比负载方法的流程图。【具体实施方式】[0023]假设某种应用场景下,有N个出端口,链路状态全部为可以转发数据,要求按照nl,n2,...,nN的比例来分配某个业务,比例值没有公约数且都是不为O整数;而这个业务的报文除了某些标志特征的字段固定外,其他有M个字段内容都是随机的,即可以用于流量的负载分配,那么我们可以适当选择这些随机变化的M个字段里,每个字段选择的比特位是ml,m2,....,mM位,选择的比特位数是可以为O的整数且不超过这个字段的二进制数长度范围,并且为了计算简单最好是选择的比特位是一段连续比特值;这种机制的配置下发方法步骤包括如图1的如下步骤:[0024]1.根据所出端口的比例值计算需要将该业务划分为流的最少流量个数:[0025]Sumf=nl+n2+…+nN;[0026]2.对可能随机变化的M个字段,选择一组合适的ml,m2,…mM值,分别对第i个字段的二进制01串中取mi位的一个比特串,这个字符串可以代表有2ni种数值类型;这样所有字段取出的比特位进行排列组合的共有的数据流的个数为2π1+π2+…+ηΛ;当每个字段的比特位全取时,即为该业务所能分流的最大数目;该业务为实现分类,对取出的所有M个字段的比特位数之和最小为log2Sumf+l的整数部分的值;但是相对于nl,n2,...,nM的比例分流来说,也是误差最大的,一般是根据误差的等级要求确定一个整数L,使得:[0027]2°11+°12+-+DlM>=L*Sumf[0028]3.根据步骤二选出的字段比特位进行排列组合后,列出该业务所有的流分类,将这些流分类从2ml+m2+…+_进行编号,再依次遍历出端口,对于出端口i,确定L*ni个流量确定其出端口编号,并从分类流的M个字段中选出每个字段流所匹配的字段内容和相应出端口进行软件记录[0029]4.对上述步骤中记录的对应到同一个端口的流分类匹配内容进行适当的合并,以减少后续步骤中对硬件的浪费或提高虚拟路由器中匹配的效率;[0030]5.将上述步骤的记录一次通过接口转换成流表项下发硬件或者配置到虚拟路由器中;[0031]6.当N个端口中有端口成员链路状态改变时,重新按照1-5步骤进行计算产生新的分类规则并下发生效;该方法同样适用于总端口数N增加的变化情况;[0032]7.当各个端口分配流量的分配比例为等值分配时,该方法还可用于汇聚端口或ECMP等价路由的分类算法。【权利要求】1.一种基于Openflow规则的流量任意比负载方法,其特征在于,包括以下步骤:步骤一、首先配置用于流量负载分配的出端口及每个端口的分配比例,根据配置的出端口的比例值计算需要被负载分配的业务流量划分为流的最少流量个数:sumf=nl+n2+...+nN;其中sumf:流量划分的最少流个数,ni--第i个出口分配流量的比例值;步骤二、对可能随机变化的或根据负载业务的特征选取报文的M个字段,再选择一组整数值ml,m2,…,mM,分别表示对第i个字段的二进制01串中取mi位的一个比特串,每个字符串代表有2mi种数值类型且mi不大于第i个字段的比特位长度;则将所有字段取出的比特串的对应值进行排列组合共有的数据流的个数为2π1+π2+…;当每个字段的比特位全取时,即为该业务所能分流的最大数目,对于nl,n2,..,nM的比例分流来说为误差最大,根据误差的等级要求确定整数L,使得2ml+m2+…+"*>=LXsumf;误差等级要求越高,L值取值越大;步骤三、根据步骤二选出的字段比特位进行排列组合后,列出该业务所有的流分类,将这些流分类从2ml+m2+…+_进行编号,再依次遍历出端口,对于出端口i,确定L*ni个流量确定其出端口编号,并从分类流的M个字段中选出每个字段流所匹配的字段内容和相应出端口进行软件记录;步骤四、对步骤三中记录的对应到同一出端口的流分类匹配内容所用的规则进行合并,以节省硬件表项或提高软件性能;步骤五、将上述步骤中软件记录的规则下发硬件或者配置到虚拟路由器中。2.如权利要求1所述的一种基于Openflow规则的流量任意比负载方法,其特征在于,上述方法步骤五结束后,如果N个端口中有端口成员链路状态改变,则返回步骤一进行重新开始计算,产生新的分类规则并下发到网络设备中。3.如权利要求1或2所述的一种基于Openflow规则的流量任意比负载方法,其特征在于,上述方法中当各个端口分配流量的分配比例为等值分配时,可用于汇聚端口或ECMP等价路由的分类算法。【文档编号】H04L12/803GK104009932SQ201410180988【公开日】2014年8月27日申请日期:2014年4月30日优先权日:2014年4月30日【发明者】李俊武申请人:易云捷讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1