一种辅助MAD检测多IRF分裂方法、装置及设备转让专利

申请号 : CN202110686644.0

文献号 : CN113438105B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖冰王琮

申请人 : 新华三技术有限公司

摘要 :

本申请提供了一种辅助MAD检测多IRF分裂方法、装置及设备。SDN控制器依据邻居异常通知分别控制第一网络设备、第二网络设备降低健康度,并将第一网络设备被降低健康度的第一消息通知给第一网络设备的所有邻居设备、以及将第二网络设备被降低健康度的第二消息通知给第二网络设备的所有邻居设备,以使第一网络设备依据已获得的各网络设备的健康度在IRF分裂成两个以上新IRF时确定出可用的一个新IRF。可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。

权利要求 :

1.一种辅助MAD检测多IRF分裂方法,其特征在于,该方法应用于SDN控制器,包括:

接收第一网络设备发送的邻居异常通知;所述邻居异常通知是由所述第一网络设备在检测到与作为邻居的第二网络设备之间的邻居连接异常时发送;其中,所述第一网络设备为IRF中的成员设备,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;

或者,所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;

依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度,并将所述第一网络设备被降低健康度的第一消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被降低健康度的第二消息通知给所述第二网络设备的所有邻居设备;所述第一消息携带所述第一网络设备被降低后的健康度,所述第二消息携带所述第二网络设备被降低后的健康度;所述第一消息、第二消息用于指示IRF外与IRF中成员设备相连接的外部设备在IRF分裂成两个以上新IRF时基于已收到的健康度协助确定出可用的一个新IRF。

2.根据权利要求1所述的方法,其特征在于,在降低所述第一网络设备、所述第二网络设备的健康度之后,该方法进一步包括:若在指定时间段检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,或者,在指定时间段结束但未检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,则分别恢复所述第一网络设备、所述第二网络设备的健康度,并将所述第一网络设备被恢复健康度的第三消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被恢复健康度的第四消息通知给所述第二网络设备的所有邻居设备;所述第三消息携带所述第一网络设备被恢复后的健康度,所述第二消息携带所述第二网络设备被恢复后的健康度。

3.一种辅助MAD检测多IRF分裂方法,其特征在于,该方法应用于第一网络设备,所述第一网络设备为智能弹性架构IRF中的成员设备,或者为IRF外与所述IRF中成员设备相连接的外部设备,该方法包括:在检测到与作为邻居的第二网络设备之间的邻居连接异常时,向SDN控制器发送邻居异常通知;其中,当所述第一网络设备为IRF中的成员设备时,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,当所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备时,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;

根据所述SDN控制器的控制指令将本网络设备的健康度从当前的第一健康度降低为第二健康度;接收所述SDN控制器发送的用于指示所述第二网络设备降低健康度的第二消息,并获得所述第二消息携带所述第二网络设备被降低后的健康度;

依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF。

4.根据权利要求3所述的方法,其特征在于,所述依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF包括:当所述第一网络设备作为IRF外与所述IRF中成员设备相连接的外部设备时,在所述IRF分裂为新IRF后向相连接的各新IRF中的Master发送已获得的与相连接的各新IRF中的成员设备的健康度,以使各新IRF中的Master 依据接收的健康度从各新IRF中决策出一个可用的新IRF。

5.根据权利要求3所述的方法,其特征在于,所述依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF包括:当所述第一网络设备作为IRF中的成员设备时,在所述IRF分裂为新IRF后若担任新IRF中的Master,则从相连接的外部设备获得与该外部设备相连接的各新IRF中成员设备的健康度,以根据获得的健康度从各新IRF中决策出一个可用的新IRF。

6.根据权利要求3所述的方法,其特征在于,该方法进一步包括:

当在指定时间段检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,或者,在指定时间段结束但未检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,向所述SDN控制器发送通知,以使所述SDN控制器在接收到所述通知时分别恢复所述第一网络设备、所述第二网络设备的健康度。

7.一种辅助MAD检测多IRF分裂装置,其特征在于,该装置应用于SDN控制器,包括:

异常通知接收单元,用于接收第一网络设备发送的邻居异常通知;所述邻居异常通知是由所述第一网络设备在检测到与作为邻居的第二网络设备之间的邻居连接异常时发送;

其中,所述第一网络设备为IRF中的成员设备,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;

健康度降低单元,用于依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度,并将所述第一网络设备被降低健康度的第一消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被降低健康度的第二消息通知给所述第二网络设备的所有邻居设备;所述第一消息携带所述第一网络设备被降低后的健康度,所述第二消息携带所述第二网络设备被降低后的健康度;所述第一消息、第二消息用于指示IRF外与IRF中成员设备相连接的外部设备在IRF分裂成两个以上新IRF时基于已收到的健康度协助确定出可用的一个新IRF。

