一种IRF故障处理方法和IRF故障检测系统转让专利

申请号 : CN201010243824.3

文献号 : CN101917287B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王一成熊定山

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种IRF故障处理方法和IRF故障检测系统,分别给IRF设备中的每个IRF成员设备设置优先级参数,监控各自的链路状态,并根据被监控链路的状态调整优先级参数,在各IRF成员设备所发送的IRF故障检测报文中携带各自所对应的主成员设备优先级参数,从而,在IRF设备分裂时,可以根据相应的优先级参数,在分裂后的各IRF成员设备中,选择链路状态更优,故障更少的设备继续工作,而禁用其它设备,在确保系统中不会因为IRF设备分裂而产生冲突的前提下,进一步保证其他链路的通信业务,提高系统的可靠性。

权利要求 :

1.一种基于智能弹性架构IRF故障处理方法,应用于包括IRF设备和故障检测设备的系统中,所述IRF设备由两个IRF成员设备组成,各所述IRF成员设备之间通过IRF链路相连接,所述故障检测设备与所述IRF设备动态聚合,并分别与所述IRF设备中的各IRF成员设备建立链路聚合控制协议LACP检测链路,其特征在于,所述方法至少包括以下步骤:所述故障检测设备通过所述LACP检测链路接收各所述IRF成员设备发送的LACP报文,所述LACP报文包含IRF成员设备对应的主成员设备编号以及主成员设备优先级参数;

所述故障检测设备根据接收的所述LACP报文判断所述IRF设备发生分裂时,比较两个所述IRF成员设备对应的主成员设备优先级参数;

所述故障检测设备确定两个所述IRF成员设备对应的主成员设备优先级参数不同时,向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示,以使对应较大的主成员设备优先级参数的IRF成员设备继续进行报文转发。

2.如权利要求1所述的方法,其特征在于,所述故障检测设备通过所述LACP检测链路接收各所述IRF成员设备发送的LACP报文之前,所述方法还包括;

设置各所述IRF成员设备优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;

各所述IRF成员设备分别检测所设置的被检测链路是否发生故障;

当所述IRF成员设备检测到被检测链路发生故障时,所述IRF成员设备根据设置的优先级参数计算策略计算优先级参数。

3.如权利要求1所述的方法,其特征在于,所述方法还包括:

所述故障检测设备确定两个所述IRF成员设备对应的主成员设备优先级参数相同时,比较各IRF成员设备所对应的主成员设备编号,并向对应较大的主成员设备编号的IRF成员设备发送禁用指示,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。

4.一种IRF故障检测系统,包括IRF设备和故障检测设备,所述IRF设备由两个IRF成员设备组成,各所述IRF成员设备之间通过IRF链路相连接,所述故障检测设备与所述IRF设备动态聚合,并分别与所述IRF设备中的各IRF成员设备建立LACP检测链路,其特征在于,包括:所述故障检测设备包括第一接收模块、第一处理模块以及第一发送模块;

所述第一接收模块,用于通过所述LACP检测链路接收各所述IRF成员设备发送的LACP报文,其中,所述LACP报文包含IRF设备对应的主成员设备编号以及主成员设备优先级参数;

所述第一处理模块,用于根据接收的所述LACP报文判断两个所述IRF设备是否发生分裂,若判断所述IRF设备发生分裂时,则比较两个所述IRF成员设备对应的主成员设备优先级参数,若比较结果为不同,则通知所述第一发送模块向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示;

所述第一发送模块,用于根据所述第一处理模块的通知,向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示,以使所对应较大的主成员设备优先级参数的IRF成员设备继续进行报文转发。

5.如权利要求4所述的IRF故障检测系统,其特征在于,所述IRF成员设备包括第二发送模块、第二接收模块以及第二处理模块;

所述第二发送模块,用于通过所述LACP检测链路向所述故障检测设备发送所述LACP报文;

所述第二接收模块,用于接收所述禁用指示;

所述第二处理模块,用于根据接收的所述禁用指示停止进行报文转发。

6.如权利要求4所述的IRF故障检测系统,其特征在于,所述IRF成员设备,进一步包括:第二设置模块,用于分别设置优先级参数计算策略和被检测链路,其中,所述被检测链路为所述IRF成员设备上除所述IRF链路外的链路;

第二检测模块,与所述第二设置模块相连接,用于检测所述第二设置模块所设置的被检测链路是否发生故障; 第二计算模块,与所述第二设置模块和所述第二检测模块相连接,用于在所述第二检测模块检测到被检测链路发生故障时,根据所述第二设置模块所设置的优先级参数计算策略计算自身的优先级参数。

7.如权利要求4所述的IRF故障检测系统,其特征在于,所述第一处理模块,还用于:

在比较两个所述IRF成员设备所对应的主成员设备优先级参数相同时,比较两个所述IRF成员设备所对应的主成员设备编号,并通知所述第一发送模块向对应较大主成员设备编号的IRF成员设备发送禁用指示。

8.一种IRF故障处理方法,应用于包含IRF设备的系统中,所述IRF设备由两个IRF成员设备组成,各所述IRF成员设备之间通过IRF链路相连接,且各所述IRF成员设备之间建立双向转发检测BFD检测链路或地址解析协议ARP检测链路,其特征在于,所述方法至少包括以下步骤:IRF成员设备通过所述BFD检测链路或ARP检测链路接收另一个IRF成员设备发送的BFD报文或ARP报文,所述BFD报文或ARP报文包含另一个IRF成员设备对应的主成员设备编号以及主成员设备优先级参数;

所述IRF成员设备根据接收的所述BFD报文或ARP报文判断两个所述IRF设备发生分裂时,则判断自身对应的主成员设备优先级参数是否小于所述另一个IRF成员设备对应的主成员设备优先级参数;

如果判断结果为小于,所述IRF成员设备终止报文转发,以由所述另一个IRF成员设备继续进行报文转发。

9.如权利要求8所述的方法,其特征在于,所述IRF成员设备通过所述BFD检测链路或ARP检测链路接收另一个IRF成员设备发送的BFD报文或ARP报文,还包括;

设置各所述IRF成员设备优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;

各所述IRF成员设备分别检测所设置的被检测链路是否发生故障;

当所述IRF成员设备检测到被检测链路发生故障时,所述IRF成员设备 根据设置的优先级参数计算策略计算优先级参数。

10.如权利要求8所述的方法,其特征在于,所述IRF成员设备根据接收的所述BFD报文或ARP报文判断两个所述IRF设备发生分裂时,判断自身对应的主成员设备优先级参数是否小于所述另一个IRF成员设备对应的主成员设备优先级参数,具体为:当所述IRF成员设备通过所述BFD检测链路与另一个IRF成员设备建立BFD会话,并接收到另一个IRF成员设备发送的包含自身对应的主成员设备优先级参数的BFD报文时,所述IRF成员设备判断自身对应的主成员设备优先级参数是否小于所述BFD报文中携带的主成员设备优先级参数;或,当所述IRF成员设备接收到另一个IRF成员设备发送的包含自身对应的主成员设备优先级参数的ARP报文,且根据所述ARP报文判断所述IRF设备发生分裂时,所述IRF成员设备判断自身对应的主成员设备优先级参数是否小于所述ARP报文中携带的主成员设备优先级参数。

11.如权利要求10所述的方法,其特征在于,所述另一个IRF成员设备所发送的包含自身对应的主成员设备编号以及主成员设备优先级参数的BFD报文中,还包括优先级参数标识位,如果所述BFD报文中的优先级参数标识位标识所述BFD报文中携带优先级参数信息,所述IRF成员设备判断自身对应的主成员设备优先级参数是否小于所述BFD报文中携带的主成员设备优先级参数;

如果所述BFD报文中的优先级参数标识位标识所述BFD报文中没有携带优先级参数信息,所述IRF成员设备判断自身对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号,如果小于,所述IRF成员设备继续进行报文转发,如果不小于,所述IRF成员设备终止报文转发,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。

12.如权利要求8、10或11所述的方法,其特征在于,所述方法还包括:

