一种链路聚合方法、端口负载均衡方法及其装置转让专利

申请号 : CN200710027247.2

文献号 : CN100583895C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙默

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种链路聚合方法,该方法在选择待聚合端口时依据本端端口及对端端口的配置信息,而不考虑其速率信息,从而使速率不同的端口也能聚合成一个聚合器,同时在链路聚合过程中,给端口赋予与其速率相对应的速率权重值,使聚合器知晓各端口的相对速率,以便进行端口负载均衡。本发明还公开了一种端口负载均衡方法及其装置,其中,该方法通过确定负载率最小的成员端口,使聚合器在收到上层网络设备报文且查找不到与之相对应的端口时,选择负载率最小的成员端口发送该报文。通过本发明可使速率不同的端口也能聚合成一个聚合器,灵活地满足客户的带宽需要,降低了设备成本,同时使各端口的负载达到均衡。

权利要求 :

1、一种链路聚合方法,其特征在于,包括: 获取与本端链路端口相对应的对端链路端口的配置信息; 从本端链路端口中选择待聚合端口,所述待聚合端口为本端配置信息及其对端配置信息均一致的本端链路端口;所述配置信息包括有该端口的系统标识、工作模式; 获取待聚合端口的速率信息,并根据所述速率信息对每一待聚合端口设置一速率权重值; 将待聚合端口形成一聚合器; 所述聚合器从上层网络设备收到报文时查找与该报文对应的端口,如果查找到所述对应端口则从该端口转发,否则,执行以下步骤; 读取所述各端口的速率权重值;根据端口的负载量及该端口的所述速率权重值,计算所述各端口的负载率值;比较所述各端口的负载率值并判断负载率最小的端口; 将所述报文从确定的所述负载率最小的端口发送,并记录所述报文与该端口的对应关系。

2、 如权利要求1所述的链路聚合方法,其特征在于,所述根据速率信息 对每一待聚合端口设置速率权重值具体为:根据所述速率信息获得端口速率, 将该端口速率除以某一预设值获得该端口速率权重值,并将该速率权重值赋予 所述端口 。

3、 如权利要求1所述的链路聚合方法,其特征在于,所述根据速率信息 对每一待聚合端口设置速率权重值具体为:根据所述速率信息获得端口速率, 才艮据所述端口速率的大小确定该端口的转发优先级值,并将该转发优先级值作 为速率权重值赋予该端口 。

4、 一种端口负载均衡方法,用于均衡聚合器各端口的负载,所述聚合器 包括有不同速率的端口,其特征在于,该方法包括:a、 所述聚合器从上层网络设备收到报文时查找与该报文对应的端口 ,如 果查找到所述对应端口则从该端口转发,否则,执行步骤b;b、 确定所述聚合器各端口中负载率最小的端口 ;c、 将所述报文从确定的所述负载率最小的端口发送,并记录所述报文与 该端口的对应关系;所述步骤b具体包括以下步骤: b 1 、读取所述各端口的速率权重值;b2、根据端口的负载量及该端口的所述速率权重值,计算所述各端口的负 载率值;b3、比较所述各端口的负载率值并判断负载率最小的端口 。

5、 如权利要求4所述的端口负载均衡方法,其特征在于,所述计算端口 负载率的方式为:将端口的负载量除以该端口的所述速率权重值。

6、 如权利要求5所述的端口负载均衡方法,其特征在于,所述负载量为 该端口负载的才艮文流数或该端口负载的才艮文流量总和。

7、 一种端口负载均衡装置,用于均衡聚合器各端口的负载,所述聚合器 包括有不同速率的端口,其特征在于,该端口负载均衡装置包括有端口负载率 处理单元、控制单元,其中:所述端口负载率处理单元,用于根据控制单元下发的比较命令确定负载率 最小的端口,并将结果发送至控制单元;所述控制单元,用于在所述聚合器收到上层网络设备的报文且查找不到与 该报文相对应的端口时对端口负载率处理单元下发比较命令,并在收到所述端 口负载率处理单元的所述结果后通知所述聚合器将所述报文从所述负载率最小 的端口发送;所述端口负载率处理单元进一步包括有计算单元、比较单元,其中: 所述计算单元,用于接收所述控制单元的比较命令,读取各端口的负载量及该端口的所述速率权重值,计算各端口的负载率并将计算结果发送给所迷比较单元;所述比较单元,用于接收所述计算单元的计算结果,比较所述各端口的负 载率的大小,并确定负载率最小的端口。

8、 如权利要求7所述的端口负载均衡装置,其特征在于,所述负载量为 该端口负载的净艮文流凄t或该端口负载的才艮文流量总和。

说明书 :

一种链路聚合方法、端口负载均衡方法及其装置

技术领域

本发明涉及数据通信领域,具体地涉及一种链路聚合方法、端口负载均衡 方法及其装置。

背景技术

链路聚合是一种将多个以太链路聚合成一个逻辑接口以提升带宽、提高可
靠性的4支术。其4支术原理是:将一个系统上的多个相同属性的以太"t妻口绑定到 一个逻辑接口,该逻辑接口称为聚合器,其下属的以太接口称为成员端口。聚 合器向上层网络设备提供以太链路层的报文处理服务,屏蔽掉具体的物理端口 。 在发送报文时,上层网络设备只需将报文发送给聚合器,由聚合器按照一定原 则将报文分发给其下属的某个成员端口,由成员端口将报文发出。成员端口接 收到报文后,会将报文交给聚合器统一处理,由聚合器负责向上层网络设备传 递才艮文。
为了保证能够将合适的链路聚合在一起形成聚合器,链路聚合技术采用链 路聚合控制协议(Link Aggregation Control Protocol, LACP)来4全测两端成员链 路配置,以决定哪些链路可以聚合在一起。
LACP协议通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit, LACPDU )与对端交互信息。4吏能某端口的LACP协议后, 该端口将通过发送LACPDU向对端通告自己的系统标识(ID)、和运4亍关4走字 (Key)等信息。运行关4泉字(Key)是LACP协议根据端口的配置(即速率、 双工模式、基本配置等)生成的一个配置组合值。同一个聚合器的成员端口一 定要有相同的运行关键字(Key)。对端接收到这些信息后,将这些信息与其它 端口所保存的信息进行比较,以选择能够聚合的端口,从而双方可以对端口加 入或退出某个聚合器达成一致。
链路聚合的主要步骤如下: (1 )首先使能了链路聚合功能的端口会与其对端端口进行信息交互,获取对端端口的系统ID、速率等信息;
(2) 然后,本端系统会首先根据速率等信息选择属性一致的待聚合端口;
(3) 在选出的待聚合端口中,再选出其对端端口信息(系统ID、速率等) 一至丈的端口 ;
(4) 将选出的端口聚合在一起,形成聚合器。
由于端口的速率信息是作为选择聚合端口的依据,因此不同速率的端口是 不可能聚合在一起的。
采用链路聚合技术,有以下好处:
第一,提高可靠性。对上层网络应用来说,其访问的是逻辑接口聚合器, 由于聚合器聚合了多个成员端口,所以当部分成员端口掉线时,只会降低该逻 辑接口的带宽,并不会发生通讯中断;
第二,可以线性提高带宽。以太端口的带宽是按10M、 100M、 1000M等来 分类的,但有的业务会需要30M、 400M这样的带宽,采用链路聚合技术可以满 足这种需求,避免浪费带宽资源。
但是,现有的链路聚合协议规定聚合组内所有子链路必须工作在相同的数 据速率下。LACP协议在交互信息时,本端端口通过向对端发送携带运行关键字 (Key)的LACPDU将本端端口速率信息告诉对端,同时从对端发来的LACPDU 中获取对端的运行关键字(Key),只有本端端口运行关4建字(Key)和对端端 口运行关键字(Key)都相同的端口才会聚合在一起,形成一个聚合器。也就是 说,聚合器中本端端口的速率必须相同,同时它们的对端端口的速率也必须相 同。
由此可以看出,现有链路聚合方式要求只有相同速率的端口才能聚合在一 起,由于以太链路的带宽是以10M、 IOOM、 IOOOM等速率离散的,因此现有链 路聚合方式的线性提高带宽能力存在较大局限性。比如:如果用户的带宽需求 是350M或者2500M,那么前者只能用35个10M以太链路聚合在一起,后者需要 25个100M以太链路。在实际中,几乎没有哪种设^^有这样多的以太端口,因 此聚合这样多的链路来满足带宽需求是难以实现的。

