一种负载均衡方法及装置制造方法及图纸

技术编号:19866091 阅读:24 留言:0更新日期:2018-12-22 13:50
本申请实施例公开了一种负载均衡方法及装置,涉及通信领域,能够针对聚合组内不同传输需求的报文流,精准地进行流量控制和链路使用,实现负载均衡调度。其方法为:在报文流转发的入口方向或出口方向为报文流分配流标识ID;根据流ID确定与报文流匹配的负载算法模板以及成员链路选择范围,其中,负载算法模板包括至少一个链路特征,负载算法模板用于根据至少一个链路特征在成员链路选择范围中确定承载报文流的成员链路;根据负载算法模板在成员链路选择范围中选择用于承载报文流的成员链路。本申请实施例用于在链路聚合组内,对各成员链路进行负载均衡调度。

【技术实现步骤摘要】
一种负载均衡方法及装置
本申请涉及通信领域,尤其涉及一种负载均衡方法及装置。
技术介绍
在数据通信设备,如路由器中,通常将多条物理链路或逻辑链路捆绑成一条聚合逻辑链路(也称聚合组)来承载报文的转发。但在链路聚合时,由于聚合组中各成员链路的实际带宽以及链路时延不同,并且不同报文流对成员链路特征的实际敏感需求也不一致,因而在进行成员链路选择时,需要结合当前报文流的传输需求和成员链路当前的链路特点,选择最佳链路成员。现有的实现方式有如下几种:(1)、根据应用场景的配置要求,将报文流的五元组作为关键值,通过哈希(hash)函数进行计算,根据计算结果与成员链路之间的映射关系,将分流后的报文流发送到对应的成员链路上;(2)、针对聚合组中的所有报文流,均采用一种固定的负载选择算法进行成员链路选择,如只考虑流量剩余带宽最大的成员链路发送报文流;(3)、对于某些报文流只选择指定成员链路或优先从某个指定成员链路发送;(4)、根据链路带宽利用率、链路是否丢包这两个特征选择发送报文流的成员链路。上述通过hash函数计算结果选择发送报文流的成员链路,只与报文流本身相关,而没有考虑到各个成员链路实际的链路特点,并且使用同一种固定的负载选择算法,考虑相同的链路特征,以及将报文流与某一指定成员链路绑定,都不能根据各个报文流的特点在多个成员链路间做灵活调度运用,无法达到负载均衡的目的。
技术实现思路
本申请实施例提供一种负载均衡方法及装置,能够针对聚合组内不同传输需求的报文流,精准地进行流量控制和链路使用,实现负载均衡调度。第一方面,提供负载均衡方法,包括:在报文流转发的入口方向或出口方向为报文流分配流标识(Identity,ID);根据流ID确定与报文流匹配的负载算法模板以及成员链路选择范围,其中,负载算法模板包括至少一个链路特征,负载算法模板用于根据至少一个链路特征在成员链路选择范围中确定承载报文流的成员链路;根据负载算法模板在成员链路选择范围中选择用于承载报文流的成员链路。根据报文流的实际传输需求以及报文流的流ID选择对应的负载算法模板和成员链路选择范围,可以针对各个报文流的特点做灵活地调度运用,以适应不同的场景需求,达到负载均衡。在一种可能的设计中,在报文流转发的入口方向或出口方向为报文流分配流ID,包括:根据报文流的部分或全部五元组的值,在报文流转发的入口方向或出口方向识别报文流是否为特定报文流;若报文流为特定报文流,则在预留分配的ID中为特定报文流分配流ID;若报文流为非特定报文流,则为非特定流动态分配剩余流ID,其中,剩余流ID为除预留分配的ID之外的其余ID。这样的设计可以为不同的报文流分配相应的流ID,从而能够根据实际应用场景需求,灵活地为流ID选择对应的负载算法模板和成员链路选择范围。在一种可能的设计中,根据流ID确定与报文流匹配的负载算法模板包括:若流ID与任一负载算法模板之间存在对应关系,则确定任一负载算法模板为与报文流匹配的负载算法模板;若不存在与流ID对应的负载算法模板,则确定默认负载算法模板为与报文流匹配的负载算法模板;其中,负载算法模板包括以下链路特征中的至少一个:链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录、链路流量入口方向记录。这样在负载算法模板中灵活地、适应性地考虑五种链路特征,并根据流ID选择与之相应的负载算法模板,能够更加符合报文流的实际需求。在一种可能的设计中,根据流ID确定与报文流匹配的成员链路选择范围,包括:根据链路聚合组中成员链路与流ID之间的映射关系,确定与报文流ID对应的至少一个成员链路,至少一个成员链路构成成员链路选择范围,成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个。通过流ID与成员链路之间的映射关系,可以将报文流与至少一个成员链路进行映射,从而为报文流提供更加丰富的成员链路选择范围。在一种可能的设计中,根据负载算法模板在成员链路选择范围中选择用于承载所述报文流的成员链路,包括:按照负载算法模板中链路特征的优先级选择优先级最高的链路特征,将成员链路选择范围中每个成员链路优先级最高的链路特征的值与链路有效性阈值进行比较,若成员链路优先级最高的链路特征的值大于链路有效性阈值,则确定成员链路为可选链路;将可选链路上优先级最高的链路特征之间的差值与成员链路间许可偏差值进行比较,若差值在成员链路间许可偏差值内,则选择负载算法模板中优先级最高的链路特征的下一级链路特征,将成员链路选择范围中每个成员链路的下一级链路特征的值与链路有效性阈值和成员链路间许可偏差进行比较,直至确定出用于承载报文流的成员链路。通过配置链路有效性阈值和成员链路间许可偏差两个参数,对成员链路选择范围中每个成员链路上的链路特征进行衡量,能够根据每个成员链路上的实际链路特定确定出适合承载报文的成员链路。在一种可能的设计中,当负载算法模板中包括链路平均时延时,负载均衡方法还包括:通过链路汇聚控制协议LACP和双向转发检测协议BFD探测成员链路选择范围中任一成员链路的链路平均时延。这样可以避免使用其他额外的协议报文检测各个成员链路上的链路平均时延,节省了成员链路上的带宽占用。第二方面,提供一种负载均衡装置,包括:分配模块,用于在报文流转发的入口方向或出口方向为报文流分配流标识ID;确定模块,用于根据流ID确定与报文流匹配的负载算法模板以及成员链路选择范围,其中,负载算法模板包括至少一个链路特征,负载算法模板用于根据至少一个链路特征在成员链路选择范围中确定承载报文流的成员链路;选择模块,用于根据负载算法模板在成员链路选择范围中选择用于承载报文流的成员链路。在一种可能的设计中,分配模块,用于根据报文流的部分或全部五元组的值,在报文流转发的入口方向或出口方向识别报文流是否为特定报文流;在报文流为特定报文流时,在预留分配的ID中为特定报文流分配流ID;以及,在报文流为非特定报文流时,为非特定流动态分配剩余流ID,其中,剩余流ID为除预留分配的ID之外的其余ID。在一种可能的设计中,确定模块,用于在流ID与任一负载算法模板之间存在对应关系时,确定任一负载算法模板为与报文流匹配的负载算法模板;以及,在不存在与流ID对应的负载算法模板时,确定默认负载算法模板为与报文流匹配的负载算法模板;其中,负载算法模板包括以下链路特征中的至少一个:链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录、链路流量入口方向记录。在一种可能的设计中,确定模块,还用于根据链路聚合组中成员链路与流ID之间的映射关系,确定与报文流ID对应的至少一个成员链路,至少一个成员链路构成成员链路选择范围,成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个。在一种可能的设计中,选择模块,用于按照负载算法模板中链路特征的优先级选择优先级最高的链路特征,将成员链路选择范围中每个成员链路优先级最高的链路特征的值与链路有效性阈值进行比较,若成员链路优先级最高的链路特征的值大于链路有效性阈值,则确定成员链路为可选链路;将可选链路上优先级最高的链路特征之间的差值与成员链路间许可偏差值进行比较,若差值在成员链路间许可偏差值内,则选择本文档来自技高网...

【技术保护点】
1.一种负载均衡方法,应用于通信设备,其特征在于,包括:在报文流转发的入口方向或出口方向为所述报文流分配流标识ID;根据所述流ID确定与所述报文流匹配的负载算法模板以及成员链路选择范围,所述负载算法模板包括至少一个链路特征,所述负载算法模板用于根据所述至少一个链路特征在所述成员链路选择范围中确定承载所述报文流的成员链路;根据所述负载算法模板在所述成员链路选择范围中选择用于承载所述报文流的成员链路。

【技术特征摘要】
1.一种负载均衡方法,应用于通信设备,其特征在于,包括:在报文流转发的入口方向或出口方向为所述报文流分配流标识ID;根据所述流ID确定与所述报文流匹配的负载算法模板以及成员链路选择范围,所述负载算法模板包括至少一个链路特征,所述负载算法模板用于根据所述至少一个链路特征在所述成员链路选择范围中确定承载所述报文流的成员链路;根据所述负载算法模板在所述成员链路选择范围中选择用于承载所述报文流的成员链路。2.根据权利要求1所述的负载均衡方法,其特征在于,所述在报文流转发的入口方向或出口方向为所述报文流分配流ID,包括:根据所述报文流的部分或全部五元组的值,在所述报文流转发的入口方向或出口方向识别所述报文流是否为特定报文流;若所述报文流为所述特定报文流,则在预留分配的ID中为所述特定报文流分配所述流ID;若所述报文流为非特定报文流,则为所述非特定流动态分配剩余流ID,所述剩余流ID为除预留分配的ID之外的其余ID。3.根据权利要求1或2所述的负载均衡方法,其特征在于,所述根据所述流ID确定与所述报文流匹配的负载算法模板包括:若所述流ID与任一负载算法模板之间存在对应关系,则确定所述任一负载算法模板为与所述报文流匹配的负载算法模板;若不存在与所述流ID对应的负载算法模板,则确定默认负载算法模板为与所述报文流匹配的负载算法模板;其中,所述负载算法模板包括以下链路特征中的至少一个:链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录、链路流量入口方向记录。4.根据权利要求1-3任一项所述的负载均衡方法,其特征在于,所述根据所述流ID确定与所述报文流匹配的成员链路选择范围,包括:根据链路聚合组中成员链路与流ID之间的映射关系,确定与所述报文流ID对应的至少一个成员链路,所述至少一个成员链路构成所述成员链路选择范围,所述成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个。5.根据权利要求1-4任一项所述的负载均衡方法,其特征在于,所述根据所述负载算法模板在所述成员链路选择范围中选择用于承载所述报文流的成员链路,包括:按照所述负载算法模板中链路特征的优先级选择优先级最高的链路特征,将所述成员链路选择范围中每个成员链路优先级最高的链路特征的值与链路特征有效性阈值进行比较,若所述成员链路优先级最高的链路特征的值大于所述链路特征有效性阈值,则确定所述成员链路为可选链路;将所述可选链路上所述优先级最高的链路特征之间的差值与所述成员链路间许可偏差值进行比较,若所述差值在所述成员链路间许可偏差值内,则选择所述负载算法模板中所述优先级最高的链路特征的下一级链路特征,将所述成员链路选择范围中每个成员链路的下一级链路特征的值与所述链路有效性阈值和所述成员链路间许可偏差值进行比较,直至确定出所述用于承载所述报文流的成员链路。6.根据权利要求3所述的负载均衡方法,其特征在于,当所述负载算法模板中包括所述链路平均时延时,所述方法还包括:通过链路汇聚控制协议LACP和双向转发检测协议BFD探测所述成员链路选择范围中任一成员链路的链路平均时延。7.一种负载均衡装置,其特征在于,包括:分配模块,用于在报文流转发的...

【专利技术属性】
技术研发人员:曾华
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

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

1