如果判断结果为所述IRF成员设备自身对应的主成员设备优先级参数大于另一个IRF成员设备对应的主成员设备优先级参数,所述IRF成员设备继续进行报文转发; 如果判断结果为所述IRF成员设备自身对应的主成员设备优先级参数等于另一个IRF成员设备对应的主成员设备优先级参数,所述IRF成员设备判断自身对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号,如果小于,所述IRF成员设备继续进行报文转发,如果大于,所述IRF成员设备终止报文转发,由对应较小的主成员设备编号的所述另一个IRF成员设备继续进行报文转发。

13.一种IRF故障检测系统,包括由两个IRF成员设备所组成的IRF设备,两个IRF设备之间通过IRF链路相连接,且两个所述IRF成员设备之间建立BFD检测链路或ARP检测链路,其特征在于,包括:所述IRF成员设备包括设置模块、接收模块、判断模块和处理模块:

所述设置模块,用于设置IRF故障检测策略;

所述接收模块,与所述设置模块相连接,用于根据所述设置模块所设置的IRF故障检测策略,通过所述BFD检测链路接收另一个IRF成员设备发送的BFD报文,并在所述IRF设备发生分裂时,与所述另一个IRF成员设备建立BFD会话,或通过ARP链路接收另一个IRF成员设备发送的ARP报文,所述BFD报文或ARP报文包含另一个IRF成员设备对应的主成员设备编号以及主成员设备优先级参数;

所述判断模块,与所述接收模块相连接,用于在所述接收模块与所述另一个IRF成员设备建立BFD会话,或所述接收模块所接收的ARP报文表示所述IRF设备发生分裂时,判断所述IRF成员设备自身对应的主成员设备优先级参数是否小于所述接收模块所接收的所述BFD报文或ARP报文所携带的所述另一个IRF成员设备对应的主成员设备优先级参数;

所述处理模块,与所述判断模块相连接,用于在所述判断模块的判断结果为小于时,终止所述IRF成员设备进行报文转发,以由所述另一个IRF成员设备继续进行报文转发。

14.如权利要求13所述的IRF故障检测系统,其特征在于,所述IRF成员设备,还包括检测模块、计算模块和发送模块: 所述设置模块,还用于设置优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;

所述检测模块,与所述设置模块相连接,用于检测所述设置模块所设置的被检测链路是否发生故障;

所述计算模块,与所述设置模块和所述检测模块相连接,用于在所述检测模块检测到被检测链路发生故障时,根据所述设置模块所设置的优先级参数计算策略计算自身的优先级参数;

所述发送模块,与所述设置模块和所述计算模块相连接,用于根据所述设置模块所设置的IRF故障检测策略,通过所述BFD检测链路或ARP检测链路向另一个IRF成员设备发送BFD报文或ARP报文,所述BFD报文或ARP报文包含所述IRF成员设备对应的主成员设备编号以及主成员设备优先级参数。

15.如权利要求13所述的IRF故障检测系统,其特征在于,所述处理模块,还用于:

在所述判断模块的判断结果为所述IRF成员设备自身对应的主成员设备优先级参数大于另一个IRF成员设备对应的主成员设备优先级参数时,保持所述IRF成员设备继续进行报文转发;或,在所述判断模块的判断结果为所述IRF成员设备自身对应的主成员设备优先级参数等于另一个IRF成员设备对应的主成员设备优先级参数时,通知所述判断模块判断所述IRF成员设备对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号,如果小于,保持所述IRF成员设备继续进行报文转发,如果不小于,终止所述IRF成员设备进行报文转发,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。

说明书 :

