聚合链路动态均衡方法及系统的制作方法

文档序号:9618644阅读:333来源:国知局
聚合链路动态均衡方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,具体涉及一种聚合链路动态均衡方法及系统。
【背景技术】
[0002]把多个物理链接捆绑在一起形成一个逻辑链接,这个逻辑链接称之为AggregatePort (以下简称AP)。AP功能符合IEEE802.3ad标准,它可以用于扩展链路带宽,提供更高的连接可靠性。
[0003]AP功能支持流量平衡,可以把流量均匀地分配给各成员链路。其中,AP可以根据报文的源MAC地址、目的MAC地址,源MAC地址+目的MAC地址、源IP地址,目的IP地址以及源IP地址+目的IP地址等计算HASH值,然后根据HASH值把流量平均地分配到AP的各成员链路中。然而HASH均衡算法,是一个无状态算法,基于业务报文,散列到固定的链路。这种算法导致的问题是业务可能HASH到相同的链路,导致某些链路拥塞,某些链路无业务。

【发明内容】

[0004]针对现有技术中的缺陷,本发明提供一种聚合链路动态均衡方法及系统,本发明可以有效实现链路均衡,避免出现部分链路拥堵,部分链路闲置问题。
[0005]为解决上述技术问题,本发明提供以下技术方案:
[0006]第一方面,本发明提供了一种聚合链路动态均衡方法,包括:
[0007]根据出口卡中各链路的负载情况和丢包情况为来自某用户的报文选择链路;
[0008]当出口卡中存在多个不丢包链路时,为所述报文选择第一轻载链路;所述第一轻载链路为链路权重小于第一预设链路权重的链路;
[0009]当出口卡中只存在一个不丢包链路时,为所述报文选择该不丢包链路;
[0010]当出口卡中各链路均为丢包链路时,为所述报文选择第二轻载链路;所述第二轻载链路为链路权重小于第二预设链路权重的链路。
[0011]进一步地,在为所述报文选择第一轻载链路或第二轻载链路时,所述链路权重的计算方式为:
[0012]当80%时,5% *W1 1;
[0013]当50%< 1^< 80%时,40% *W1 1;
[0014]当L# 50%时,W1 1;
[0015]相应地,所述第一预设链路权重或第二预设链路权重的计算方式为:
[0016]W,= (W...+Wn)/m ;
[0017]其中,Wi为第i条链路当前时刻的链路权重,L i为第i条链路当前时刻的链路负载,Wh为第i条链路的链路带宽,Ψ表示第一预设链路权重或第二预设链路权重,
1 ^ i <n,n为当前时刻出口卡中总的链路数,m为出口卡中当前时刻所有链路上的总用户数。
[0018]进一步地,在根据出口卡中各链路的负载情况和丢包情况为来自某用户的报文选择链路之前,所述方法还包括:
[0019]在每个预设周期向出口卡发送用于请求各链路的速率信息和队列丢包信息的请求消息;
[0020]接收出口卡根据所述请求消息发送的包含各链路的速率信息和队列丢包信息的响应消息,根据所述响应消息获取所述出口卡中各链路的负载情况和丢包情况;
[0021]其中,所述响应消息中的各链路的速率信息和队列丢包信息为所述出口卡在所述预设周期内通过多次采样获取的各链路的平均速率信息和平均队列丢包信息。
[0022]进一步地,在根据所述响应消息获取所述出口卡中各链路的负载情况和丢包情况之前,所述方法还包括:
[0023]若所述报文中携带有指定出口链路,且所述指定出口链路未发生故障,则为该报文选择所述指定出口链路,否则根据出口卡中各链路的负载情况和丢包情况为该报文选择链路;
[0024]若所述报文中携带有优选出口链路,且所述优选出口链路不存在丢包情况,则为该报文选择所述优选出口链路,否则根据出口卡中各链路的负载情况和丢包情况为该报文选择链路。
[0025]进一步地,在根据所述响应消息获取所述出口卡中各链路的负载情况和丢包情况之前,所述方法还包括:
[0026]判断所述报文对应的用户是否为新用户,若否,则判断所述用户预先对应的链路是否存在丢包情况,若不存在,则为所述报文选择该用户预先对应的链路;否则根据出口卡中各链路的负载情况和丢包情况为所述报文选择链路。
[0027]进一步地,所述方法还包括:记录为所述报文选择链路的时间;
[0028]相应地,当再次为所述报文选择链路时,判断当前时间距离最近一次为该报文选择链路的时间是否超过预设时间阈值,若是,则根据出口卡中各链路的负载情况和丢包情况为该报文选择链路;否则,为该报文选择原来的链路。
[0029]第二方面,本发明还提供了一种聚合链路动态均衡系统,包括:
[0030]均衡单元,用于根据出口卡中各链路的负载情况和丢包情况为来自某用户的报文选择链路;
[0031]其中,所述均衡单元,具体用于:
[0032]当出口卡中存在多个不丢包链路时,为所述报文选择第一轻载链路;所述第一轻载链路为链路权重小于第一预设链路权重的链路;
[0033]当出口卡中只存在一个不丢包链路时,为所述报文选择该不丢包链路;
[0034]当出口卡中各链路均为丢包链路时,为所述报文选择第二轻载链路;所述第二轻载链路为链路权重小于第二预设链路权重的链路。
[0035]进一步地,在所述均衡单元为所述报文选择第一轻载链路或第二轻载链路时,所述链路权重的计算方式为:
[0036]当80%时,5% *W1 1;
[0037]当50%< 1^< 80%时,40% *W1 1;
[0038]当L# 50%时,W1 1;
[0039]相应地,所述第一预设链路权重或第二预设链路权重的计算方式为:
[0040]W,= (W...+Wn)/m ;
[0041]其中,Wi为第i条链路当前时刻的链路权重,L i为第i条链路当前时刻的链路负载,Wh为第i条链路的链路带宽,Ψ表示第一预设链路权重或第二预设链路权重,
1 ^ i <n,n为当前时刻出口卡中总的链路数,m为出口卡中当前时刻所有链路上的总用户数。
[0042]进一步地,所述系统还包括:获取单元;
[0043]所述获取单元包括:发送模块和接收模块;
[0044]所述发送模块,用于在每个预设周期向出口卡发送用于请求各链路的速率信息和队列丢包信息的请求消息;
[0045]所述接收模块,用于接收出口卡根据所述请求消息发送的包含各链路的速率信息和队列丢包信息的响应消息,根据所述响应消息获取所述出口卡中各链路的负载情况和丢包情况;
[0046]其中,所述响应消息中的各链路的速率信息和队列丢包信息为所述出口卡在所述预设周期内通过多次采样获取的各链路的平均速率信息和平均队列丢包信息。
[0047]进一步地,所述系统还包括:第一判断单元和第二判断单元;
[0048]所述第一判断单元,用于判断所述报文中是否携带有指定出口链路或优选出口链路;
[0049]所述第二判断单元,用于在所述第一判断单元确定所述报文中携带有指定出口链路时,判断所述指定出口链路是否发生故障;
[0050]或,用于在所述第一判断单元确定所述报文中携带有优选出口链路时,判断所述优选出口链路是否存在丢包情况;
[0051]所述均衡单元,还用于在所述第二判断单元确定所述指定出口链路未发生故障时,为所述报文选择所述指定出口链路;或,
[0052]在所述第二判断单元确定所述指定出口链路发生故障时,根据出口卡中各链路的负载情况和丢包情况为所述报文选择链路;
[0053]所述均衡单元,还用于在所述第二判断单元确定所述优选出口链路不存在丢包情况时,为所述报文选择所述优选出口链路;或,
[0054]在所述第二判断单元确定所述优选出口链路存在丢包情况时,根据出口卡中各链路的负载情况和丢包情况为所述报文选择链路。
[0055]进一步地,所述系统还包括:第三判断单元和第四判断单元;
[0056]所述第三判断单元,用于判断所述报文对应的用户是否为新用户;
[0057]所述第四判断单元,用于在所述第三判断单元确定所述报文对应的用户不为新用户时,判断所述用户预先对应的链路是否存在丢包情况;
[0058]所述均衡单元,还用于在所述第四判断单元确定所述用户预先对应的链路不存在丢包情况时,为所述报文选择该用户预先对应的链路;
[0059]或,
[0060]在所述第四判断单元确定所述用户预先对应的链路存在丢包情况时,根据出口卡中各链路的负载情况和丢包情况为所述报文选择链路。
[0061]进一步地,所述系统还包括:记录单元;
[0062]相应地,所述均衡单元包括获取模块、判断模块和均衡模块;
[0063]其中,所述记录单元,用于记录所述均衡模块为所述报文选择链路的时间;
[0064]相应地,当所述均衡模块再次为所述报文选择链路时,所述获取模块,用于从所述记录单元中获取所述均衡模块最近一次为所述报文选择链路的时间;
[0065]所述判断模块,用于判断当前时间距离所述均衡模块最近一次为所述报文选择链路的时间是否超过预设时间阈值;
[0066]所述均衡模块,用于在所述判断模块确定当前时间距离所述均衡模块最近一次为所述报文选择链路的时间超过预设时间阈值时,根据出口卡中各链路的负载情况和丢包情况为该报文选择链路;
[0067]或,
[0068]在所述判断模块确定当前时间距离所述均衡模块最近一次为所述报文选择链路的时间未超过预设时间阈值时,为该报文选择原来的链路。
[0069]第三方面,本发明还提供了一种网卡,包括上面所述的聚合链路动态均衡系统。
[
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1