CN109067664A - 一种负载均衡方法及装置 - Google Patents

一种负载均衡方法及装置 Download PDF

Info

Publication number
CN109067664A
CN109067664A CN201810998443.2A CN201810998443A CN109067664A CN 109067664 A CN109067664 A CN 109067664A CN 201810998443 A CN201810998443 A CN 201810998443A CN 109067664 A CN109067664 A CN 109067664A
Authority
CN
China
Prior art keywords
link
message flow
stream
member link
loading algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810998443.2A
Other languages
English (en)
Other versions
CN109067664B (zh
Inventor
曾华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201810998443.2A priority Critical patent/CN109067664B/zh
Publication of CN109067664A publication Critical patent/CN109067664A/zh
Application granted granted Critical
Publication of CN109067664B publication Critical patent/CN109067664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Abstract

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

Description

一种负载均衡方法及装置
技术领域
本申请涉及通信领域,尤其涉及一种负载均衡方法及装置。
背景技术
在数据通信设备,如路由器中,通常将多条物理链路或逻辑链路捆绑成一条聚合逻辑链路(也称聚合组)来承载报文的转发。但在链路聚合时,由于聚合组中各成员链路的实际带宽以及链路时延不同,并且不同报文流对成员链路特征的实际敏感需求也不一致,因而在进行成员链路选择时,需要结合当前报文流的传输需求和成员链路当前的链路特点,选择最佳链路成员。
现有的实现方式有如下几种:(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对应的至少一个成员链路,至少一个成员链路构成成员链路选择范围,成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个。
在一种可能的设计中,选择模块,用于按照负载算法模板中链路特征的优先级选择优先级最高的链路特征,将成员链路选择范围中每个成员链路优先级最高的链路特征的值与链路有效性阈值进行比较,若成员链路优先级最高的链路特征的值大于链路有效性阈值,则确定成员链路为可选链路;将可选链路上优先级最高的链路特征之间的差值与成员链路间许可偏差值进行比较,若差值在成员链路间许可偏差值内,则选择负载算法模板中优先级最高的链路特征的下一级链路特征,将成员链路选择范围中每个成员链路的下一级链路特征的值与链路有效性阈值和成员链路间许可偏差进行比较,直至确定出用于承载报文流的成员链路。
在一种可能的设计中,当负载算法模板中包括链路平均时延时,负载均衡装置还包括探测模块,该探测模块,用于通过链路汇聚控制协议LACP和双向转发检测协议BFD探测成员链路选择范围中任一成员链路的链路平均时延。
第三方面,提供一种计算机存储介质,该计算机存储介质存储有计算机指令,当计算机指令被计算机执行时,使得计算机执行如第一方面提供的负载均衡方法。
第四方面,提供一种通信设备,该通信设备包括处理器,处理器用于执行如第一方面提供的负载均衡方法。
本申请实施例提供一种负载均衡方法及装置,在报文流转发的入口方向或出口方向为报文流分配流标识ID,并根据流ID确定与报文流匹配的负载算法模板以及成员链路选择范围,其中,负载算法模板包括链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录以及链路流量入口方向记录中的至少一个,成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个,根据负载算法模板在成员链路选择范围中选择用于承载报文流的成员链路。通过为特定报文流提供丰富的成员链路选择范围、灵活可变的负载算法模板,并差异化地设置不同的负载均衡策略,能够精准地确定出适合承载特定报文流的成员链路,实现负载均衡调度。
附图说明
图1为本申请实施例提供的一种网络架构示意图;
图2为本申请实施例提供的一种负载均衡实现原理图;
图3为本申请实施例提供的一种负载均衡方法的流程示意图;
图4为本申请实施例提供的一种负载算法模板与五种链路特征关系图;
图5为本申请实施例提供的一种链路成员与流ID映射关系图;
图6为本申请实施例提供的一种成员链路选择流程示意图;
图7为本申请实施例提供的一种负载均衡方法的流程示意图;
图8为本申请实施例提供的一种通信设备的结构示意图;
图9为本申请实施例提供的一种通信设备的结构示意图;
图10为本申请实施例提供的一种通信设备的结构示意图。
具体实施方式
本申请可以应用在由多条物理链路或逻辑链路组成的链路聚合组,针对特定的报文流,在聚合组内提供丰富的成员链路选择范围,并差异化地设置不同的负载均衡策略,能够灵活、精准地确定出适合承载报文流的成员链路,实现负载均衡调度。
本申请的网络架构可以包括用于转发报文流的至少一个通信设备中,如图1所示,例如可以包括通信设备11、终端12等,其中在通信设备11中,可以将多条物理链路或逻辑链路捆绑成一条聚合逻辑链路,用于转发报文流。
如图2所示,在聚合组内,本申请实现负载均衡的流程为:在由设备转发报文流的入口方向或出口方向识别出特定流以及非特定流,并分别为特定流和非特定流分配流标识ID,根据流ID确定与报文流对应的负载算法模板和成员链路选择范围,根据负载算法模板的配置,从成员链路选择范围中各个成员链路上取需要的特征值,根据负载特征计算方法,在成员链路选择范围中计算、选择适合承载报文流的成员链路,将该成员链路信息记录至设备的流表内,设备根据该流表存储的成员链路信息转发报文流。
本申请实施例提供了一种负载均衡方法,应用于通信设备,如图3所示,包括:
301、通信设备在报文流转发的入口方向或出口方向为报文流分配流ID。
报文流的五元组包括源网际协议(Internet Protocol,IP)地址、目的IP地址、协议号、源端口、目的端口,用户可以根据实际应用场景预先在通信设备中指定部分或全部报文流五元组的值,通信设备可以根据该指定的五元组的值在报文流转发的入口方向或出口方向识别报文流是否为特定报文流。
在本申请实施例中,将报文流定义为两种类型流:特定报文流和非特定报文流,并将固定数目的ID(0-N)作为特定报文流ID进行预留分配,剩余ID作为非特定报文流ID进行分配。
当识别出报文流为特定报文流时,在预留分配的ID中为该特定报文流分配预先指定的流ID;相反,当识别出报文流为非特定报文流时,为非特定流动态分配剩余流ID。
可以理解的是,该剩余流ID为除为特定报文流预留分配ID之外的其余ID。
其中,动态分配剩余流ID的方式可以采用的是用户配置分流关键值KEY算法,这一实现过程可以参考现有技术,本申请实施例对此不做详细说明。
302、通信设备根据流ID确定与报文流匹配的负载算法模板以及成员链路选择范围。
步骤302可具体分为3021和3022两个实施过程:
3021、通信设备根据流ID确定与报文流匹配的负载算法模板。
根据实际应用场景需要,可配置默认负载算法模板和指定负载算法模板,其中,指定负载算法模板包括负载算法模板Ⅰ、负载算法模板Ⅱ……,每条报文流都有与之对应的负载算法模板,具体为,若流ID与任一负载算法模板之间存在对应关系,则确定该任一负载算法模板为与报文流匹配的负载算法模板;若不存在与流ID对应的负载算法模板,如该报文流为非特定报文流,或者没有对应负载算法模板的特定报文流,则确定默认负载算法模板为与该报文流匹配的负载算法模板,这样针对特定报文流,差异化地采用不同的负载算法模板,可以考虑到聚合组内各个成员链路的实际链路特点,从而精准地进行流量控制和链路使用。
负载算法模板可以包括链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录以及链路流量入口方向记录这些链路特征中的至少一个,用于根据该至少一个链路特征在成员链路选择范围中确定承载报文流的成员链路。在配置各个负载算法模板时,可根据实际报文流传输需要,在上述五个链路特征中选择部分链路特征构成负载算法模板。负载算法模板与五种链路特征的关系如图4所示。
其中,负载算法模板中各个链路特征所包含的具体含义如下所示:
链路带宽利用率:周期性采样成员链路的带宽利用率,并计算一定周期内该成员链路的平均带宽利用率值。可根据需要设置成员链路的上限百分比阈值W1和各个成员链路间带宽利用率偏差值S1
链路负载流条目数:一个周期内成员链路上已发送的流条目数。可根据需要成员链路的上限流条目阈值W2和各个成员间流条目偏差值S2
链路平均时延:一定周期内成员链路的平均时延值。同样地,可根据需要设置成员链路最大时延阈值W3和各个成员间时延偏差值S3
其中,W1、W2、W3均作为成员链路是否为可选链路的判断阈值。
链路丢包拥塞记录:一定周期内成员链路上发生过丢包和拥塞的记录。该记录作为成员链路是否为可选链路的标志。
链路流量入口方向记录:通过流表记录在设备入口方向上,聚合组中承载报文流的成员链路信息。当报文流被转发出去时,将该成员链路上是否有该报文流的入口方向记录,作为该成员链路是否为可选链路的标志。
上述五个链路特征都涉及到链路有效性阈值,在某一链路特征下,该链路有效性阈值用于判断成员链路是否为可选链路。
可选地,本申请实施例提供一种方式为,当成员链路的某一链路特征的值大于链路有效性阈值,则确定该成员链路为可选链路。
进一步地,链路带宽利用率、链路负载流条目数和链路平均时延这三个链路特征都涉及到了成员链路间许可偏差。在确定承载报文流的成员链路时,该成员链路间许可偏差作为衡量该链路特征是否被考虑的因素。
可选地,本申请实施例提供一种方式为,若各个成员链路上链路特征之间的差值在许可偏差值内,那么该链路特征不作为衡量该链路是否为承载报文流的成员链路的参考因子。这是由于链路特征之间的差值在许可偏差值内时,说明各个成员链路上该链路特征的值相近,如果要选最终承载报文流的成员链路,需要进一步根据其余的链路特征筛选适合的成员链路。
3022、通信设备根据流ID确定与报文流匹配的成员链路选择范围。
根据聚合组中成员链路与流ID之间的映射关系,确定与报文流ID对应的至少一个成员链路,至少一个成员链路构成成员链路选择范围,其中,成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个。
根据实际应用场景需要,可以在聚合组中成员链路与特定报文流ID之间建立三种映射关系,该映射关系分别为强制流映射、优选流映射、拒绝流映射,其他未建立映射关系的流ID则作为系统默认映射。强制流映射、优选流映射、拒绝流映射以及系统默认映射,分别对应强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合以及默认成员链路的集合。基于这些映射关系,可根据流ID确定与报文流匹配的成员链路选择范围。
其中,强制流、优选流、拒绝流的含义分别如下所示:
强制流:对应流ID的报文流将强制从指定的成员链路上发送出去,即使该指定的成员链路不是作为可选链路(如已经发生丢包等情况)。
拒绝流:对应流ID的报文在任何情况下都不能从拒绝的成员链路上发送出去。
优选流:对应流ID的报文在选择所要承载的成员链路时,可优先从优选成员链路的集合中选择,如果优选成员链路的集合中所有链路成员都不作为可选链路(如已经发生丢包,超过预设阈值带宽等情况),则将成员链路选择范围调整为默认成员链路的集合,并在默认成员链路的集合中选择承载报文流的成员链路。
根据流ID查找与报文流匹配的成员链路选择范围时,需要根据聚合组中成员链路与流ID之间的映射关系,为报文流确定对应的成员链路选择范围。如图5所示,每条成员链路上存在有相应的映射关系,如,强制流映射、优选流映射、拒绝流映射,若成员链路上不存在映射关系,则表示该成员链路上可承载任意一条报文流。
在查找成员链路选择范围时,判断流ID是否为特定报文流的流ID,如果是,则根据该流ID查找是否有强制成员链路的存在,并列举出报文流的所有强制成员链路,构成强制成员链路的集合。否则,查找是否有优选成员链路的存在,并列举出所有优选成员链路,构成优选成员链路的集合。如果不存在优选成员链路,则继续查找是否有拒绝成员链路的存在,若存在拒绝成员链路,则在聚合组的所有默认成员链路中剔除拒绝成员链路,构成报文流的非拒绝成员链路的集合。
当然,对于非特定报文流而言,由于建立的是系统默认映射,所以聚合组内所有成员链路构成了该非特定报文流的成员链路选择范围。
需要说明的是,本申请实施例并不限定上述步骤3021和步骤3022执行的先后顺序。
303、通信设备根据负载算法模板在成员链路选择范围中选择用于承载报文流的成员链路。
选择用于承载报文流的成员链路可以分为两次选择过程,如图6所示,即第一选择和第二选择。
首先通过第一选择的方式查找承载报文流的成员链路,若第一选择未查找到承载报文流的成员链路,则启动第二选择。
可选地,本申请实施例提供了一种第一选择的实现方式为,按照负载算法模板中链路特征的优先级选择优先级最高的链路特征,其中,链路特征的优先级可以是负载算法模板中每个链路特征配置的序号,如图4所示,序号越小则该链路特征优先级越高。将成员链路选择范围中每个成员链路优先级最高的链路特征的值与链路有效性阈值进行比较,若成员链路优先级最高的链路特征的值大于链路有效性阈值,则确定成员链路为可选链路。
若确定的可选链路为一个,则确定该可选链路为承载报文流的成员链路;若确定的可选链路为至少两个,则将至少两个可选链路上优先级最高的链路特征值之间的差值与成员链路间许可偏差进行比较,若该差值在成员链路间许可偏差值内,则说明至少两个可选链路上该链路特征的值相差不大,不能作为在至少两个成员链路中选择用于承载报文流的成员链路的考虑因素。进而,选择负载算法模板中优先级最高的链路特征的下一级链路特征重复上述选择过程。
示例性地,若该负载算法模板为负载算法模板Ⅰ,则确定序号为1的链路带宽利用率为成员链路选择范围中每个成员链路优先级最高的链路特征,若存在至少两个成员链路上的链路带宽利用率大于链路有效性阈值95%,则将至少两个成员链路上作为可选链路,并进一步判断该至少两个成员链路上链路带宽利用率的差值是否在成员链路间许可偏差值内,如20%,若确定链路带宽利用率的差值小于20%,则选择序号为2的链路负载流条数目作为下一级链路特征,将成员链路选择范围中每个成员链路的链路负载流条数目的值与链路有效性阈值、成员链路间许可偏差进行比较,直至确定出用于承载报文流的成员链路。
可选地,本申请实施例还提供一种实现方式为,在根据优先级最高的链路特征确定出的至少两个可选链路中,由下一级链路特征继续选择承载报文流的成员链路。
当该第一选择未查找到承载报文流的成员链路时,启动第二选择。
本申请实施例提供了一种第二选择的可选实现方式为,根据链路带宽利用率、链路负载流条数目以及链路平均时延三个链路特征的优先级顺序,依次严格比较各个成员链路上链路特征值的大小,以确定出承载报文流的成员链路。
当然,第二选择是实现过程可以在负载成员链路选择范围中执行,也可以在由第一选择确定出的至少两个成员链路中执行,本申请实施例对此不做限定。
对于特定报文流,当成员链路选择范围为优选成员链路的集合时,若在第一选择过程中,优选成员链路的集合中所有成员链路的链路特征都不满足链路有效性阈值,即优选成员链路的集合中不存在可选链路,则将该成员链路选择范围扩大为默认成员链路的集合,再次重新选择。
本申请实施例提供了一种负载均衡方法,在报文流转发的入口方向或出口方向为报文流分配流标识ID,并根据流ID确定与报文流匹配的负载算法模板以及成员链路选择范围,其中,负载算法模板包括链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录以及链路流量入口方向记录中的至少一个,成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个,根据负载算法模板在成员链路选择范围中选择用于承载报文流的成员链路。通过为特定报文流提供丰富的成员链路选择范围、灵活可变的负载算法模板,并差异化地设置不同的负载均衡策略,能够精准地确定出适合承载特定报文流的成员链路,实现负载均衡调度。
当负载算法模板中包括链路平均时延时,结合图3,如图7所示,本申请实施例还提供一种负载均衡方法,包括:
304、通信设备通过链路汇聚控制协议LACP和双向转发检测协议BFD探测成员链路选择范围中任一成员链路的链路平均时延。
由于聚合组内,各个成员链路之间周期性地进行链路协议报文交互,因此可以在这些协议报文上进行协议扩展,将通信设备每次收发报文流的时间戳记录在报文流内,携带到对端成员链路。通过计算本端收发报文流的时间差和对端报文流的时间差之间的平均值,获得本条成员链路上的链路平均时延。
这样通过对聚合组内成员链路现有的协议报文进行扩展,在计算成员链路负载状态的同时,也能检测到成员链路上的链路平均时延,避免采用额外的协议报文进行时延检测,造成链路成员上带宽的开销。
需要说明的是,通信设备可以实时探测聚合组中各个成员链路的链路平均时延,也就是说,步骤304可以在步骤301-步骤303中任意一个步骤之前执行,也可以在任意一个步骤之后执行,本申请对此不做限定。
上述主要从通信设备的角度对本申请实施例提供的方案进行了介绍。可以理解的是,通信设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对通信设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的通信设备的一种可能的结构示意图,通信设备80包括:分配模块801,确定模块802,选择模块803以及探测模块804。分配模块801用于支持通信设备执行图3中的过程301,图7中的过程301;确定模块802用于支持通信设备执行图3中的过程302,图7中的过程302;选择模块803用于支持通信设备执行图3中的过程303,图7中的过程303,探测模块804用于支持通信设备执行图7中的过程304。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的通信设备的一种可能的结构示意图。例如,处理模块901用于支持通信设备执行图3中的过程301、302和303,图7中的过程301、302、303、304和/或用于本文所描述的技术的其它过程。通信模块902用于支持通信设备与其他网络实体的通信,例如与其他通信设备之间的通信。存储模块903用于存储通信设备的程序代码和数据。
其中,处理模块901可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块902可以是收发器、收发电路或通信接口等。
参阅图10所示,该通信设备100包括:通信接口1001、处理器1002、存储器1003以及总线1004。其中,收发器1001、处理器1002以及存储器1003通过总线1004相互连接;总线1004可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

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.一种负载均衡装置,其特征在于,包括:
分配模块,用于在报文流转发的入口方向或出口方向为所述报文流分配流标识ID;
确定模块,用于根据所述流ID确定与所述报文流匹配的负载算法模板以及成员链路选择范围,所述负载算法模板包括至少一个链路特征,所述负载算法模板用于根据所述至少一个链路特征在所述成员链路选择范围中确定承载所述报文流的成员链路;
选择模块,用于根据所述负载算法模板在所述成员链路选择范围中选择用于承载所述报文流的成员链路。
8.根据权利要求7所述的负载均衡装置,其特征在于,所述分配模块,用于根据所述报文流的部分或全部五元组的值,在所述报文流转发的入口方向或出口方向识别所述报文流是否为特定报文流;在所述报文流为所述特定报文流时,在预留分配的ID中为所述特定报文流分配所述流ID;以及,在所述报文流为非特定报文流时,为所述非特定流动态分配剩余流ID,所述剩余流ID为除预留分配的ID之外的其余ID。
9.根据权利要求7或8所述的负载均衡装置,其特征在于,所述确定模块,用于在所述流ID与任一负载算法模板之间存在对应关系时,确定所述任一负载算法模板为与所述报文流匹配的负载算法模板;以及,在不存在与所述流ID对应的负载算法模板时,确定默认负载算法模板为与所述报文流匹配的负载算法模板;
其中,所述负载算法模板包括以下链路特征中的至少一个:链路带宽利用率、链路负载流条目数、链路平均时延、链路丢包拥塞记录、链路流量入口方向记录。
10.根据权利要求7-9任一项所述的负载均衡装置,其特征在于,所述确定模块,还用于根据链路聚合组中成员链路与流ID之间的映射关系,确定与所述报文流ID对应的至少一个成员链路,所述至少一个成员链路构成所述成员链路选择范围,所述成员链路选择范围为强制成员链路的集合、优选成员链路的集合、拒绝成员链路的集合、默认成员链路的集合中的任意一个。
11.根据权利要求8-10任一项所述的负载均衡装置,其特征在于,所述选择模块,用于按照所述负载算法模板中链路特征的优先级选择优先级最高的链路特征,将所述成员链路选择范围中每个成员链路优先级最高的链路特征的值与链路特征有效性阈值进行比较,若所述成员链路优先级最高的链路特征的值大于所述链路特征有效性阈值,则确定所述成员链路为可选链路;
将所述可选链路上所述优先级最高的链路特征之间的差值与所述成员链路间许可偏差值进行比较,若所述差值在所述成员链路间许可偏差值内,则选择所述负载算法模板中所述优先级最高的链路特征的下一级链路特征,将所述成员链路选择范围中每个成员链路的下一级链路特征的值与所述链路有效性阈值和所述成员链路间许可偏差值进行比较,直至确定出所述用于承载所述报文流的成员链路。
12.根据权利要求9所述的负载均衡装置,其特征在于,当所述负载算法模板中包括所述链路平均时延时,所述装置还包括探测模块,
所述探测模块,用于通过链路汇聚控制协议LACP和双向转发检测协议BFD探测所述成员链路选择范围中任一成员链路的链路平均时延。
13.一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行如权利要求1-6中任一项的负载均衡方法。
14.一种通信设备,其特征在于,所述通信设备包括处理器,所述处理器用于执行如权利要求1-6中任一项的负载均衡方法。
CN201810998443.2A 2018-08-29 2018-08-29 一种负载均衡方法及装置 Active CN109067664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810998443.2A CN109067664B (zh) 2018-08-29 2018-08-29 一种负载均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810998443.2A CN109067664B (zh) 2018-08-29 2018-08-29 一种负载均衡方法及装置

Publications (2)

Publication Number Publication Date
CN109067664A true CN109067664A (zh) 2018-12-21
CN109067664B CN109067664B (zh) 2022-06-10

Family

ID=64757904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810998443.2A Active CN109067664B (zh) 2018-08-29 2018-08-29 一种负载均衡方法及装置

Country Status (1)

Country Link
CN (1) CN109067664B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314236A (zh) * 2020-04-14 2020-06-19 杭州迪普科技股份有限公司 报文转发方法及装置
CN112152872A (zh) * 2020-08-31 2020-12-29 新华三大数据技术有限公司 一种网络亚健康检测方法及装置
CN112600748A (zh) * 2020-12-02 2021-04-02 广东中兴新支点技术有限公司 面向vpn隧道的多链路聚合方法、系统及存储介质
CN112702277A (zh) * 2020-12-15 2021-04-23 锐捷网络股份有限公司 一种负载均衡配置优化的方法和装置
CN113923164A (zh) * 2021-09-30 2022-01-11 中国电信股份有限公司 链路拥塞检测方法及相关设备
CN113938519A (zh) * 2021-11-11 2022-01-14 深圳市风云实业有限公司 一种基于软硬件结合的网络流量负载均衡方法及系统
CN113949636A (zh) * 2021-09-16 2022-01-18 阿里巴巴达摩院(杭州)科技有限公司 数据传输方法、网关设备及网络系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098224A (zh) * 2011-02-16 2011-06-15 中兴通讯股份有限公司 数据流负荷分担方法及装置
CN107370676A (zh) * 2017-08-03 2017-11-21 中山大学 一种融合QoS及负载均衡需求的路由选择方法
CN107959633A (zh) * 2017-11-18 2018-04-24 浙江工商大学 一种工业实时网络中基于价格机制的多路径负载均衡方法
CN108390820A (zh) * 2018-04-13 2018-08-10 华为技术有限公司 负载均衡的方法、设备及系统
US10057174B2 (en) * 2015-08-14 2018-08-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic group multipathing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098224A (zh) * 2011-02-16 2011-06-15 中兴通讯股份有限公司 数据流负荷分担方法及装置
US10057174B2 (en) * 2015-08-14 2018-08-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic group multipathing
CN107370676A (zh) * 2017-08-03 2017-11-21 中山大学 一种融合QoS及负载均衡需求的路由选择方法
CN107959633A (zh) * 2017-11-18 2018-04-24 浙江工商大学 一种工业实时网络中基于价格机制的多路径负载均衡方法
CN108390820A (zh) * 2018-04-13 2018-08-10 华为技术有限公司 负载均衡的方法、设备及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314236A (zh) * 2020-04-14 2020-06-19 杭州迪普科技股份有限公司 报文转发方法及装置
CN112152872A (zh) * 2020-08-31 2020-12-29 新华三大数据技术有限公司 一种网络亚健康检测方法及装置
CN112152872B (zh) * 2020-08-31 2022-05-27 新华三大数据技术有限公司 一种网络亚健康检测方法及装置
CN112600748A (zh) * 2020-12-02 2021-04-02 广东中兴新支点技术有限公司 面向vpn隧道的多链路聚合方法、系统及存储介质
CN112600748B (zh) * 2020-12-02 2022-06-24 广东中兴新支点技术有限公司 面向vpn隧道的多链路聚合方法、系统及存储介质
CN112702277A (zh) * 2020-12-15 2021-04-23 锐捷网络股份有限公司 一种负载均衡配置优化的方法和装置
CN113949636A (zh) * 2021-09-16 2022-01-18 阿里巴巴达摩院(杭州)科技有限公司 数据传输方法、网关设备及网络系统
CN113923164A (zh) * 2021-09-30 2022-01-11 中国电信股份有限公司 链路拥塞检测方法及相关设备
CN113938519A (zh) * 2021-11-11 2022-01-14 深圳市风云实业有限公司 一种基于软硬件结合的网络流量负载均衡方法及系统

Also Published As

Publication number Publication date
CN109067664B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN109067664A (zh) 一种负载均衡方法及装置
US7486621B2 (en) Method and apparatus for load sharing and overload control for packet media gateways under control of a single media gateway controller
US8068417B1 (en) System, method, and computer program product for processing flow requests based on an associated preference using a single computation
CN100396016C (zh) 在内容分发网络中保障服务水平的系统和方法
WO2021012663A1 (zh) 一种访问日志的处理方法及装置
CN106656847A (zh) 网络效用最大化的sdn负载均衡方法
CN107005485A (zh) 一种确定路由的方法、对应装置及系统
CN102904955B (zh) 云计算平台中Web应用的自适应伸缩控制系统及其方法
CN103532869B (zh) 一种流量分担方法及设备
JP2002245017A (ja) トランザクションのための要求されるサービスレベルを特定するための装置および方法
CN102098301A (zh) 多链路自适应的数据传输方法与系统
CN105516347A (zh) 一种流媒体服务器的负载均衡调配的方法及装置
CN105451197A (zh) 一种通讯信息的发送方法和装置
CN102056319A (zh) 一种资源调度方法及无线网络控制器
CN110365748A (zh) 业务数据的处理方法和装置、存储介质及电子装置
CN108446179B (zh) 基于负载均衡机制的权重优先Task任务调度方法
CN108471629A (zh) 传输网络中业务服务质量的控制方法、设备及系统
CN101594307A (zh) 基于多级队列的调度方法和系统
CN101827017A (zh) 一种动态分配网络流量的方法及系统
CN109089255A (zh) 用户位置通知控制方法、装置、系统、设备及存储介质
CN106162758A (zh) 业务处理方法、pcrf以及业务处理系统
CN109150756A (zh) 一种基于sdn电力通信网的队列调度权值量化方法
CN104301241B (zh) 一种soa动态负载分发方法与系统
CN106937323A (zh) 一种用户终端数量的监控方法及相关设备
CN102316483A (zh) 一种EVDO系统中保证应用业务QoS的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant