一种实现负荷分担的方法及装置制造方法及图纸

技术编号:13862954 阅读:118 留言:0更新日期:2016-10-19 12:40
本发明专利技术公开了一种实现负荷分担的方法及装置,包括:统计第一预设时长内在第一负荷分担方法下的各链路流量,获得系统的负荷分担参数;当负荷分担参数大于或等于预先设置的负荷分担阈值时,确定负荷分担不均,切换到第二负荷分担方法将流量分配到流量分发的链路中进行流量分发。本发明专利技术方法通过负荷分担参数超过负荷分担阈值时,采用第二负荷分担方法,解决了负荷分担不均的问题;进一步地,各种类流量按照由大至小分配到链路带宽从大到小的链路,其他链路在将第二比值最小的链路的第二比值减去分配给其的各种类流量的第一比值的和获得相应的差值小于零时对负荷分担造成影响,通过最大的链路进行消化处理,更加合理的解决了负荷分担不均的问题。

【技术实现步骤摘要】

本专利技术涉及数据通信领域,尤指一种实现负荷分担的方法及装置
技术介绍
在路由器或其他产品中使用的,当进入路由器的流量大于路由器的单个链路的出接口带宽时,通过负荷分担方法将进入的流量分流到多个链路的出接口进行分流,从而满足用户流量的分发需求。根据流量分流方式的不同,负荷分担方法又分为基于包模式负荷分担和基于流模式负荷分担。其中,基于包模式的负荷分担是指将进入路由器的流量随机分流到配置的多个负荷分担链路的出接口上;基于流模式的负荷分担在包括将流量分流多个负荷分担链路的出接口,与基于包模式的负荷分担不同,基于流模式的负荷分担还需要同时保证每个种类的流量只在一个链路的出接口发送,从而保证同一种类的流量在网络中经过的路径相同,也保证了相同种类的流量在数据传输过程中收发顺序上一致。具体的,基于包模式的负荷分担方法主要通过产生的随机值将需要负荷分担的流量通过处理映射到负荷分担的N个链路的出接口中,这种方法通过增加随机值的位数可以使负荷分担的效果更佳均匀。基于流模式的负荷分担方法实现较为复杂,需要根据不同的场景需求选取不同的报文的流标识种类,例如、互联网协议的第四版(IPV4)报文可以选取源IP、目的IP,协议号、服务类型(TOS)、源端口号、目的端口号等等作为流标识;确定流标识种类后,再经过算法映射到0~(N-1)个链路中,其中,N为链路个数;最后,通过哈希(HASH)算法将流标识统一运算后得到HASH结果,再使用HASH结果模N求得的值选取链路数。基于流模式的负荷分担方法存在很大的局限性,其中,负荷分担是否均匀的关键在于以下几点:1、流的标识字段选取,即如何划分不同的流的流标识种类;2、映射函数的选取;即选取流标识后如何将其通过一定运算映射到
有限的值0~N-1的区间范围之内(N为链路个数)。流标识的选取不能适用于所有场景需求,而根据选取的流标识直接HASH运算也无法将其均匀映射到链路上。例如,假设当前场景中IPV4报文中源IP是不变的,目的IP在低16位发生变化,TOS字段在几个有限值之间变化,端口号则在一个较大的区间5000-65535中变化;假设将所有流标识通过HASH运算结果来映射,由于源IP没有变化则没有加入流标识的必要;目的IP仅在低16bit变化取全部32bit计算也没有必要;IP与端口号之间的值差异很大HASH运算结果的分布也是不可预测;因此,上述负荷分担方法无法实现流量的均分。负荷分担方法的关键是如何区分并统计流量的种类,将其映射到0~N-1个链路中,现有的采用关键字静态映射方法,存在分担不均的情况,造成部分进入路由器的流量依旧大于路由器的单个链路的出接口带宽;特别是链路数或者流量种类较小时,负荷分担不均的情况更为严重。
技术实现思路
为了解决上述技术问题,本专利技术提供一种实现负荷分担的方法及系统,能够改善负荷分担不均的情况,使各链路负荷分担均匀合理,负荷分担后各链路的带宽满足流量分流的带宽需求。为了达到本专利技术目的,本专利技术提供了一种实现负荷分担的方法,包括:统计第一预设时长内在第一负荷分担方法下的各链路流量,获得系统的负荷分担参数;当负荷分担参数大于或等于预先设置的负荷分担阈值时,确定负荷分担不均,切换到第二负荷分担方法将流量分配到流量分发的链路中进行流量分发。进一步地,第一负荷分担方法包括:预先设置的基于源网络之间互连的协议SIP、或基于目的网络之间互连的协议DIP、或基于用户数据报协议UDP端口号、或基于三元组、或基于五元组、或基于循环冗余校验码CRC、或基于异或的静态映射方法。进一步地,获得系统的负荷分担参数包括:将统计的各链路的流量除以各链路自身的带宽获得各链路相应的流量带
宽比;将流量带宽比中的最大值减去流量带宽比的最小值,获得负荷分担参数。进一步地,第二负荷的分担方法包括:根据预设比值采样第二预设时长内所述负荷分担所要分发的流量;分析采样流量的种类并获得各种类流量所占采样流量的第一比值,计算所述链路中各链路带宽占流量分发的所有链路总带宽的第二比值;根据第一比值和第二比值的大小将流量分发到各链路中。进一步地,根据第一比值和第二比值的大小将流量分发到各链路中具体包括:将各种类流量和链路分别按照第一比值和第二比值的大小进行排序后,按照第一比值最大到第一比值最小的顺序,将各种类流量分配到第二比值由小至大的各链路中。进一步地,按照第一比值最大到第一比值最小的顺序,将各种类流量分配到第二比值由小至大的各链路中包括:将各种类流量和链路分别按照第一比值和第二比值的大小进行排序后,将各种类流量根据第一比值大小由最大到最小的顺序逐个分配至第二比值最小的链路中;计算分配给第二比值最小的链路的各种类流量的第一比值的累加和,将第二比值最小的链路的第二比值减去计算获得的所述累加和获得差值后,根据获得的差值确定是否继续往该链路分配分发的流量;停止往该链路分配流量时,将该链路从分配分发流量的排序中移出,更新未分配的各种类流量的第一比值的大小排序和未分配的链路的第二比值的大小排序,以更新的第一比值排序和第二比值排序继续各种类流量的流量分发分配,直至只剩一个链路时,将未分配的各种类流量统一分配给该剩余的链路。进一步地,根据获得的差值确定是否继续往该链路分配分发的流量包括:将第二比值最小的链路的第二比值减去计算获得的分配给第二比值最小
的链路的各种类流量的第一比值的累加和获得差值后,当差值等于零时,停止该链路的流量分配;当差值小于零时,将小于零时的对应的种类流量作为未分配的流量,停止往该链路分配流量。进一步地,当负荷分担参数小于预先设置的负荷分担阈值时,该方法还包括:采用第一负荷分担方法进行流量分发。进一步地,在切换到第二负荷分担方法进行流量分发后,该方法还包括:根据所述流量分配到流量分发的链路、下发相应的访问控制列表ACL规则,根据ACL规则进行流量分发;所述ACL规则为ACL五元组,通过内容寻址存储器TCAM或前缀树trie表下发。进一步地,在进行流量分发时,该方法还包括:当进行流量分发出现ACL规则不匹配时,对该种类流量采用所述第一负荷分担分流,并统计采用所述第一负荷分担分流的流量的种类数,当统计流量种类数大于匹配调整阈值时,对未分发的流量重新采用所述第二负荷的分担方法进行流量分发。另一方面,本申请还提供一种实现负荷分担的装置,包括:统计分析单元和判断处理单元;其中,统计分析单元,用于统计第一预设时长内在第一负荷分担方法下的各链路流量,获得系统的负荷分担参数;判断处理单元包括判断模块及处理模块;其中,判断模块,用于当负荷分担参数大于或等于预先设置的负荷分担阈值时,确定负荷分担不均;处理模块,用于在确定负荷分担不均时,切换到第二负荷分担方法将流量分配到流量分发的链路中进行流量分发。进一步地,统计分析单元具体用于,统计第一预设时长内在预先设置的基于SIP、或基于DIP、或基于UDP
端口号、或基于三元组、或基于五元组、或基于CRC、或基于异或的静态映射方法下的各链路流量,获得系统的负荷分担参数。进一步地,统计分析单元具体用于,统计所述第一预设时长内在预先设置的基于SIP、或基于DIP、或基于UDP端口号、或基于三元组、或基于五元组、或基于CRC、或基于异或的静态映射方法本文档来自技高网
...