发明内容

本发明实施例提供一种链路聚合方法,使之可以聚合不同速率的端口,以更灵活地满足客户的带宽需要。
为了解决上述技术问题,本发明实施例提出了一种链路聚合方法,其包括:
获取与本端链路端口相对应的对端4连^各端口的配置信息;
从本端链路端口中选择待聚合端口 ,所述待聚合端口为本端配置信息及其
对端配置信息均一致的本端链路端口 ;
获取待聚合端口的速率信息,并根据所述速率信息对每一待聚合端口设置 一速率纟又重值;
将待聚合端口形成一聚合器。
相应地,本发明实施例提供一种端口负载均衡方法,用于均衡聚合器各端 口的负载,所述聚合器包括有不同速率的端口,该方法包括:
a、 所述聚合器从上层网络设备收到报文时查找与该报文对应的端口,如果 查找到所述对应端口则从该端口转发,否则,执行步骤b;
b、 确定所述聚合器各端口中负载率最小的端口;
c、 将所述报文从确定的所述负载率最小的端口发送,并记录所述才艮文与该 端口的对应关系。
本发明实施例还提供一种端口负载均衡装置,用于均衡聚合器各端口的负 载,所述聚合器包括有不同速率的端口。该端口负载均衡装置包括有端口负载 率处理单元、控制单元,其中:
所述端口负载率处理单元,用于根据控制单元下发的比较命令确定负载率 最小的端口,并将结果发送至控制单元;
所述控制单元,用于在所述聚合器收到上层网络设备的报文且查找不到与 该报文相对应的端口时对端口负载率处理单元下发比较命令,并在收到所述端 口负载率处理单元的所述结果后通知所述聚合器将所述报文从所述负载率最小 的端口发送。
本发明实施例提供的一种链路聚合方法,在选择待聚合端口时依据本端端 口及对端端口的配置信息而不考虑其速率信息,从而使速率不同的端口也能聚 合成一个聚合器,灵活地满足客户的带宽需要,降低了设备成本;同时,在链 路聚合过程中,给端口赋予与其速率相对应的速率权重值,使聚合器知晓各端 口的相对速率,以便进4亍端口负载均衡。此外,本发明实施例提供的一种端口负载均衡方法及其装置,在从上层网络设备收到报文且找不到与之相对应的端 口时,通过计算并判断负载率最小的端口,将所述报文从该负载率最小的端口 发送,使包含有不同速率端口的聚合器的各下属端口的负载达到了均衡。

附图说明

图l是现有技术中链路聚合方法的流程示意图;
图2是本发明链路聚合方法的一个实施例的流程示意图;
图3是本发明端口负载均衡方法的一个实施例的流程示意图;
图4是图3中步骤S3002具体实施例的细化流程示意图;
图5是本发明端口负栽均衡装置的一个实施例的功能模块示意图。

具体实施方式

