一种链路聚合方法、端口负载均衡方法及其装置转让专利
申请号 : CN200710027247.2
文献号 : CN100583895C
文献日 : 2010-01-20
发明人 : 孙默
申请人 : 华为技术有限公司
摘要 :
权利要求 :
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亍端口负载均衡。此外,本发明实施例提供的一种端口负载均衡方法及其装置,在从上层网络设备收到报文且找不到与之相对应的端 口时,通过计算并判断负载率最小的端口,将所述报文从该负载率最小的端口 发送,使包含有不同速率端口的聚合器的各下属端口的负载达到了均衡。
附图说明
图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各端口本端的速率信息及配置信息表