【技术保护点】
一种实现负荷分担的方法,其特征在于,包括:统计第一预设时长内在第一负荷分担方法下的各链路流量,获得系统的负荷分担参数;当负荷分担参数大于或等于预先设置的负荷分担阈值时,确定负荷分担不均,切换到第二负荷分担方法将流量分配到流量分发的链路中进行流量分发。

【技术特征摘要】
1.一种实现负荷分担的方法,其特征在于,包括:统计第一预设时长内在第一负荷分担方法下的各链路流量,获得系统的负荷分担参数;当负荷分担参数大于或等于预先设置的负荷分担阈值时,确定负荷分担不均,切换到第二负荷分担方法将流量分配到流量分发的链路中进行流量分发。2.根据权利要求1所述的方法,其特征在于,所述第一负荷分担方法包括:预先设置的基于源网络之间互连的协议SIP、或基于目的网络之间互连的协议DIP、或基于用户数据报协议UDP端口号、或基于三元组、或基于五元组、或基于循环冗余校验码CRC、或基于异或的静态映射方法。3.根据权利要求1所述的方法,其特征在于,所述获得系统的负荷分担参数包括:将所述统计的各链路的流量除以各链路自身的带宽获得各链路相应的流量带宽比;将所述流量带宽比中的最大值减去流量带宽比的最小值,获得负荷分担参数。4.根据权利要求1~3任一项所述的方法,其特征在于,所述第二负荷的分担方法包括:根据预设比值采样第二预设时长内所述负荷分担所要分发的流量;分析采样流量的种类并获得各种类流量所占采样流量的第一比值,计算所述链路中各链路带宽占流量分发的所有链路总带宽的第二比值;根据第一比值和第二比值的大小将流量分发到各链路中。5.根据权利要求4所述的方法,其特征在于,所述根据第一比值和第二比值的大小将流量分发到各链路中具体包括:将各种类流量和链路分别按照第一比值和第二比值的大小进行排序后,
\t按照第一比值最大到第一比值最小的顺序,将各种类流量分配到第二比值由小至大的各链路中。6.根据权利要求5所述的方法,其特征在于,所述按照第一比值最大到第一比值最小的顺序,将各种类流量分配到第二比值由小至大的各链路中包括:将各种类流量和链路分别按照第一比值和第二比值的大小进行排序后,将各种类流量根据第一比值大小由最大到最小的顺序逐个分配至第二比值最小的链路中;计算分配给第二比值最小的链路的各种类流量的第一比值的累加和,将第二比值最小的链路的第二比值减去计算获得的所述累加和获得差值后,根据获得的差值确定是否继续往该链路分配分发的流量;停止往该链路分配流量时,将该链路从分配分发流量的排序中移出,更新未分配的各种类流量的第一比值的大小排序和未分配的链路的第二比值的大小排序,以更新的第一比值排序和第二比值排序继续各种类流量的流量分发分配,直至只剩一个链路时,将未分配的各种类流量统一分配给该剩余的链路。7.根据权利要求6所述的方法,其特征在于,所述根据获得的差值确定是否继续往该链路分配分发的流量包括:将第二比值最小的链路的第二比值减去计算获得的分配给第二比值最小的链路的各种类流量的第一比值的累加和获得差值后,当差值等于零时,停止该链路的流量分配;当差值小于零时,将小于零时的对应的种类流量作为未分配的流量,停止往该链路分配流量。8.根据权利要求1~3任一项所述的方法,其特征在于,当负荷分担参数小于预先设置的负荷分担阈值时,该方法还包括:采用第一负荷分担方法进行流量分发。9.根据权利要求1~3任一项所述的方法,其特征在于,在切换到所述第二负荷分担方法进行流量分发后,该方法还包括:根据所述流量分配到流量分发的链路、下发相应的访问控制列表ACL
\t规则,根据ACL规则进行流量分发;所述ACL规则为ACL五元组,通过内容寻址存储器TCAM或前缀树trie表下发。10.根据权利要求9所述的方法,其特征在于,在进行流量分发时,该方法还包括:当进行流量分发出现ACL规则不匹配时,对该种类流量采用所述第一负荷分担分流,并统计采用所述第一负荷分担分流的流量的种类数,当统计流量种类数大于匹配调整阈值时,对未分发的流量重新采用所述第二负荷的分担方法进行流量分发。11.一种实现负荷分担的装置,其特征在于,包括:统计分析单元和判断处理单元;其中,统计分析单元,用于统计第一预设时长内在第一负荷分担方法下的各链路流量,获得系统的负荷分担参数;判断处理单元包括判断模块及处理模块;其中,判断模块,用于当负荷分担参数大于或等于预先设置的负荷分担阈值时,确定负荷分担不均;处理模块,用于在确定负荷分担不均时,切换到第二负荷分担方法将流量分配到流量分发的链路中进行流量分发。12.根据权利要求11所述的装置,其特征在于,所述统计分析单元具体用于,统计第一预设时长内在预先设置的基于SIP、或基于DIP、或基于UDP端口号、或基于三元组、或基于五元组、或基于CRC、或基于异或的静态映射方法下的各链路流量,获得系统的负荷分担参数。13.根据权利要求11所述的装置,其特征在于,所述统计分析单元具体用于,统...

【专利技术属性】
技术研发人员:牛俊杰
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1