下面结合附图对本发明作进一步详细清楚的说明。
图2示出了本发明中链路聚合方法的一个实施例的流程示意图,其包括以 下步骤:
步骤S2001:获取与本端链路端口相对应的对端链路端口的配置信息。
在聚合链路端口之前,本端系统首先要获得本端链路端口及其对端链路端 口的配置信息。作为一种实施方式,在使能了链路聚合功能后,可以使本端链 路端口与其对端端口交换配置信息,从而使本端系统获得与本端链路端口相对 应的对端链路端口的配置信息。在本步骤S2001中交换的配置信息可以包括系 统ID、工作模式(单、双工)等信息,不包括端口的速率信息。
步骤S2002:从本端链路端口中选择待聚合端口 ,所述待聚合端口为本端配 置信息及其对端配置信息均一致的本端链路端口 。
在此步骤中,本端系统首先根据单、双工工作模式等配置信息选择出属性 一致的端口;在选出的端口中,再选出其对端端口的配置信息(系统ID、工作 模式等)也一致的端口作为待聚合端口。
步骤S2003:获取待聚合端口的速率信息,并纟艮据所述速率信息对每一待聚 合端口设置一速率权重值。
不同速率的端口聚合在一起,可能带来的问题为:如果形成的聚合器在报 文分发时不知道端口的速率差异,那么会在其下属端口之间进行平均分发,这样速率高和速率低的端口实际负载就是一样的,造成了带宽资源的浪费。为了 解决这一问题,在形成聚合器时给每个成员端口增加一个速率权重值,不同速 率的端口其速率权重值不同。作为一种实施方式,可以将端口的速率权重值设 置为与该端口速率成正比,即,根据端口的速率信息获得端口速率,将该端口
速率除以某一预设值获得该端口的速率权重值,赋予该端口。例如:对于端口 速率为10M的端口,可以将其速率值除以预设值10,得到该端口的速率权重值 为1,则端口速率为100M的端口其速率权重值为10。作为另一种实施方式,也 可以通过根据端口速率的大小设置端口的转发优先级值来赋予端口速率权重 值,速率越大的端口其转发优先级越高,即其优先级值越大。当两个端口的报 文总负载量一样大时,从优先级值大的端口转发报文。这样,通过读取速率权 重值,就可以判断各端口的相对速率,从而使各成员端口的负载均衡成为可能。 步骤S2004:将待聚合端口形成一聚合器。
例如, <既设本端有4个端口,编号分别为1、 2、 3、 4,其本端及对端的速 率信息及系统ID、工作模式等配置信息如下两表所示:
表l各端口本端的速率信息及配置信息表
table see original document page 9

表2各端口对端的速率信息及配置信息表
table see original document page 9