一种IRF故障处理方法和IRF故障检测系统

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种IRF故障处理方法和IRF故障检测系统。 背景技术
[0002] IRF(Intelligent Resilient Framework,智能弹性架构)是将多台设备通过IRF链路连接在一起,进行必要的配置后,虚拟化成一台设备,一般称为IRF设备,使用这种虚拟化技术可以实现多台设备的协同工作、统一管理和不间断维护。
[0003] IRF设备中所有的单台设备称为成员设备,成员设备按照功能不同,分为两种角色:
[0004] (1)主成员设备
[0005] 负责管理整个IRF设备中的成员设备,由角色选举产生,一个IRF设备中同一时刻只能有一台主成员设备。
[0006] (2)从成员设备
[0007] 隶属于主成员设备的成员设备,作为主成员设备的备份设备运行,由角色选举产生,IRF设备中除了主成员设备,其它设备都是从成员设备。
[0008] 在实际应用中,根据当前的网络环境以及设备在网络中担当的角色,设备支持两种运行模式:
[0009] (1)独立运行模式
[0010] 处于该模式下的设备只能单机运行,不能与别的设备形成IRF设备。 [0011] (2)IRF模式
[0012] 处于该模式下的设备可以与别的设备互连形成IRF设备。
[0013] 需要说明的是,相对于独立运行模式下的设备,IRF设备主要具有以下优点: [0014] (1)简化管理
[0015] IRF设备形成之后,用户通过任意成员设备的任意端口都可以登录IRF设备的系统,对IRF设备内所有成员设备进行统一管理。
[0016] (2)高可靠性
[0017] IRF设备的高可靠性体现在多个方面,例如:IRF设备由多台成员设备组成,成员设备的角色有主成员设备和从成员设备之分,主成员设备负责IRF设备的运行、管理和维护,从成员设备在作为备份的同时也可以处理业务。一旦主成员设备故障,系统会迅速在从成员设备中自动选举新的主成员设备,以保证业务不中断;此外,IRF设备支持跨成员设备的聚合功能,多条链路之间可以互为备份也可以进行负载分担,从而进一步提高了IRF设备的可靠性。
[0018] (3)强大的网络扩展能力
[0019] 通过增加成员设备,可以轻松自如的扩展IRF设备的端口数、带宽。因为各成员设备都有CPU(Central Processing Unit,中央处理单元),能够独立处理协议报文、进行报文转发,所以IRF设备还能够轻松自如的扩展处理能力。
[0020] 在实际应用中,IRF设备中使用成员编号来标识和管理成员设备,IRF设备中所有成员设备的编号都是唯一的。
[0021] 比如,IRF设备中接口的编号会加入成员编号信息:设备在独立运行模式下,某个接口的编号为GigabitEthernet3/0/1,当该设备加入IRF后,如果成员编号为2,则该接口的编号将变为GigabitEthernet2/3/0/1。
[0022] 以两台设备为例,当两台设备工作在IRF模式下,通过IRF链路相连,进行必要的配置,会合并成一台IRF设备,这个过程称为IRF合并,该过程的流程示意图如图1所示。 [0023] 一个IRF设备形成后,由于IRF链路故障,导致IRF设备中两成员设备物理上不连通,IRF设备会分裂成两台工作在IRF模式下的独立设备,分裂后的两个独立的设备都是主成员设备,这个过程称为IRF分裂,该过程的流程示意图如图2所示。
[0024] IRF链路故障会导致一个IRF设备变成两台工作在IRF模式下的独立设备,这两台工作在IRF模式下的独立设备拥有相同的IP地址等三层配置,会引起地 址冲突,导致故障在网络中扩大。为了提高系统的可用性,当IRF设备分裂时我们就需要一种机制,能够检测出这种由于IRF分裂而出现的地址冲突,并进行相应的处理,尽量降低IRF分裂对业务的影响。
[0025] 目前,具体有以下三种方法可以用来检测IRF分裂:
[0026] 方法一、通过LACP(Link Aggregation Control Protocol,链路聚合控制协议)来检测IRF分裂。
[0027] LACP检测IRF分裂方法的示意图如图3所示,IRF设备和设备C进行跨成员设备的动态聚合,IRF设备中设备A的成员编号为1,是主成员设备,设备B的成员编号为2,是从成员设备。
[0028] LACP检测IRF分裂方法通过在原有LACP协议报文中添加扩展字段,在扩展字段中填充主成员设备的成员编号,当检测到成员编号冲突时,就认为IRF分裂。 [0029] IRF设备正常工作的情况下,设备A和设备B发送的LACP报文中,扩展字段中填充的主成员设备成员编号都是1,没有冲突。当IRF链路断开时,IRF分裂,设备A和设备B就是两台独立运行在IRF模式下的设备,都是主成员设备,这时设备A发送的LACP报文中扩展字段填充的主成员设备成员编号是1,设备B发送的LACP报文中扩展字段填充的主成员设备成员编号是2,这时就会检测到冲突,即IRF分裂。
[0030] 方法二、通过BFD(Bidirectional Forwarding Detection,双向转发检测)来检测IRF分裂。
[0031] BFD检测IRF分裂方法的示意图如图4所示,在IRF设备配置BFD检测,在成员设备A和成员设备B之间增加一条BFD检测链路,当IRF设备正常工作时,成员设备之间BFD检测链路是无法建立起会话的,当IRF分裂后,设备A和设备B就是两台独立运行在IRF模式下的设备,都是主成员设备,BFD链路能建立起会话,BFD链路建立起会话表示检测到冲突,即IRF分裂。
[0032] 方法三、通过免费ARP(Address Resolution Protocol,地址解析协议)来检测IRF分裂。
[0033] 免费ARP检测IRF分裂方法的示意图如图5所示,在成员设备A和成员设备B之间增加一条ARP检测链路,对免费ARP报文进行扩展,在扩展字段中填充主成员设备的成员编号,方法与LACP检测IRF分裂相似。
[0034] 当IRF分裂后,设备A和设备B就是两台独立运行在IRF模式下的设备,都是主成员设备,会互相发送免费ARP报文,设备A发送的免费ARP报文中扩展字段填充的主成员设备成员编号是1,设备B发送的免费ARP报文中扩展字段填充的主成员设备成员编号是2,这时就会检测到冲突,即IRF分裂。
[0035] 采用以上三种方法检测到IRF分离后,会让原IRF设备中成员编号最小的设备继续正常工作,转发业务流量,其它成员设备处于禁用状态,不再转发业务流量。 [0036] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题: [0037] 在现有的技术方案中,IRF分裂处理都是让IRF设备中成员编号最小的设备继续正常工作,转发业务流量,其他成员设备处于禁用状态,不再转发业务流量,如果成员编号小的设备还存在其他故障时,会影响转发业务。
[0038] 如图6所示的应用场景中,IRF设备与设备C之间通过链路3和链路4进行跨设备聚合相连,IRF设备与设备D之间通过链路1和链路2进行跨设备聚合相连,为了方便观察流量转发,IRF分裂检测链路省略没有画出来,设备A是主成员设备,成员编号是1,设备B是从成员设备,成员编号是2,当链路1发生故障后,设备C和D之间的流量都会通过设备B进行转发,如果IRF链路也发生故障,IRF冲突检测机制检测到IRF分离,这时设备B会被强制处于禁用状态,设备A继续正常工作,设备C和设备D之间的流量都无法转发。 发明内容
[0039] 本发明提供一种IRF故障处理方法和IRF故障检测系统,用以解决现有的在IRF设备分裂后,按照成员编号确定继续正常工作的IRF成员设备的处理策略中,无法识别被确定继续正常工作的IRF成员设备的其他链路故障的问题。
[0040] 为达到上述目的,本发明一方面提供了一种基于智能弹性架构IRF故障 处理方法,应用于包括IRF设备和故障检测设备的系统中,所述IRF设备由两个IRF成员设备组成,各所述IRF成员设备之间通过IRF链路相连接,所述故障检测设备与所述IRF设备动态聚合,并分别与所述IRF设备中的各IRF成员设备建立链路聚合控制协议LACP检测链路,所述方法至少包括以下步骤:
[0041] 所述故障检测设备通过所述LACP检测链路接收各所述IRF成员设备发送的LACP报文,所述LACP报文包含IRF成员设备对应的主成员设备编号以及主成员设备优先级参数;
[0042] 所述故障检测设备根据接收的所述LACP报文判断所述IRF设备发生分裂时,比较两个所述IRF成员设备对应的主成员设备优先级参数;
[0043] 所述故障检测设备确定两个所述IRF成员设备对应的主成员设备优先级参数不同时,向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示,以使对应较大的主成员设备优先级参数的IRF成员设备继续进行报文转发。
[0044] 优选的,所述故障检测设备通过所述LACP检测链路接收各所述IRF成员设备发送的LACP报文之前,所述方法还包括;
[0045] 设置各所述IRF成员设备优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;
[0046] 各所述IRF成员设备分别检测所设置的被检测链路是否发生故障; [0047] 当所述IRF成员设备检测到被检测链路发生故障时,所述IRF成员设备根据设置的优先级参数计算策略计算优先级参数。
[0048] 优选的,所述方法还包括:
[0049] 所述故障检测设备确定两个所述IRF成员设备对应的主成员设备优先级参数相同时,比较各IRF成员设备所对应的主成员设备编号,并向对应较大的主成员设备编号的IRF成员设备发送禁用指示,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。
[0050] 另一方面,本发明还提供了一种IRF故障检测系统,包括IRF设备和故 障检测设备的系统中,所述IRF设备由两个IRF成员设备组成,各所述IRF成员设备之间通过IRF链路相连接,所述故障检测设备与所述IRF设备动态聚合,并分别与所述IRF设备中的各IRF成员设备建立LACP检测链路,包括:
[0051] 所述故障检测设备包括第一接收模块、第一处理模块以及第一发送模块; [0052] 所述第一接收模块,用于通过所述LACP检测链路接收各所述IRF成员设备发送的LACP报文,其中,所述LACP报文包含IRF设备对应的主成员设备编号以及主成员设备优先级参数;
[0053] 所述第一处理模块,用于根据接收的所述LACP报文判断两个所述IRF设备是否发生分裂,若判断所述IRF设备发生分裂时,则比较两个所述IRF成员设备对应的主成员设备优先级参数,若比较结果为不同,则通知所述第一发送模块向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示;
[0054] 所述第一发送模块,用于根据所述第一处理模块的通知,向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示,以使所对应较大的主成员设备优先级参数的IRF成员设备继续进行报文转发。
[0055] 优选的,所述IRF成员设备包括第二发送模块、第二接收模块以及第二处理模块; [0056] 所述第二发送模块,用于通过所述LACP检测链路向所述故障检测设备发送所述LACP报文;
[0057] 所述第二接收模块,用于接收所述禁用指示;
[0058] 所述第二处理模块,用于根据接收的所述禁用指示停止进行报文转发。 [0059] 优选的,所述IRF成员设备,进一步包括:
[0060] 第二设置模块,用于分别设置优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;
[0061] 第二检测模块,与所述第二设置模块相连接,用于检测所述第二设置模块所设置的被检测链路是否发生故障;
[0062] 第二计算模块,与所述第二设置模块和所述第二检测模块相连接,用于 在所述第二检测模块检测到被检测链路发生故障时,根据所述第二设置模块所设置的优先级参数计算策略计算自身的优先级参数。
[0063] 优选的,所述第一处理模块,还用于:
[0064] 在比较两个所述IRF成员设备所对应的主成员设备优先级参数相同时,比较两个所述IRF成员设备所对应的主成员设备编号,并通知所述第一发送模块向对应较大主成员设备编号的IRF成员设备发送禁用指示。
[0065] 另一方面,本发明还提供了一种IRF故障处理方法,应用于包含IRF设备的系统中,所述IRF设备由两个IRF成员设备组成,各所述IRF成员设备之间通过IRF链路相连接,且各所述IRF成员设备之间建立双向转发检测BFD检测链路或地址解析协议ARP检测链路,所述方法至少包括以下步骤:
[0066] IRF成员设备通过所述BFD检测链路或ARP检测链路接收另一个IRF成员设备发送的BFD报文或免费ARP报文,所述BFD报文或免费ARP报文包含另一个IRF成员设备对应的主成员设备编号以及主成员设备优先级参数;
[0067] 所述IRF成员设备根据接收的所述BFD报文或免费ARP报文判断两个所述IRF设备发生分裂时,判断自身对应的主成员设备优先级参数是否小于所述另一个IRF成员设备对应的主成员设备优先级参数;
[0068] 如果判断结果为小于,所述IRF成员设备终止报文转发,以使所述另一个IRF成员设备继续进行报文转发。
[0069] 优选的,所述IRF成员设备通过所述BFD检测链路或ARP检测链路接收另一个IRF成员设备发送的BFD报文或免费ARP报文,还包括;
[0070] 设置各所述IRF成员设备优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;
[0071] 各所述IRF成员设备分别检测所设置的被检测链路是否发生故障; [0072] 当所述IRF成员设备检测到被检测链路发生故障时,所述IRF成员设备根据设置的优先级参数计算策略计算优先级参数。
[0073] 优选的,所述IRF成员设备根据接收的所述BFD报文或免费ARP报文判断两个所述IRF设备发生分裂时,判断自身对应的主成员设备优先级参数 是否小于所述另一个IRF成员设备对应的主成员设备优先级参数,具体为:
[0074] 当所述IRF成员设备通过所述BFD检测链路与另一个IRF成员设备建立BFD会话,并接收到另一个IRF成员设备发送的包含自身对应的主成员设备优先级参数的BFD报文时,所述IRF成员设备判断自身对应的主成员设备优先级参数是否小于所述BFD报文中携带的主成员设备优先级参数;或,
[0075] 当所述IRF成员设备接收到另一个IRF成员设备发送的包含自身对应的主成员设备优先级参数的免费ARP报文,且根据所述免费ARP报文判断所述IRF设备发生分裂时,所述IRF成员设备判断自身对应的主成员设备优先级参数是否小于所述免费ARP报文中携带的主成员设备优先级参数。
[0076] 优选的,所述另一个IRF成员设备所发送的包含自身对应的主成员设备编号以及主成员设备优先级参数的BFD报文中,还包括优先级参数标识位,
[0077] 如果所述BFD报文中的优先级参数标识位标识所述BFD报文中携带优先级参数信息,所述IRF成员设备判断自身对应的主成员设备优先级参数是否小于所述BFD报文中携带的主成员设备优先级参数;
[0078] 如果所述BFD报文中的优先级参数标识位标识所述BFD报文中没有携带优先级参数信息,所述IRF成员设备判断自身对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号,如果小于,所述IRF成员设备继续进行报文转发,如果不小于,所述IRF成员设备终止报文转发,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。
[0079] 优选的,所述方法还包括:
[0080] 如果判断结果为所述IRF成员设备自身对应的主成员设备优先级参数大于另一个IRF成员设备对应的主成员设备优先级参数,所述IRF成员设备继续进行报文转发; [0081] 如果判断结果为所述IRF成员设备自身对应的主成员设备优先级参数等于另一个IRF成员设备对应的主成员设备优先级参数,所述IRF成员设备判断自身对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号,如果小于,所述IRF成员设备继续进行报文转发,如果不小于,所述IRF成员设备终止报文转发,以使对应较小的主成员设备编号的IRF成员 设备继续进行报文转发。
[0082] 另一方面,本发明还提供了一种IRF故障检测系统中,包括由两个IRF成员设备所组成的IRF设备,两个IRF设备之间通过IRF链路相连接,且两个所述IRF成员设备之间建立BFD检测链路或ARP检测链路,包括:
[0083] 所述IRF成员设备包括设置模块、接收模块、判断模块和处理模块: [0084] 所述设置模块,用于设置IRF故障检测策略;
[0085] 所述接收模块,与所述设置模块相连接,用于根据所述设置模块所设置的IRF故障检测策略,通过所述BFD检测链路接收另一个IRF成员设备发送的BFD报文,并在所述IRF设备发生分裂时,与所述另一个IRF成员设备建立BFD会话,或通过ARP链路接收另一个IRF成员设备发送的免费ARP报文,所述BFD报文或免费ARP报文包含另一个IRF成员设备对应的主成员设备编号以及主成员设备优先级参数;
[0086] 所述判断模块,与所述接收模块相连接,用于在所述接收模块与所述另一个IRF成员设备建立BFD会话,或所述接收模块所接收的免费ARP报文表示所述IRF设备发生分裂时,判断所述IRF成员设备自身对应的主成员设备优先级参数是否小于所述接收模块所接收的所述BFD报文或免费ARP报文所携带的所述另一个IRF成员设备对应的主成员设备优先级参数;
[0087] 所述处理模块,与所述判断模块相连接,用于在所述判断模块的判断结果为小于时,终止所述IRF成员设备进行报文转发,以使所述另一个IRF成员设备继续进行报文转发。
[0088] 优选的,所述IRF成员设备,还包括检测模块、计算模块和发送模块: [0089] 所述设置模块,还用于设置优先级参数计算策略和被检测链路,其中,所述被检测链路具体为所述IRF成员设备上除所述IRF链路外的链路;
[0090] 所述检测模块,与所述设置模块相连接,用于检测所述设置模块所设置的被检测链路是否发生故障;
[0091] 所述计算模块,与所述设置模块和所述检测模块相连接,用于在所述检测模块检测到被检测链路发生故障时,根据所述设置模块所设置的优先级参 数计算策略计算自身的优先级参数;
[0092] 所述发送模块,与所述设置模块和所述计算模块相连接,用于根据所述设置模块所设置的IRF故障检测策略,通过所述BFD检测链路或ARP检测链路向另一个IRF成员设备发送BFD报文或免费ARP报文,所述BFD报文或免费ARP报文包含所述IRF成员设备对应的主成员设备编号以及主成员设备优先级参数。
[0093] 优选的,所述处理模块,还用于:
[0094] 在所述判断模块的判断结果为所述IRF成员设备自身对应的主成员设备优先级参数大于另一个IRF成员设备对应的主成员设备优先级参数时,保持所述IRF成员设备继续进行报文转发;或,
[0095] 在所述判断模块的判断结果为所述IRF成员设备自身对应的主成员设备优先级参数等于另一个IRF成员设备对应的主成员设备优先级参数时,通知所述判断模块判断所述IRF成员设备对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号,如果小于,保持所述IRF成员设备继续进行报文转发,如果不小于,终止所述IRF成员设备进行报文转发,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。 [0096] 与现有技术相比,本发明具有以下优点:
[0097] 通过应用本发明的技术方案,分别给IRF设备中的每个IRF成员设备设置优先级参数,监控各自的链路状态,并根据被监控链路的状态调整优先级参数,在各IRF成员设备所发送的IRF故障检测报文中携带各自所对应的主成员设备优先级参数,从而,在IRF设备分裂时,可以根据相应的优先级参数,在分裂后的各IRF成员设备中,选择链路状态更优,故障更少的设备继续工作,而禁用其它设备,在确保系统中不会因为IRF设备分裂而产生冲突的前提下,进一步保证其他链路的通信业务,提高系统的可靠性。 附图说明
[0098] 图1为现有技术中IRF设备合并的示意图;
[0099] 图2为现有技术中IRF设备分裂的示意图;
[0100] 图3为现有技术中一种基于LACP报文检测IRF故障的方法的应用场景的示意图; [0101] 图4为现有技术中一种基于BFD报文检测IRF故障的方法的应用场景的示意图; [0102] 图5为现有技术中一种基于免费ARP报文检测IRF故障的方法的应用场景的示意图;
[0103] 图6为现有技术中一种IRF故障检测的应用场景的示意图
[0104] 图7为本发明所提出的一种基于LACP故障检测策略的IRF故障处理方法的流程示意图;
[0105] 图8为本发明所提出的一种基于BFD或ARP故障检测策略的IRF故障处理方法的流程示意图;
[0106] 图9为本发明所提出的一种BFD报文的结构示意图;
[0107] 图10为本发明所提出的一种IRF故障检测的应用场景的示意图; [0108] 图11为本发明所提出的一种基于LACP故障检测策略的IRF故障检测系统的结构示意图;
[0109] 图12为本发明所提出的一种基于BFD或ARP故障检测策略的IRF故障检测系统的结构示意图。