8.一种辅助MAD检测多IRF分裂装置,其特征在于,该装置应用于第一网络设备,所述第一网络设备为智能弹性架构IRF中的成员设备,或者为IRF外与所述IRF中成员设备相连接的外部设备,该装置包括:异常通知发送单元,用于在检测到与作为邻居的第二网络设备之间的邻居连接异常时,向SDN控制器发送邻居异常通知;其中,当所述第一网络设备为IRF中的成员设备时,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,当所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备时,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;

健康度获得单元,用于根据所述SDN控制器的控制指令将本网络设备的健康度从当前的第一健康度降低为第二健康度;接收所述SDN控制器发送的用于指示所述第二网络设备降低健康度的第二消息,并获得所述第二消息携带所述第二网络设备被降低后的健康度;

可用IPR确定单元,用于依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF。

9.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1‑2任一所述的方法步骤。

10.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求3‑6任一所述的方法步骤。

说明书 :

一种辅助MAD检测多IRF分裂方法、装置及设备

技术领域

[0001] 本申请涉及网络通信技术,特别涉及一种辅助MAD检测多IRF分裂方法、装置及设备。

背景技术

[0002] 在IRF(Intelligent Resilient Framework,智能弹性架构)网络中,IRF链路故障会导致一个IRF变成多个新的IRF。这些IRF中各成员设备拥有相同的IP地址等三层配置,会引起地址冲突,导致故障在网络中扩大。为了提高系统的可用性,当IRF分裂时需要一种能够检测出网络中同时存在多个IRF的分裂检测机制,以进行相应的处理,进而尽量降低IRF分裂对业务的影响。
[0003] 现有技术的分裂检测机制检测各IRF是否处于正常工作状态的一种实现方式为:针对一个IRF,该IRF中各成员设备通过自行评估自身的健康度,以依据各成员设备的健康度确定该IRF的健康度,进而决策是否禁止该IRF。但在确定每个IRF的健康度时,都是通过各IRF中每个成员设备自行评估本成员设备的健康度,但对于某些成员设备无法通过自身自行评估发现的故障,比如发包异常,而这就造成成员设备不能完全判定是本成员设备的问题,还是对端设备问题的故障,这样就造成本成员设备自行评估健康度仍是良好,以在做MAD(Multi‑Active Detection,多Active检测)DOWN(可以理解为IRF迁移到禁止状态后会关闭该IRF中所有成员设备上除保留端口以外的其它所有业务端口)决策时,可能会做出错误的决策,即真正运行良好的设备,被MAD DOWN了,以保证该IRF不能再转发业务报文,从而使得MAD DOWN的准确率低。

发明内容

[0004] 本申请提供了一种辅助MAD检测多IRF分裂方法、装置及设备,以提高MAD DOWN的准确率。
[0005] 本申请提供的技术方案包括:
[0006] 第一方面,本申请实施例提供了一种辅助MAD检测多IRF分裂方法,该方法应用于SDN控制器,包括:
[0007] 接收第一网络设备发送的邻居异常通知;所述邻居异常通知是由所述第一网络设备在检测到与作为邻居的第二网络设备之间的邻居连接异常时发送;其中,所述第一网络设备为IRF中的成员设备,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;
[0008] 依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度,并将所述第一网络设备被降低健康度的第一消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被降低健康度的第二消息通知给所述第二网络设备的所有邻居设备;所述第一消息携带所述第一网络设备被降低后的健康度,所述第二消息携带所述第二网络设备被降低后的健康度;所述第一消息、第二消息用于指示IRF外与IRF中成员设备相连接的外部设备在IRF分裂成两个以上新IRF时基于已收到的健康度协助确定出可用的一个新IRF。
[0009] 第二方面,本申请实施例提供了一种辅助MAD检测多IRF分裂方法,该方法应用于第一网络设备,所述第一网络设备为智能弹性架构IRF中的成员设备,或者为IRF外与所述IRF中成员设备相连接的外部设备,该方法包括:
[0010] 在检测到与作为邻居的第二网络设备之间的邻居连接异常时,向SDN控制器发送邻居异常通知;其中,当所述第一网络设备为IRF中的成员设备时,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,当所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备时,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;
[0011] 根据所述SDN控制器的控制指令将本网络设备的健康度从当前的第一健康度降低为第二健康度;接收所述SDN控制器发送的用于指示所述第二网络设备降低健康度的第二消息,并获得所述第二消息携带所述第二网络设备被降低后的健康度;
[0012] 依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF。
[0013] 第三方面,本申请实施例提供了一种辅助MAD检测多IRF分裂装置,该装置应用于SDN控制器,包括:
[0014] 异常通知接收单元,用于接收第一网络设备发送的邻居异常通知;所述邻居异常通知是由所述第一网络设备在检测到与作为邻居的第二网络设备之间的邻居连接异常时发送;其中,所述第一网络设备为IRF中的成员设备,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;
[0015] 健康度降低单元,用于依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度,并将所述第一网络设备被降低健康度的第一消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被降低健康度的第二消息通知给所述第二网络设备的所有邻居设备;所述第一消息携带所述第一网络设备被降低后的健康度,所述第二消息携带所述第二网络设备被降低后的健康度;所述第一消息、第二消息用于指示IRF外与IRF中成员设备相连接的外部设备在IRF分裂成两个以上新IRF时基于已收到的健康度协助确定出可用的一个新IRF。
[0016] 第四方面、本申请实施例提供了一种辅助MAD检测多IRF分裂装置,该装置应用于第一网络设备,所述第一网络设备为智能弹性架构IRF中的成员设备,或者为IRF外与所述IRF中成员设备相连接的外部设备,该装置包括:
[0017] 异常通知发送单元,用于在检测到与作为邻居的第二网络设备之间的邻居连接异常时,向SDN控制器发送邻居异常通知;其中,当所述第一网络设备为IRF中的成员设备时,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,当所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备时,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;
[0018] 健康度获得单元,用于根据所述SDN控制器的控制指令将本网络设备的健康度从当前的第一健康度降低为第二健康度;接收所述SDN控制器发送的用于指示所述第二网络设备降低健康度的第二消息,并获得所述第二消息携带所述第二网络设备被降低后的健康度;
[0019] 可用IPR确定单元,用于依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF。
[0020] 由以上技术方案可以看出,本申请中,SDN控制器依据邻居异常通知分别控制第一网络设备、第二网络设备降低健康度,并将第一网络设备被降低健康度的第一消息通知给第一网络设备的所有邻居设备、以及将第二网络设备被降低健康度的第二消息通知给第二网络设备的所有邻居设备,以使第一网络设备依据已获得的各网络设备的健康度在IRF分裂成两个以上新IRF时确定出可用的一个新IRF。可见,本申请实施例不再仅依赖IRF中各成员设备自行评估自身的健康度确定该IRF的健康度,而是通过IRF中成员设备相连接的外部设备协助SDN控制器调控该IRF中各成员设备的健康度,得到各成员设备准确度更高的健康度,以依据已获得的各网络设备的健康度在IRF分裂成多个新IRF时决策出正确的MAD DOWN,可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。