假设端口l、 2、 3、 4都开启了端口聚合功能,则本端和对端交换个端口的 配置信息后,本端系统首先根据表l选出本端的配置信息一致的端口l、 2、 3, 然后再根据表2选出对端的配置信息也一致的端口1、 3作为待聚合端口,然后, 再根据各端口的速率信息分别给端口l、 3赋予相对应的速率权重值,例如,可以将速率权重值l、 100分别赋予端口1、 3,然后,本端系统将赋予了速率权重 值的端口l、 3聚合在一起,形成一个包含有不同速率端口的聚合器。或者,可 以根据端口l、 3实际速率的大小赋予它们不同的优先级值,如,分别赋予端口l、 3的优先级值为1、 5。
在本发明链路聚合方法的实施例中,本端系统不再根据端口的速率信息选 择待聚合端口,可以把不同速率的端口聚合在一起,灵活地利用了带宽,满足 了客户的带宽需要;同时通过对聚合后的各下属端口赋予速率权重值,为速率 不同的各下属端口之间实现负载均衡提供了可能。
进一步地,为解决聚合器各成员端口的负载均衡问题,本发明实施例还提 供一种端口负载均衡方法,用于均衡聚合器各成员端口的负载,该聚合器为按
照上述链路聚合方法形成的含有不同速率端口的聚合器,该方法的流程示意图
如图3所示,包括有以下步骤:
步骤S3001:所述聚合器从上层网络设备收到报文时查找与该报文对应的端 口,如果查找到所述对应端口则扭4于步骤S3004,否则,执行步骤S3002。
聚合器从上层网络设备收到报文时,首先根据报文中的报文流信息(源IP、 目的IP等)查找报文流与端口对应关系表;如果查到该报文对应的端口,执行步 骤S3004;否则说明是一个新的报文流,将从其成员端口中选取一个负载率最小 的端口发送,即执行步骤S3002。该报文流与端口对应关系表为聚合器在发送报 文时记录的报文与发送该报文的端口的对应关系。
步骤S3002:确定所述聚合器各端口中负载率最小的端口 。
步骤S3003:将所述报文从确定的所述负载率最小的端口发送,并记录所述 报文与该端口的对应关系。
步骤S3004:将该报文从所述对应的端口发送。
步骤S3002的具体实施例的细化流程图如图4所示,包括以下步骤:
步骤S4001:读取所述各端口的速率权重值。
步骤S4002:根据端口负载量及该端口的所述速率权重值,计算所述各端口 的负载率值。
作为 一种实施方式,将端口负载量除以该端口的速率权重值可以得到该端 口的负载率值。
步骤S4003:比较所述各端口的负载率值并判断负载率最小的端口 。作为一种实施方式,所述端口的负载量可以理解为端口负载的报文流数。 当然,在实际应用中,有的系统的各个报文流实际流量并不是相等的,可能会 出现某些报文流流量很大,某些报文流流量很小,这种情况下,端口的负载量 也可以理解为端口负载的报文流的流量总和。
这里所述速率权重值为在形成聚合器时对不同速率的各成员端口赋予的对
应于其速率的权重值。作为一种实施方式,可以将端口的速率权重值设置为与 该端口实际速率成正比,即,才艮据端口的速率信息获得端口速率,将该端口速
率除以某一预设值获得该端口的速率权重值,赋予该端口。例如:对于端口速 率为10M的端口,可以将其速率值除以预设值IO,得到该端口的速率权重值为l, 则端口速率为100M的端口其速率寿又重值为10。作为另一种实施方式,也可以通 过根据端口速率的大小设置端口的转发优先级值来赋予端口速率权重值,速率
越大的端口其转发优先级越高,即其优先级值越大。当两个端口的才艮文总负载
量一样大时,从优先级值大的端口转发^t艮文。那么,将端口的负载量除以该端
口的速率权重值后所得的负载率值可以反映出该端口的实际负载流量的情况。
负载率值越小的端口其负载率越小。将各端口的负载率值作比较,负载率值最 小的端口其负载率最小。
采用端口负载率等于端口负载量除以速率^L重值的定义,使端口负载率真 正反映出端口的实际负载流量的情况。
采用上述端口负载均衡方法,可以有效的将报文流分发到各个端口上,并 且保证速率权重值大的端口会负载较多的报文流,能够充分利用端口带宽。
相应地,本发明实施例还提供一种端口负载均衡装置,用于均衡聚合器各
的包括有不同速率端口的聚合器。图5示出了该均衡装置的 一个实施例的功能模 块组成示意图。该装置包4舌有端口负载率处理单元1、控制单元2。
端口负载率处理单元l用于根据控制单元2下发的比较命令确定负载率最小 的端口,并将结果发送至控制单元2。
控制单元2用于在所述聚合器收到上层网络设备的报文且查找不到与该报 文相对应的端口时对端口负载率处理单元l下发比较命令,并在收到端口负载率 处理单元l的判断结果后通知所述聚合器将所述报文从所述负载率最小的端口 发送。作为一种实施方式,端口负载率处理单元可以进一步包4舌有计算单元11和比较单元12。计算单元n用于接收所述控制单元2的比较命令,读取各端口的 负载量及该端口的所述速率权重值,计算各端口的负载率并将计算结果发送给所述比较单元12;比较单元12用于接收所述计算单元11的计算结果,比较所 述各端口的负载率.的大小,并确定负载率最小的端口。作为一种实施方式,计算单元ll计算端口负载率的方式可以为:将所述端 口负载量除以该端口的所述速率权重值,得到该端口的负载率值。上面提到的端口的负载量可以理解为端口负载的报文流数。当然,在实际 应用中,有的系统的各个报文流实际流量并不是相等的,可能会出现某些报文 流流量很大,某些报文流流量很小,这种情况下,端口的负载量也可以理解为 端口负载的报文流的流量总和。通过该端口负载均衡装置,可以有效的将报文流分发到各个端口上,并且 保证速率权重值大的端口会负载较多的报文流,能够充分利用端口带宽。以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明 之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。