具体实施方式

[0110] 如背景技术所述,现有的IRF故障处理策略中,在IRF设备分裂后,按照成员编号确定继续正常工作的IRF成员设备,但这样的处理策略无法确定IRF成员设备的其他链路故障,因此,有可能会出现选择具有其他链路故障的IRF成员设备继续工作,而禁用了其他链路状态正常的IRF成员设备的情况,从而,导致网络中的正常通信无法实现。 [0111] 本发明正是基于此问题提出了一种IRF故障处理方法,根据具体的检测策略不同,本发明所提出的IRF故障处理方法分为以下两种情况:
[0112] 情况一、基于LACP故障检测策略的IRF故障处理方法
[0113] 该方法应用于包括IRF设备和故障检测设备的系统中,IRF设备由两个 IRF成员设备组成,各IRF成员设备之间通过IRF链路相连接,故障检测设备与IRF设备动态聚合,并分别与IRF设备中的各IRF成员设备建立LACP检测链路。
[0114] 如图7所示,为本发明提出的一种基于LACP故障检测策略的IRF故障处理方法的流程示意图,具体包括以下步骤:
[0115] 步骤S701、故障检测设备通过LACP检测链路接收各IRF成员设备发送的LACP报文。
[0116] 其中,LACP报文包含IRF成员设备对应的主成员设备编号以及主成员设备优先级参数。
[0117] 在本步骤实现之前,首先需要在各IRF成员设备上设置优先级参数的处理机制,具体处理过程的说明如下:
[0118] (1)设置各IRF成员设备优先级参数计算策略和被检测链路。
[0119] 其中,被检测链路具体为IRF成员设备上除IRF链路外的链路。 [0120] 在实际的应用场景中,各IRF成员设备中需要分别初始值相同的优先级参数,这样保证在初始状态下IRF设备中的各IRF成员设备之间的优先级平等。
[0121] 同时,在各IRF成员设备中,分别设置除IRF链路外的一个或多个链路为被检测链路,这些链路可以是该IRF设备中除IRF链路外的全部链路,这样可以对该IRF成员设备的链路状态进行全面监控,也可以只是选择该IRF成员设备的一条或多条关键链路,这些链路在网络系统的通信中起到关键作用,而即使发生故障也不会影响网络系统的正常通信的其他的非关键链路则不作为被检测链路,这样的处理可以缩小检测的链路范围,将检测资源应用于更为重要的关键链路。
[0122] (2)各IRF成员设备分别检测所设置的被检测链路是否发生故障,当IRF成员设备检测到被检测链路发生故障时,IRF成员设备根据设置的优先级参数计算策略计算优先级参数。
[0123] 在检测过程中,如果一个或多个被检测链路发生故障,则相应的IRF成员设备调整自身的优先级的参数,例如:可以根据发生故障的被检测链路的 数量或故障比例或是否发生故障,将自身的优先级参数减少相应的数值。
[0124] 经过上述处理,各IRF成员设备自身都保持了优先级参数的记录,而为了本发明所提出的技术方案的实现,在上述的步骤S701中,相应的LACP报文都需要携带发送该故障检测报文的IRF成员设备所对应的主成员设备优先级参数,为了LACP报文的及时发送,各IRF成员设备需要及时识别自身所对应的主成员设备,并获取相应的优先级参数,这样的识别主成员设备和获取主成员设备优先级参数的机制可以是:
[0125] (1)实时识别和获取,这样可以保证信息获取的时效性。
[0126] (2)周期性识别和获取,但是周期的设置应该是一个比较小的时间区间,以保证信息获取的及时;
[0127] (3)事件触发识别和获取,例如当发生IRF设备分裂时,成为主成员设备的IRF成员设备主动向其他IRF成员设备发送自身成为主成员设备的通知消息,并通知相应的优先级参数。
[0128] 在实际的应用场景中,具体应用上述的哪种方式进行主成员设备识别和相应优先级参数的获取并不会影响本发明的保护范围。
[0129] 在实际应用中,当系统中与IRF设备动态聚合的故障检测设备接收到的两个IRF成员设备所发送的LACP报文中携带的主成员设备编号不同,即检测到主成员设备冲突,判断IRF设备分裂。
[0130] 此时,执行步骤S702。
[0131] 步骤S702、故障检测设备比较两个IRF成员设备对应的主成员设备优先级参数。 [0132] 当故障检测设备确定两个IRF成员设备对应的主成员设备优先级参数不同时,执行步骤S703;
[0133] 当故障检测设备确定两个IRF成员设备对应的主成员设备优先级参数相同时,执行步骤S704。
[0134] 步骤S703、故障检测设备向对应较小的主成员设备优先级参数的IRF成员设备发送禁用指示,以使对应较大的主成员设备优先级参数的IRF成员设备继续进行报文转发。 [0135] 通过本步骤,可以在IRF设备分裂后,使对应较小的主成员设备优先级参数的IRF成员设备终止报文转发,而选择对应较大的主成员设备优先级参数,即被检测链路的状态最好的IRF成员设备继续进行报文转发,从而,在避免系统中出现设备配置冲突的前提下,使链路状态更好的IRF成员设备继续进行报文转发工作。
[0136] 步骤S704、故障检测设备比较各IRF成员设备所对应的主成员设备编号,并向对应较大的主成员设备编号的IRF成员设备发送禁用指示,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。
[0137] 本步骤所对应的场景中,在IRF设备分裂后,两个IRF成员设备所对应的主成员设备拥有相同的优先级参数,即链路健康状态相一致,不能通过优先级参数的大小直接选择出继续进行报文转发的IRF成员设备,因此,可以进一步依据对应的主成员设备编号进行选择,确定对应较小主成员设备编号的IRF成员设备作为IRF设备继续进行报文转发,而禁用其它分裂出的IRF成员设备进行报文转发,从而,避免系统中出现设备配置冲突。 [0138] 情况二、基于BFD或ARP故障检测策略的IRF故障处理方法
[0139] 该方法应用于包含IRF设备的系统中,该IRF设备由两个IRF成员设备组成,各IRF成员设备之间通过IRF链路相连接,且各IRF成员设备之间建立BFD检测链路或ARP检测链路。
[0140] 如图8所示,为本发明提出的一种基于BFD或ARP故障检测策略的IRF故障处理方法的流程示意图,具体包括以下步骤:
[0141] 步骤S801、IRF成员设备通过BFD检测链路或ARP检测链路接收另一个IRF成员设备发送的BFD报文或免费ARP报文。
[0142] 其中,BFD报文或免费ARP报文包含另一个IRF成员设备对应的主成员设备编号以及主成员设备优先级参数。
[0143] 在本步骤实现之前,同样需要在各IRF成员设备上设置优先级参数的处理机制,以及识别主成员设备和获取主成员设备优先级参数的机制,具体说明参见前述的步骤S701中的描述,在此不再重复说明。
[0144] 一方面,对应BFD故障检测策略,当IRF成员设备与另一个IRF成员设备建立BFD会话,并接收到的另一个IRF成员设备所发送的BFD报文,即表示当前IRF设备中的两个IRF成员设备之间能够建立BFD会话,该IRF设备当前已分裂。
[0145] 需要指出的是,BFD报文本身在IRF设备的各IRF成员设备是一直会有发送的,但是,只是相当于在各IRF成员设备所组成的IRF设备的内部进行报文发送,而不能建立BFD会话,但是,如果IRF设备发生分裂,分裂后的IRF成员设备相当于彼此独立的两个设备,此时,可以建立BFD会话,因此,在此种情况下,是否建立BFD会话是IRF设备分裂的判断依据,而BFD报文本身的发送规则并不是本发明所关系的范围,发送规则的变化并不影响本发明的保护范围。
[0146] 另一方面,对应ARP故障检测策略,当IRF成员设备接收到的另一个IRF成员设备所发送的免费ARP报文中携带的主成员设备编号不同时,即检测到主成员设备冲突,判断IRF设备分裂。
[0147] 而无论应用上述哪种情况的IRF故障检测策略,只要判断IRF设备发生分裂,便执行后续的步骤S802。
[0148] 步骤S802、IRF成员设备判断自身对应的主成员设备优先级参数是否小于另一个IRF成员设备对应的主成员设备优先级参数。
[0149] 如果判断结果为IRF成员设备自身对应的主成员设备优先级参数小于另一个IRF成员设备对应的主成员设备优先级参数,执行步骤S803;
[0150] 如果判断结果为IRF成员设备自身对应的主成员设备优先级参数大于另一个IRF成员设备对应的主成员设备优先级参数,执行步骤S804;
[0151] 如果判断结果为IRF成员设备自身对应的主成员设备优先级参数等于另一个IRF成员设备对应的主成员设备优先级参数,执行步骤S805。
[0152] 由于IRF设备只包含了两个IRF成员设备,所以,实际上在IRF设备发生分裂后,各IRF成员设备所对应的主成员设备即其自身,各IRF成员设备所对应的主成员设备优先级参数即其自身的优先级参数。
[0153] 所以,本步骤的实际操作内容是IRF成员设备将自身的优先级参数与另 一个IRF成员设备的优先级参数进行比较,具体描述方式的变化并不会影响本发明的保护范围。 [0154] 步骤S803、IRF成员设备终止报文转发,以使另一个IRF成员设备继续进行报文转发。
[0155] 步骤S804、IRF成员设备继续进行报文转发。
[0156] 通过步骤S803或步骤S804,可以在IRF设备分裂后,使对应较小的主成员设备优先级参数的IRF成员设备终止报文转发,而选择对应较大的主成员设备优先级参数,即被检测链路的状态最好的IRF成员设备继续进行报文转发,从而,在避免系统中出现设备配置冲突的前提下,使链路状态更好的IRF成员设备继续进行报文转发工作。 [0157] 步骤S805、IRF成员设备判断自身对应的主成员设备编号是否小于另一个IRF成员设备对应的主成员设备编号。
[0158] 如果小于,执行步骤S804,IRF成员设备继续进行报文转发;
[0159] 如果不小于,执行步骤S803,IRF成员设备终止报文转发,以使对应较小的主成员设备编号的IRF成员设备继续进行报文转发。
[0160] 本步骤所对应的场景中,在IRF设备分裂后,两个IRF成员设备所对应的主成员设备拥有相同的优先级参数,即链路健康状态相一致,不能通过优先级参数的大小直接选择出继续进行报文转发的IRF成员设备,因此,可以进一步依据对应的主成员设备编号进行选择,确定对应较小主成员设备编号的IRF成员设备作为IRF设备继续进行报文转发,而禁用其它分裂出的IRF成员设备进行报文转发,从而,避免系统中出现设备配置冲突。 [0161] 需要特别指出的是,在实际的应用场景中,对应前述的BFD故障检测侧路,BFD报文中还可以进一步包括优先级参数标识位。
[0162] 当IRF成员设备通过BFD检测链路与另一个IRF成员设备建立BFD会话,并接收到另一个IRF成员设备发送的BFD报文时,如果该BFD报文中包含该优先级参数标识位,则步骤S802中的处理进一步包括以下过程:
[0163] 如果BFD报文中的优先级参数标识位标识该BFD报文中携带发送该BFD报文的IRF成员设备对应的主成员设备优先级参数信息,那么,如前, 接收到该BFD报文的IRF成员设备判断自身对应的主成员设备优先级参数是否小于接收到的BFD报文中携带的主成员设备优先级参数,如果小于,则转入步骤S803,如果大于,则转入步骤S804,如果等于,则转入步骤S805。
[0164] 而如果BFD报文中的优先级参数标识位标识该BFD报文中没有携带发送该BFD报文的IRF成员设备对应的主成员设备优先级参数信息,那么,接收到该BFD报文的IRF成员设备则直接转入步骤S805,通过所对应的主成员设备编号的大小比较进行后续处理。 [0165] 在具体的应用场景中,对于BFD报文,是否包含优先级参数标识位可以根据实际需要进行设定和调整,这样的变化并不影响本发明的保护范围。
[0166] 与现有技术相比,本发明具有以下优点:
[0167] 通过应用本发明的技术方案,分别给IRF设备中的每个IRF成员设备设置优先级参数,监控各自的链路状态,并根据被监控链路的状态调整优先级参数,在各IRF成员设备所发送的IRF故障检测报文中携带各自所对应的主成员设备优先级参数,从而,在IRF设备分裂时,可以根据相应的优先级参数,在分裂后的各IRF成员设备中,选择链路状态更优,故障更少的设备继续工作,而禁用其它设备,在确保系统中不会因为IRF设备分裂而产生冲突的前提下,进一步保证其他链路的通信业务,提高系统的可靠性。 [0168] 为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
[0169] 在本发明的处理策略中,首先,需要给IRF设备中的每个IRF成员设备设置优先级参数和被检测的关键链路,而由于存在专门的IRF故障检测机制,所以,被检测的关键链路中并不包括IRF链路。
[0170] 各IRF成员设备检测自身的关键链路,当发现被检测的关键链路发生故障而断开时,该IRF成员设备自身的优先级参数下降,但如果被检测的关键链路状态正常,该IRF成员设备自身的优先级参数则保持不变。
[0171] 优先级参数下降的具体值与发生故障的关键链路的数量相关,具体的优先级参数的调整策略可以根据实际场景需要进行调整:
[0172] 计算策略一、设定IRF成员设备的优先级参数初始值以及每个关键链路发生故障所要降低的数值,从而,当发生关键链路的故障时,直接根据发生故障的关键链路的数量对应的数值相应的降低优先级参数,例如:
[0173] 设定IRF成员设备的优先级参数初始值为500,每个关键链路发生故障则降低数值100,那么,当IRF成员设备检测到自身的2条关键链路发生故障时,直接将自身的优先级参数的数值降低200,计算得到的优先级参数为300。
[0174] 计算策略二、设定IRF成员设备的优先级参数初始值,根据按照发生故障的关键链路在全部被检测的关键链路所占的比例计算优先级参数,例如:
[0175] 设定IRF成员设备的优先级参数初始值为500,IRF成员设备被检测的关键链路的数量为5条。假设,当IRF成员设备检测到自身的2条关键链路发生故障时,发生故障的关键链路在全部被检测的关键链路所占的比例为40%,从而,该IRF成员设备将自身的优先级参数的数值降低40%(降低200),计算得到的优先级参数为300。
[0176] 调整策略三、设定IRF成员设备的优先级参数初始值以及关键链路发生故障时所需降低的固定的数值(此策略中可以不考虑发生故障的关键链路的数量,只要发生故障,则直接在优先级参数减去设定的固定的数值),例如:
[0177] 设定IRF成员设备的优先级参数初始值为500,关键链路发生故障时降低的数值为100,IRF成员设备中被检测的关键链路的数量为5。假设,当IRF成员设备检测到自身的2条关键链路发生故障时,那么,该IRF成员设备将自身的优先级参数的数值固定降低100,计算得到的IRF成员设备的优先级参数为400,在此种情况下,优先级参数只表示该IRF成员设备的被检测链路是否发生故障,而故障的具体情况则不进行考虑。 [0178] 调整策略四、设定每个关键链路的对应的数值,当检测关键链路故障时,根据正常关键链路的数量计算优先级参数。
[0179] 设定IRF成员设备中被检测的关键链路的数量为5,每个关键链路对应优先级参数的数值为100。假设,当IRF成员设备检测到自身的2条关键链路发生故障时,由于还有3条关键链路没有发生故障,计算得到的IRF成员设备的优先级参数为300。 [0180] 需要指出的是,在实际应用中,还可以设定更多其他的计算策略,本发明无法穷尽举例所有根据关键链路的故障状态和计算策略计算IRF成员设备优先级参数的方法,因此,凡是可以实现根据关键链路的故障情况调整优先级参数的策略均可以应用于本发明的技术方案中,具体的调整策略的内容变化并不会影响本发明的保护范围。 [0181] 在上述设置完成后,还需要在LACP报文、BFD报文或免费ARP报文等IRF故障检测报文中再增加一个扩展字段,用来填充该IRF成员设备所对应的主成员设备优先级参数,在IRF设备发生分裂时,通过LACP报文、BFD报文或免费ARP报文等IRF故障检测报文的交互,将对应较低的主成员设备优先级参数的IRF成员设备设置为禁用状态,而使对应较高的主成员设备优先级参数的IRF成员设备作为IRF设备继续正常工作,转发业务流量。 [0182] 但如果分裂后的各主成员设备的优先级相同,则设定各主成员设备中对应较小的主成员设备优先级参数的IRF成员设备作为IRF设备继续正常工作,转发业务流量,而分裂出的其他IRF成员设备处于禁用状态,不再转发业务流量。
[0183] 在现有的通过LACP报文和免费ARP报文检测IRF设备分裂的方法中,都是将LACP报文和免费ARP报文进行扩展,在扩展字段中填充主成员设备的成员编号,而在本发明的技术方案中,则是继续对LACP报文和免费ARP报文进行扩展,即进一步填充主成员设备优先级参数。
[0184] 而在现有的通过BFD报文检测IRF设备分裂的方法中,由于BFD会话的建立本身就表示IRF设备已经分裂,所以,并没有对BFD报文的内容进行扩展,相应的BFD报文的结构示意图如图9所示。
[0185] 其中,各字段的含义如下:
[0186] Vers:BFD协议版本号
[0187] Diag:诊断字,标明本地BFD系统最后一次会话Down的原因
[0188] Sta:BFD本地状态
[0189] P:如果标记该标志,表示参数发生改变或发送系统进行连接时,请求对方立即进行确认和响应。否则,不请求对方进行确认和响应
[0190] F:响应P标志置位的回应报文中必须将F标志置位
[0191] C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD检测 [0192] A:认证标识,置位代表会话需要进行验证
[0193] D:查询请求,置位代表发送方期望采用查询模式对链路进行监测 [0194] R:保留位,默认值0
[0195] Detect Mult:检测超时倍数,用于检测方计算检测超时时间
[0196] Length:报文长度
[0197] My Discreaminator:BFD会话连接本地标识符
[0198] Your Discreaminator:BFD会话连接远端标识符
[0199] Desired Min Tx Interval:本地支持的最小BFD报文发送间隔 [0200] Required Min RX Interval:本地支持的最小BFD接收间隔
[0201] Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔 [0202] Auth Type:认证类型
[0203] Auth Length:认证数据长度
[0204] Authentication Data:认证数据区
[0205] 本发明所提出的IRF设备分裂的检测方法可以通过对R(保留位)来进行扩展: [0206] 如果保留位的值为0,则表示不对BFD报文进行扩展;
[0207] 而如果保留位的值为1,则表示要对BFD报文进行扩展,在该BFD报文的最后面增加包含主成员设备优先级参数的字段。
[0208] 本发明所提出的IRF分裂检测方法与原有方法相比,只在LACP报文、BFD报文和免费ARP报文中多添加了一个优先级字段,而IRF分裂的判断标准不变,在检测到IRF分裂后,处理机制要根据LACP报文、BFD报文和免费ARP报文中的优先级字段来决定继续转发报文的IRF成员设备,即将对应较低的主成员设备优先级参数的IRF成员设备设置为禁用状态,而将对应较高的主成员设备优先级参数的IRF成员设备作为IRF设备继续正常工作,转发业务流量。
[0209] 而如果两个或更多数量的主成员设备的优先级相同,则再按照比较成员 编号的方案,让对应较小的主成员设备编号的IRF成员设备继续作为IRF设备正常工作,转发业务流量,其他IRF成员设备处于禁用状态,不再转发业务流量。
[0210] 还是以图6为例,初始状态IRF设备中包括设备A和设备B,设备A的成员编号小于设备B的成员编号。
[0211] 对于设备A和设备B,需要进行设置如下:
[0212] 设置设备A的优先级为255,监控链路1和链路3,当链路1或链路3中有一个链路断开时,设备A的优先级降低100。
[0213] 设置设备B的优先级也为255,监控链路2和链路4,当链路2或链路4中有一个链路断开时,设备B的优先级降低100。
[0214] 如果链路1发生故障,设备A的优先级变为155,但由于IRF链路正常,IRF设备还是可以正常工作,IRF设备不分裂,也不会进行优先级比较。
[0215] 如果链路1发生故障,IRF链路也发生故障,设备A和设备B都变成工作在IRF模式下的主成员设备,通过交互LACP报文、BFD报文或免费ARP报文,可以检测出IRF设备分裂了。
[0216] 进一步的,再根据LACP报文、BFD报文或免费ARP报文中携带的优先级字段,进行处理如下:
[0217] (1)设备A知道自己就是主成员设备,而且当前优先级是155,发现设备B所对应的主成员设备(即设备B)的当前优先级是255,即其中存在唯一的最大值255,且自身所对应的主成员设备的优先级低于该最大值,这时,优先级较低的设备A会被设置成禁用状态,不再转发业务流量。
[0218] (2)设备B知道自己就是主成员设备,而且当前优先级是255,发现设备A所对应的主成员设备(即设备A)的当前优先级是155,即其中存在唯一的最大值255,且自身所对应的主成员设备的优先级即为该最大值,所以,设备B会作为IRF设备继续正常工作,转发业务流量。
[0219] 通过上述处理,成员编号更小的设备A因为存在链路故障,没有在IRF设备分裂后继续工作,而是由链路没有故障的设备B继续工作,这样,设备C和设备D之间业务流量还可以继续通过链路2和链路4,经过设备B进行 正常转发。
[0220] 以上是IRF设备包括两个IRF成员设备的应用场景,下面进一步通过图9所示的场景,说明在IRF设备包含更多IRF成员设备的情况下,本发明所提出的技术方案的处理流程。
[0221] 在如图10所示的应用场景中,初始状态IRF设备中包括设备A、设备B和设备C,设备A的成员编号小于设备B的成员编号,设备B的成员编号进一步小于设备C的成员编号。
[0222] 对于设备A、设备B和设备C,需要进行设置如下:
[0223] 设置设备A的优先级为255,监控链路1和链路4,当链路1或链路4中有一个链路断开时,设备A的优先级降低100。
[0224] 设置设备B的优先级也为255,监控链路2和链路5,当链路2或链路5中有一个链路断开时,设备B的优先级降低100。
[0225] 设置设备C的优先级也为255,监控链路3和链路6,当链路3或链路6中有一个链路断开时,设备C的优先级降低100。
[0226] 如果链路1发生故障,设备A的优先级变为155,但由于IRF链路正常,IRF设备还是可以正常工作,IRF设备不分裂,也不会进行优先级比较。
[0227] 如果链路1发生故障,IRF链路也发生故障,设备C脱离原有的IRF设备,因此,IRF设备分裂为两个工作在IRF模式下的IRF设备,其中,一个IRF设备包括设备A和设备B,其中,设备A为该IRF设备中的主成员设备,设备B为该IRF设备中的从成员设备,设备C则独自成为一个IRF设备,其自身就是该IRF设备中的主成员设备,通过交互LACP报文、BFD报文或免费ARP报文,可以检测出IRF设备分裂了。
[0228] 进一步的,再根据LACP报文、BFD报文或免费ARP报文中携带的优先级字段,进行处理如下:
[0229] (1)设备A知道自己就是主成员设备,而且当前优先级是155(虽然设备B的优先级为255,但是设备B是从成员设备,因此,只以作为主成员设备的设备A的优先级为判断依据),发现设备C所对应的主成员设备(即设备 C)的当前优先级是255,即其中存在唯一的最大值255,且自身所对应的主成员设备的优先级低于该最大值,这时,优先级较低的设备A会被设置成禁用状态,不转发业务流量。
[0230] (2)设备B知道自己所对应的主成员设备是设备A,而且设备A当前优先级是155(虽然设备B的优先级为255,但是设备B是从成员设备,因此,只以作为主成员设备的设备A的优先级为判断依据),发现设备C所对应的主成员设备(即设备C)的当前优先级是255,即其中存在唯一的最大值255,且自身所对应的主成员设备(设备A)的优先级低于该最大值,这时,对应了较低优先级的主成员设备的设备B会被设置成禁用状态,不转发业务流量。
[0231] (3)设备C知道自己就是主成员设备,而且当前优先级是255,发现设备A和设备B所对应的主成员设备(即设备A)的当前优先级是155,即其中存在唯一的最大值255,且自身所对应的主成员设备的优先级即为该最大值,所以,设备C会作为IRF设备继续正常工作,转发业务流量。
[0232] 通过上述处理,成员编号更小的设备A因为存在链路故障,其和设备B所组成的IRF设备没有在IRF设备分裂后继续工作,而是由链路没有故障的设备C继续工作,这样,设备D和设备E之间业务流量还可以继续通过链路3和链路6,经过设备C进行正常转发。 [0233] 在上述过程中,如果发送LACP报文、BFD报文或免费ARP报文,那么其中所携带的优先级如下:
[0234] 设备A和设备C由于自身就是主成员设备,其所发送的报文中直接携带自身的优先级,而设备B所对应的主成员设备是设备A,所以,设备B所发送的报文中携带设备A的优先级。
[0235] 需要进一步说明的是,上述的优先级所设定的数值,调整策略等均可以根据实际需要进行调整,这样的变化并不影响本发明的保护范围。
[0236] 与现有技术相比,本发明具有以下优点:
[0237] 通过应用本发明的技术方案,分别给IRF设备中的每个IRF成员设备设置优先级参数,监控各自的链路状态,并根据被监控链路的状态调整优先级参数,在各IRF成员设备所发送的IRF故障检测报文中携带各自所对应的主成员 设备优先级参数,从而,在IRF设备分裂时,可以根据相应的优先级参数,在分裂后的各IRF成员设备中,选择链路状态更优,故障更少的设备继续工作,而禁用其它设备,在确保系统中不会因为IRF设备分裂而产生冲突的前提下,进一步保证其他链路的通信业务,提高系统的可靠性。 [0238] 为了实现本发明的技术方案,基于前述的说明,本发明还提出了一种基于LACP故障检测策略的IRF故障检测系统,其结构示意图如图11所示,包括IRF设备和故障检测设备111,IRF设备由两个IRF成员设备112组成,两个IRF成员设备112之间通过IRF链路相连接,故障检测设备111与IRF设备动态聚合,并分别与IRF设备中的两个IRF成员设备112建立LACP检测链路,其中:
[0239] 故障检测设备111包括第一接收模块1111、第一处理模块1112以及第一发送模块1113:
[0240] 第一接收模块1111,用于通过LACP检测链路接收各IRF成员设备112发送的LACP报文,其中,LACP报文包含IRF设备对应的主成员设备编号以及主成员设备优先级参数。 [0241] 第一处理模块1112,用于根据接收的LACP报文判断两个IRF设备是否发生分裂,若判断IRF设备发生分裂时,则比较两个IRF成员设备112对应的主成员设备优先级参数,若比较结果为不同,则通知第一发送模块1113向对应较小的主成员设备优先级参数的IRF成员设备112发送禁用指示。
[0242] 第一发送模块1113,用于根据第一处理模块1112的通知,向对应较小的主成员设备优先级参数的IRF成员设备112发送禁用指示,以使所对应较大的主成员设备优先级参数的IRF成员设备112继续进行报文转发。
[0243] 在具体的应用场景中,第一处理模块1112,还用于:
[0244] 在比较两个IRF成员设备112所对应的主成员设备优先级参数相同时,比较两个IRF成员设备112所对应的主成员设备编号,并通知第一发送模块1113向对应较大主成员设备编号的IRF成员设备112发送禁用指示。
[0245] IRF成员设备112包括第二发送模块1121、第二接收模块1122以及第二处理模块1123;
[0246] 第二发送模块1121,用于通过LACP检测链路向故障检测设备111发送LACP报文; [0247] 第二接收模块1122,用于接收禁用指示;
[0248] 第二处理模块1123,用于根据接收的禁用指示停止进行报文转发。 [0249] 进一步的,IRF成员设备112,还包括:
[0250] 第二设置模块1124,用于分别设置优先级参数计算策略和被检测链路,其中,被检测链路具体为IRF成员设备112上除IRF链路外的链路;
[0251] 第二检测模块1125,与第二设置模块1124相连接,用于检测第二设置模块1124所设置的被检测链路是否发生故障;
[0252] 第二计算模块1126,与第二设置模块1124和第二检测模块1125相连接,用于在第二检测模块1125检测到被检测链路发生故障时,根据第二设置模块1124所设置的优先级参数计算策略计算IRF成员设备112自身的优先级参数。
[0253] 另一方面,一种基于BFD或ARP故障检测策略的IRF故障检测系统,其结构示意图如图12所示,包括由两个IRF成员设备121所组成的IRF设备,两个IRF设备之间通过IRF链路相连接,且两个IRF成员设备121之间建立BFD检测链路或ARP检测链路,其中: [0254] IRF成员设备121包括设置模块1211、接收模块1212、判断模块1213和处理模块1214:
[0255] 设置模块1211,用于设置IRF故障检测策略;
[0256] 接收模块1212,与设置模块1211相连接,用于根据设置模块1211所设置的IRF故障检测策略,通过BFD链路接收另一个IRF成员设备121发送的BFD报文,并在IRF设备发生分裂时,与另一个IRF成员设备121建立BFD会话,或通过ARP链路接收另一个IRF成员设备121发送的免费ARP报文,BFD报文或免费ARP报文包含另一个IRF成员设备121对应的主成员设备编号以及主成员设备优先级参数;
[0257] 判断模块1213,与接收模块1212相连接,用于在接收模块1212与另一个IRF成员设备121建立BFD会话,或接收模块1212所接收的免费ARP报文表示IRF设备发生分裂时,判断IRF成员设备121自身对应的主成员设备优先级参数是否小于接收模块1212所接收的BFD报文或免费ARP报文所携带的另一个IRF成员设备121对应的主成员设备优先级参数;
[0258] 处理模块1214,与判断模块1213相连接,用于在判断模块1213的判断结果为小于时,终止IRF成员设备121进行报文转发,以使另一个IRF成员设备121继续进行报文转发。
[0259] 进一步的,IRF成员设备121,还包括检测模块1215、计算模块1216和发送模块1217:
[0260] 设置模块1211,还用于设置优先级参数计算策略和被检测链路,其中,被检测链路具体为IRF成员设备121上除IRF链路外的链路;
[0261] 检测模块1215,与设置模块1211相连接,用于检测设置模块1211所设置的被检测链路是否发生故障;
[0262] 计算模块1216,与设置模块1211和检测模块1215相连接,用于在检测模块1215检测到被检测链路发生故障时,根据设置模块1211所设置的优先级参数计算策略计算自身的优先级参数;
[0263] 发送模块1217,与设置模块1211和计算模块1216相连接,用于根据设置模块1211所设置的IRF故障检测策略,通过BFD检测链路或ARP检测链路向另一个IRF成员设备121发送BFD报文或免费ARP报文,BFD报文或免费ARP报文包含IRF成员设备121对应的主成员设备编号以及主成员设备优先级参数。
[0264] 进一步的,处理模块1214,还用于:
[0265] 在判断模块1213的判断结果为IRF成员设备121自身对应的主成员设备优先级参数大于另一个IRF成员设备121对应的主成员设备优先级参数时,保持IRF成员设备121继续进行报文转发;或,
[0266] 在判断模块1213的判断结果为IRF成员设备121自身对应的主成员设备优先级参数等于另一个IRF成员设备121对应的主成员设备优先级参数时, 通知判断模块1213判断IRF成员设备121对应的主成员设备编号是否小于另一个IRF成员设备121对应的主成员设备编号,如果小于,保持IRF成员设备121继续进行报文转发,如果不小于,终止IRF成员设备121进行报文转发,以使对应较小的主成员设备编号的IRF成员设备121继续进行报文转发。
[0267] 与现有技术相比,本发明具有以下优点:
[0268] 通过应用本发明的技术方案,分别给IRF设备中的每个IRF成员设备设置优先级参数,监控各自的链路状态,并根据被监控链路的状态调整优先级参数,在各IRF成员设备所发送的IRF故障检测报文中携带各自所对应的主成员设备优先级参数,从而,在IRF设备分裂时,可以根据相应的优先级参数,在分裂后的各IRF成员设备中,选择链路状态更优,故障更少的设备继续工作,而禁用其它设备,在确保系统中不会因为IRF设备分裂而产生冲突的前提下,进一步保证其他链路的通信业务,提高系统的可靠性。 [0269] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。 [0270] 本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0271] 本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。 [0272] 上述本发明序号仅仅为了描述,不代表实施场景的优劣。
[0273] 以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。