附图说明

[0021] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0022] 图1为本申请提供的第一种辅助MAD检测多IRF分裂方法流程图;
[0023] 图2为本申请提供的辅助MAD检测多IRF分裂的结构示意图;
[0024] 图3为本申请提供的示例性的第二种辅助MAD检测多IRF分裂方法流程图;
[0025] 图4为本申请提供的辅助MAD检测多IRF分裂的第一监控装置的结构示意图;
[0026] 图5为本申请提供的辅助MAD检测多IRF分裂的第二监控装置的结构示意图;
[0027] 图6为电子设备的结构示意图。

具体实施方式

[0028] 在IRF(Intelligent Resilient Framework,智能弹性架构)网络中,IRF链路故障会导致一个IRF变成多个新的IRF。这些IRF中各成员设备拥有相同的IP地址等三层配置,会引起地址冲突,导致故障在网络中扩大。为了提高系统的可用性,当IRF分裂时需要一种能够检测出网络中同时存在多个IRF的分裂检测机制,以进行相应的处理,进而尽量降低IRF分裂对业务的影响。MAD(Multi‑Active Detection,多Active检测)就是这样一种检测和处理机制。凭借传统的网络监控手段无法解决“看不见”的问题,如时延、转发路径、缓存和丢包。例如,由外部应用发起的请求获取网络状态信息的SNMP协议,就无法实时反映网络的状态。
[0029] 为了解决此类难题,业界广泛引入网络遥测(Network Telemetry)这一理念,相比于SNMP,遥测技术实现了网络设备主动推送状态信息的能力,具有更强的时效性。
[0030] INT也是一种新型遥测(Telemetry)协议,INT的出现解决了转发路径和转发时延不可见的问题。但现有技术在对网络设备进行监控时,仅仅能从交换设备的寄存器中获取有限的状态信息,并将这些状态信息填充至INT报文以发送至上层设备,供上层设备依据这些状态信息对交换设备进行状态分析,然而这些状态信息所包含的信息有限,使得交换设备借助这些状态信息并不能全面地对交换设备的运行状态进行分析,进而导致上层设备因对交换设备分析不全面而造成交换设转发报文出现拥挤或出错的技术问题。
[0031] 为了解决上述技术问题,本申请实施例提供了一种辅助MAD检测多IRF分裂方法,该方法应用于SDN控制器不再仅依赖IRF中各成员设备自行评估自身的健康度确定该IRF的健康度,而是通过IRF中成员设备相连接的外部设备协助SDN控制器调控该IRF中各成员设备的健康度,得到各成员设备准确度更高的健康度,以依据已获得的各网络设备的健康度在IRF分裂成多个新IRF时决策出正确的MAD DOWN,可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。
[0032] 基于上面描述,下面对本申请提供的图1所示流程进行描述:
[0033] 参见图1,图1为本申请提供的第一种辅助MAD检测多IRF分裂方法流程图。该方法应用于SDN控制器。
[0034] 如图1所示,该流程可包括以下步骤:
[0035] 步骤101,接收第一网络设备发送的邻居异常通知;所述邻居异常通知是由所述第一网络设备在检测到与作为邻居的第二网络设备之间的邻居连接异常时发送。
[0036] 在本步骤101中,第一网络设备为IRF中的成员设备,第二网络设备为IRF外与第一网络设备相连接的外部设备;或者,第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备,第二网络设备为IRF中与第一网络设备相连接的成员设备。
[0037] 第一网络设备为只是为便于和后文的网络设备区分而进行的命名,并非用于限定某一网络设备。
[0038] 这里,第二网络设备只是为便于描述而进行的命名,并非用于限定某一网络设备。
[0039] 上述邻居异常通知用于第一网络设备通知SDN控制器本第一网络设备与作为邻居的第二网络设备之间的邻居连接异常。如,第一网络设备在感知到与第二网络设备的邻居连接异常比如第一网络设备上连接第二网络设备的接口异常、第一网络设备上连接第二网络设备的接口所在的硬件芯片异常等,则第一网络设备向SDN控制器发送表示第一网络设备与第二网络设备连接异常的邻居异常通知。
[0040] 示例性的,如图2所示,若IRF包括交换机1和交换机2,与交换机1连接IRF外的外部设备为交换机3和路由器AP1,或,交换机3和路由器AP2,与交换机2的连接IRF外的外部设备为交换机3和路由器AP3,在这样的组网下,若第一网络设备为IRF中的交换机1,则第二网络设备为IRF外的交换机3和AP1,或,交换机3和AP2;若第一网络设备为IRF中的交换机2,则第二网络设备为IRF外的交换机3和AP3。若第一网络设备为IRF外的外部设备即交换机3,则第二网络设备为IRF内与交换机3连接的交换机1和交换机2,若第一网络设备为IRF外的外部设备即AP1,则第二网络设备为IRF内与AP1连接的交换机1。若第一网络设备为IRF外的外部设备即AP2,则第二网络设备为IRF内与AP1连接的交换机1。若第一网络设备为IRF外的外部设备即AP3,则第二网络设备为IRF内与AP1连接的交换机2。
[0041] 作为一个实施例,在步骤101之前,SDN中各网络设备还会定时或周期上报拓扑信息和各网络设备作为邻居相链接网络设备的邻居信息。基于此,作为SDN控制器,其即可基于SDN中各网络设备上报的拓扑信息确定整个SDN的拓扑结构。该邻居信息是基于二层报文的,比如LLDP链路层发现协议,这样,SDN控制器能够依据二层报文中的MAC地址辨认每一个网络设备。
[0042] 步骤102,依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度,并将所述第一网络设备被降低健康度的第一消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被降低健康度的第二消息通知给所述第二网络设备的所有邻居设备。
[0043] 本步骤中,SDN控制器接收到第一网络设备发送的邻居异常通知,这也就表示,第一网络设备与第二网络设备之间的邻居连接出现异常,可能是第一网络设备出现问题,也可以是第二网络设备出现异常,基于此,SDN控制器控制第一网络设备和第二网络设备降低健康度。同时,将第一网络设备被降低健康度的第一消息通知给第一网络设备的所有邻居设备,这样,第一网络设备的所有邻居设备都会收到第一网络设备的健康度,将第二网络设备被降低的第二消息通知给第二网络设备的所有邻居设备,这样,第二网络设备的所有邻居设备都会收到第二网络设备的健康度。
[0044] 第一消息为只是为便于和后文的网络设备区分而进行的命名,并非用于限定某一消息。
[0045] 这里,第二消息只是为便于描述而进行的命名,并非用于限定某一消息。
[0046] 作为一个实施例,在步骤102中依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度之后,还可以包括如下步骤:
[0047] 若在指定时间段检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,或者,在指定时间段结束但未检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,则分别恢复所述第一网络设备、所述第二网络设备的健康度,并将所述第一网络设备被恢复健康度的第三消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被恢复健康度的第四消息通知给所述第二网络设备的所有邻居设备;所述第三消息携带所述第一网络设备被恢复后的健康度,所述第二消息携带所述第二网络设备被恢复后的健康度。
[0048] 在本实施例中,指定时间可以根据实际需求设置,比如设置为90秒(S)或者其他时间,本实施例并不具体限定。作为一个实施例,可以采用定时器定时指定时间,在达到指定时间之后,但未检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,这就表示,第一网络设备与第二网络设备之间的邻居连接之前就出现问题,基于此,就不必再次降低第一网络设备的健康度和第二网络设备的健康度,这样,将第一网络设备和第二网络设备的健康度分别恢复至被降低之前的健康度,相应地,本步骤中被恢复后的健康度就是被降低之前的健康度。
[0049] 示例性的,若第一网络设备的健康度为C1,第二网络设备的健康度为D1,SDN控制器将第一网络设备的健康度由C1降低到C2,将第二网络设备的健康度由D1降低为D2,那么,第一网络设备被恢复后的健康度就是C1,第二网络设备被恢复后的健康度就是D1。
[0050] 这里,第三消息只是为便于描述而进行的命名,并非用于限定某一消息第四消息只是为便于描述而进行的命名,并非用于限定某一消息
[0051] 可见,通过本申请实施例提供的技术方案,能够避免第一网络设备与第二网络设备长期处于连接异常,或,第一网络设备与第二网络设备暂时出现连接异常并被很快恢复的情况,使得与第一网络设备作为邻居相连接的所有网络设备保存的第一网络设备的健康度,和,与第二网络设备作为邻居相连接的所有网络设备保存的第二网络设备的健康度更加接近实际情况以及更加准确,进一步提高MAD DOWN的准确率。
[0052] 至此,完成图1所示的描述。
[0053] 由此可见,在本申请实施例的技术方案中,本申请实施例不再仅依赖IRF中各成员设备自行评估自身的健康度确定该IRF的健康度,而是通过IRF中成员设备相连接的外部设备协助SDN控制器调控该IRF中各成员设备的健康度,得到各成员设备准确度更高的健康度,以依据已获得的各网络设备的健康度在IRF分裂成多个新IRF时决策出正确的MAD DOWN,可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。
[0054] 参见图3,图3为本申请提供的第二种辅助MAD检测多IRF分裂方法流程图。该流程应用于第一网络设备,所述第一网络设备为智能弹性架构IRF中的成员设备,或者为IRF外与所述IRF中成员设备相连接的外部设备,该方法包括:
[0055] 步骤201,在检测到与作为邻居的第二网络设备之间的邻居连接异常时,向SDN控制器发送邻居异常通知。
[0056] 其中,当所述第一网络设备为IRF中的成员设备时,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,当所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备时,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备。
[0057] 在本步骤中,第一网络设备若检测到与第二网络设备之间的邻居连接异常,这就表示,第一网络设备与第二网络设备之间的连接出现了异常,如,第一网络设备不能向第二网络设备发送信息,或第一网络设备向第二网络设备发送信息后,但长时间未收到第二网络设备的反馈。在这样的情况下,第一网络设备向SDN控制出邻居异常通知,以使SDN控制器知晓第一网络设备和第二网络设备之间邻居连接出现异常。
[0058] 步骤202,根据所述SDN控制器的控制指令将本网络设备的健康度从当前的第一健康度降低为第二健康度;接收所述SDN控制器发送的用于指示所述第二网络设备降低健康度的第二消息,并获得所述第二消息携带所述第二网络设备被降低后的健康度。
[0059] 本步骤中,第一健康度为只是为便于和后文的网络设备区分而进行的命名,并非用于限定某一健康度。
[0060] 这里,第二健康度只是为便于描述而进行的命名,并非用于限定某一健康度。
[0061] 第一网络设备与第二网络设备作为邻居并相互连接,这样,第一网络设备能够收到第二网络设备的健康度,同时,第二网络设备能够收到第一网络设备的健康度。
[0062] 步骤203,依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF。
[0063] 本步骤,各网络设备既包括IRF内的成员设备,又包括IRF外的外部设备。
[0064] 但IRF分裂成两个以上新IRF时,针对每一新IRF,该新IRF会依据各新IRF内的成员设备的健康度评估该IRF的健康度,这样,可以通过分裂检测机制IRF检测网络中存在其它处于正常工作状态,最终从各新IRF确定出一个可用的新IRF。具体实现方式可以包括:
[0065] 其一,比较各IRF的健康度,健康度较好的IRF继续工作,其它IRF迁移到Recovery状态(即禁用状态)。IRF的健康度。该健康度依据本成员设备提供,测评指标包括内存占用率、进程异常情况、芯片故障情况、操作系统异常、死循环情况、端口故障检查、风扇故障检查、温感故障检查等。
[0066] 其二,如果各IRF的健康度相同,比较各IRF中成员设备的数量,成员设备数量多的IRF继续工作,成员设备数量少的迁移到Recovery状态(即禁用状态)。
[0067] 其三,如果成员数量相等,则主成员设备成员编号小的IRF继续工作,其它IRF迁移到Recovery状态。
[0068] 在一些实施例中,实现步骤203的实现方式可以包括如下步骤:当所述第一网络设备作为IRF外与所述IRF中成员设备相连接的外部设备时,在所述IRF分裂为新IRF后向相连接的各新IRF中的Master发送已获得的与相连接的各新IRF中的成员设备的健康度,以使各新IRF中的Master依据接收的健康度从各新IRF中决策出一个可用的新IRF。
[0069] 在本实施例中,IRF分裂后形成新的IRF内的各成员设备会竞争选举出一个主成员设备Master和多个从成员设备,若一个新IRF的一个成员设备被选举为主成员设备,则余下的成员设备为从成员设备。
[0070] 在本实施例中,第一网络设备不属于IRF内部成员设备,在IRF已分裂后,针对与第一网络设备连接的每一新IRF,第一网络设备向该新IRF中的Master发送该新IRF内成员设备的健康度,相应地,其他IRF中的Master也会收到本新IRF内各成员设备的健康度,最终,依据各新IRF内各成员设备的健康度,比较各新IRF的健康度的大小,最后从各IRF中决策出一个可用的新IRF,该可用的新IRF的健康度是所有新IRF中最高的,余下的新IRF MAD DOWN,并被禁用。
[0071] 在另一些实施例中,实现步骤203的实现方式可以包括如下步骤:当所述第一网络设备作为IRF中的成员设备时,在所述IRF分裂为新IRF后若担任新IRF中的Master,则从相连接的外部设备获得与该外部设备相连接的各新IRF中成员设备的健康度,以根据获得的健康度从各新IRF中决策出一个可用的新IRF。
[0072] 在本实施例中,第一网络设备属于IRF内部成员设备,在IRF已分裂后,针对每一新IRF,若第一网络设备为该新IRF被选举的Master,则该IRF的Master会从与该Master相连接的外部设备获得该IRF内其他成员设备的健康度。最终,依据各新IRF内各成员设备的健康度,比较各新IRF的健康度的大小,最后从各IRF中决策出一个可用的新IRF,该可用的新IRF的健康度是所有新IRF中最高的,余下的新IRF MAD DOWN,并被禁用。
[0073] 至此,完成图3示的描述。
[0074] 由此可见,在本申请实施例的技术方案中,不再仅依赖IRF中各成员设备自行评估自身的健康度确定该IRF的健康度,而是通过IRF中成员设备相连接的外部设备协助SDN控制器调控该IRF中各成员设备的健康度,得到各成员设备准确度更高的健康度,以依据已获得的各网络设备的健康度在IRF分裂成多个新IRF时决策出正确的MAD DOWN,可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。
[0075] 下面基于一个实施例对图1和图3所示流程进行描述:
[0076] 为了便于描述,如图2所示,设IRF1包括交换机1和交换机2,交换机1包括两个交换芯片,分别为交换芯片chip0和交换芯片chip1,chip0与路由器AP1和交换机3连接,chip1与交换机3连接,交换机1与交换机2连接,交换机2与路由器AP3和交换机3连接,SDN控制器与交换机1、交换机2、AP1、AP2和AP3均连接。以图3为例分别示例性的给出两个辅助MAD检测多IRF分裂方法的实施例,第一个实施例可以包括如下步骤:
[0077] 当交换机1的chip 1出现发包故障时,假若AP2感知到该故障,则就认为AP2与交换机1之间的邻居连接异常,则向SDN控制器发送表示邻居变化信息的邻居异常通知。
[0078] 当SDN控制器接收到AP2发送的表示邻居变化信息的邻居异常通知时,则依据所述邻居异常通知控制AP2和与AP2之间的邻居连接存在故障的交换机1分别降低健康度。比如,SDN控制器依据邻居异常通知确定出AP2和交换机1出现了故障,针对AP2,SDN控制器向AP2发送控制指令降低AP2的健康度;同样的,针对交换机1,SDN控制器向交换机1发送控制指令降低交换机1的健康度。
[0079] 之后,SDN控制器将AP2被降低健康度的消息发送给AP2的邻居设备。AP2的邻居设备收到该消息后,AP2的各邻居设备保存AP2被降低后的健康度。类似地,SDN控制器还将交换机1被降低健康度的消息发送给交换机1的邻居设备,交换机1的各邻居设备保存交换机1被降低后的健康度。
[0080] 因交换机1中的chip1出现发包故障,IRF1会在故障之后的若干时间如30s后发生分裂,比如,IRF1分裂出IRF1_a1和IRF1_a2,其中,IRF1_a1中包括交换机1,IRF1_a2中包括交换机2,对于IRF1_a1、IRF1_a2,其中成员设备的配置是一样的,为避免冲突,在此情况下,需要从IRF1_a1、IRF1_a2中选择一个作为可用IRF,而剩下的一个被MAD DOWN,至于如何从IRF1_a1、IRF1_a2中选择一个作为可用IRF,则:
[0081] IRF1_a1中的交换机1向交换机1的各邻居设备发送健康度请求,以请求获取交换机1的健康度。
[0082] IRF1_a2中的交换机2向交换机2的各邻居设备发送健康度请求,以请求获取交换机2的健康度。
[0083] 当交换机1、交换机2分别收到邻居设备发送的本交换机的健康度后,按照已有的IRF选择方式从IRF1_a1、IRF1_a2中选择一个作为可用IRF。以已有的IRF选择方式为:比较各IRF的健康度,健康度较好的IRF继续工作,其它IRF迁移到Recovery状态(即禁用状态)。基于此,比较IRF1_a1和IRF1_a2的健康度,由于交换机1已降低了自身健康度,其健康度显然小于交换机2的,这也就表示RF1_a2较健康,RF1_a2继续工作,IRF1_a1被确定MAD DOWN,即RF1_a1迁移到Recovery状态。
[0084] 需要说明的是,SDN控制器在降低AP2和交互机1的健康度之后,还会进一步在指定时间比如90S内检测交换机1与AP2之间的邻居连接,当检测到AP2和交换机1之间的邻居连接从异常恢复为正常,或者,在90s结束但未检测到交换机1与AP2之间的邻居连接从异常恢复为正常,则分别恢复交换机1、AP2的健康度,以使交换机1和AP2的健康度恢复至之前未被降低时的健康度。
[0085] 以上对交换机1的chip 1出现发包故障进行了描述。下面以交换机1的chip 0出现发包故障为例再进行描述:
[0086] 当交换机1的chip 0出现发包故障时,与chip0邻居连接的是交换机3和AP1,若交换机3感知到该故障,则就认为交换机1与交换机3之间的邻居连接异常,则交换机3向SDN控制器发送表示邻居变化信息的邻居异常通知A。若AP1感知到该故障,则就认为AP1与交换机3之间的邻居连接异常,则AP1向SDN控制器发送表示邻居变化信息的邻居异常通知B。
[0087] 当SDN控制器接收到交换机3发送的表示邻居变化信息的邻居异常通知A时,则SDN控制器依据所述邻居异常通知A控制交换机3和与交换机3之间的邻居连接存在故障的交换机1分别降低健康度。相应地,当SDN控制器接收到AP1发送的表示邻居变化信息的邻居异常通知B时,则SDN控制器依据所述邻居异常通知B控制AP1和与AP1之间的邻居连接存在故障的交换机1分别降低健康度。比如,SDN控制器依据邻居异常通知A和邻居异常通知B确定出AP1、交换机3和交换机1出现了故障,针对AP1,SDN控制器向AP1发送控制指令降低AP1的健康度;针对交换机3,SDN控制器向交换机3发送控制指令降低交换机3的健康度;针对交换机1,SDN控制器向交换机1发送控制指令降低交换机1的健康度。
[0088] 之后,SDN控制器将AP1被降低健康度的消息发送给AP1的邻居设备。AP1的邻居设备收到该消息后,AP1的各邻居设备保存AP1被降低后的健康度。类似地,SDN控制器还将交换机3被降低健康度的消息发送给交换机3的邻居设备,交换机3的各邻居设备保存交换机3被降低后的健康度。SDN控制器还将交换机1被降低健康度的消息发送给交换机1的邻居设备,交换机1的各邻居设备保存交换机1被降低后的健康度。
[0089] 因交换机1中的chip0出现发包故障,IRF1会在故障之后的若干时间如30s后发生分裂,比如,IRF1分裂出IRF1_a3和IRF1_a4,其中,IRF1_a3中包括交换机1,IRF1_a4中包括交换机2,对于IRF1_a3、IRF1_a4,其中成员设备的配置是一样的,为避免冲突,在此情况下,需要从IRF1_a3、IRF1_a4中选择一个作为可用IRF,而剩下的一个被MAD DOWN,至于如何从IRF1_a3、IRF1_a4中选择一个作为可用IRF,则:
[0090] IRF1_a3中的交换机1向交换机1的各邻居设备发送健康度请求,以请求获取交换机1的健康度。
[0091] IRF1_a4中的交换机2向交换机2的各邻居设备发送健康度请求,以请求获取交换机2的健康度。
[0092] 当交换机1、交换机2分别收到邻居设备发送的本交换机的健康度后,按照已有的IRF选择方式从IRF1_a3、IRF1_a4中选择一个作为可用IRF。基于此,比较IRF1_a3和IRF1_a4的健康度,由于交换机1已降低了自身健康度,其健康度显然小于交换机2的,这也就表示RF1_a4较健康,RF1_a4继续工作,IRF1_a3被确定MAD DOWN,即RF1_a1迁移到Recovery状态。
[0093] 需要说明的是,SDN控制器在降低AP1、交互机1和交换机3的健康度之后,还会进一步在指定时间比如90S内检测交换机1、交换机3和AP1之间的邻居连接,当检测到AP1和交换机1之间的邻居连接从异常恢复为正常,或者,在90s结束但未检测到交换机1与AP1之间的邻居连接从异常恢复为正常,则分别恢复交换机1和AP1的健康度,以使交换机1和AP1的健康度恢复至之前未被降低时的健康度。当检测到交换机3和交换机1之间的邻居连接从异常恢复为正常,或者,在90s结束但未检测到交换机1与交换机3之间的邻居连接从异常恢复为正常,则分别恢复交换机1、交换机3的健康度,以使交换机1和交换机3的健康度恢复至之前未被降低时的健康度。
[0094] 至此,完成实施例的描述。
[0095] 下面对本申请提供的装置进行描述:
[0096] 参见图4,图4为本申请提供的一种辅助MAD检测多IRF分裂的第一检测装置400的结构示意图。该装置应用于SDN控制器,包括:
[0097] 异常通知接收单元401,用于接收第一网络设备发送的邻居异常通知;所述邻居异常通知是由所述第一网络设备在检测到与作为邻居的第二网络设备之间的邻居连接异常时发送;其中,所述第一网络设备为IRF中的成员设备,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;
[0098] 健康度降低单元402,用于依据所述邻居异常通知分别控制所述第一网络设备、所述第二网络设备降低健康度,并将所述第一网络设备被降低健康度的第一消息通知给所述第一网络设备的所有邻居设备、以及将所述第二网络设备被降低健康度的第二消息通知给所述第二网络设备的所有邻居设备;所述第一消息携带所述第一网络设备被降低后的健康度,所述第二消息携带所述第二网络设备被降低后的健康度;所述第一消息、第二消息用于指示IRF外与IRF中成员设备相连接的外部设备在IRF分裂成两个以上新IRF时基于已收到的健康度协助确定出可用的一个新IRF。
[0099] 至此,完成图4所示的装置。
[0100] 由此可见,在本申请实施例的技术方案中,SDN控制器依据邻居异常通知分别控制第一网络设备、第二网络设备降低健康度,并将第一网络设备被降低健康度的第一消息通知给第一网络设备的所有邻居设备、以及将第二网络设备被降低健康度的第二消息通知给第二网络设备的所有邻居设备,以使第一网络设备依据已获得的各网络设备的健康度在IRF分裂成两个以上新IRF时确定出可用的一个新IRF。可见,本申请实施例不再仅依赖IRF中各成员设备自行评估自身的健康度确定该IRF的健康度,而是通过IRF中成员设备相连接的外部设备协助SDN控制器调控该IRF中各成员设备的健康度,得到各成员设备准确度更高的健康度,以依据已获得的各网络设备的健康度在IRF分裂成多个新IRF时决策出正确的MAD DOWN,可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。
[0101] 参见图5,图5为本申请提供的一种辅助MAD检测多IRF分裂的第二检测装置500的结构示意图。该装置应用于SDN控制器,包括:
[0102] 异常通知发送单元501,用于在检测到与作为邻居的第二网络设备之间的邻居连接异常时,向SDN控制器发送邻居异常通知;其中,当所述第一网络设备为IRF中的成员设备时,所述第二网络设备为IRF外与所述第一网络设备相连接的外部设备;或者,当所述第一网络设备为IRF外与所述IRF中成员设备相连接的外部设备时,所述第二网络设备为IRF中与所述第一网络设备相连接的成员设备;
[0103] 健康度获得单元502,用于根据所述SDN控制器的控制指令将本网络设备的健康度从当前的第一健康度降低为第二健康度;接收所述SDN控制器发送的用于指示所述第二网络设备降低健康度的第二消息,并获得所述第二消息携带所述第二网络设备被降低后的健康度;
[0104] 可用IPR确定单元503,用于依据已获得的各网络设备的健康度在所述IRF分裂成两个以上新IRF时确定出可用的一个新IRF。
[0105] 在本申请的一个实施例中,该可用IPR确定单元503具体用于:当所述第一网络设备作为IRF外与所述IRF中成员设备相连接的外部设备时,在所述IRF分裂为新IRF后向相连接的各新IRF中的Master发送已获得的与相连接的各新IRF中的成员设备的健康度,以使各新IRF中的Master依据接收的健康度从各新IRF中决策出一个可用的新IRF。
[0106] 在本申请的一个实施例中,该可用IPR确定单元503具体用于:当所述第一网络设备作为IRF中的成员设备时,在所述IRF分裂为新IRF后若担任新IRF中的Master,则从相连接的外部设备获得与该外部设备相连接的各新IRF中成员设备的健康度,以根据获得的健康度从各新IRF中决策出一个可用的新IRF。
[0107] 在本申请的一个实施例中,该装置还包括:当在指定时间段检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,或者,在指定时间段结束但未检测到所述第一网络设备与所述第二网络设备之间的邻居连接从异常恢复为正常,向所述SDN控制发送通知,以使所述SDN控制在接收到所述通知时分别恢复所述第一网络设备、所述第二网络设备的健康度。
[0108] 至此,完成图5所示的装置。
[0109] 由此可见,在本申请实施例的技术方案中,不再仅依赖IRF中各成员设备自行评估自身的健康度确定该IRF的健康度,而是通过IRF中成员设备相连接的外部设备协助SDN控制器调控该IRF中各成员设备的健康度,得到各成员设备准确度更高的健康度,以依据已获得的各网络设备的健康度在IRF分裂成多个新IRF时决策出正确的MAD DOWN,可见,应用本申请实施例提供的技术方案能够避免成员设备无法发现本成员设备自身故障的情况,隔离真正故障的成员设备,进而提高MAD DOWN的正确率。
[0110] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0111] 本申请实施例提供的电子设备,从硬件层面而言,硬件架构示意图可以参见图6所示。包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述示例公开的辅助MAD检测多IRF分裂操作。
[0112] 本申请实施例提供的机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述示例公开的辅助MAD检测多IRF分裂操作。
[0113] 这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0114] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0115] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0116] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0117] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0118] 而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0119] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0120] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0121] 至此,完成图5所示设备的描述。
[0122] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。