一种预防临时环路的方法和装置与流程

文档序号:12161812阅读:224来源:国知局
一种预防临时环路的方法和装置与流程

本申请涉及通信技术领域,特别涉及一种预防临时环路的方法和装置。



背景技术:

在交换网络中,环路会造成报文在环路内的循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络不可用。在这种情况下,环网协议可以通过选择性地阻塞网络冗余链路来达到消除网络环路的目的。环网协议支持链路聚合,如果链路聚合的配置发生变化,环网协议需要响应,进行状态切换,确保交换网络中没有环路产生。

现有技术中,当链路聚合组的配置发生变化,需要删除成员端口时,链路聚合组中被删除的成员端口上通常会被启用环网协议。

然而,由于聚合组中被删除的成员端口,在从聚合组中被删除到成功启用环网协议之间会存在时间空当,在这个时间空当内,上述成员端口将既不属于聚合组,也并未启用环网协议,因此仍然可能会产生临时环路。



技术实现要素:

有鉴于此,本申请提供一种预防临时环路的方法和装置,用于解决聚合组中被删除的成员端口,在从聚合组中被删除到成功启用环网协议之间的时间空当内,可能会产生临时环路的问题。

具体地,本申请是通过如下技术方案实现的:

一种预防临时环路的方法,应用于网络设备,所述网络设备包括至少一个启用了环网协议的链路聚合组,包括:

记录所述链路聚合组中待删除的成员端口,以及所述成员端口的状态;

将所述成员端口从所述链路聚合组中删除,并基于记录的所述成员端口的状态在该成员端口成功启用环网协议前将该成员端口保持为关闭状态;

在所述成员端口上启用环网协议,根据记录的所述成员端口的状态,对所述成员端口执行状态恢复。

在所述预防临时环路的方法中,所述记录所述链路聚合组中待删除的成员端口,以及所述成员端口的状态,包括:

获取所述链路聚合组中待删除的成员端口,以及所述待删除的成员当前的状态;

生成所述待删除的所述成员端口以及所述成员端口的状态的对应关系,并将该对应关系记录到预设的链表中。

在所述预防临时环路的方法中,所述并将该对应关系记录到预设的链表中,包括:

在记录所述成员端口以及所述成员端口的状态的对应关系前,清空所述预设的链表。

在所述预防临时环路的方法中,所述并基于记录的所述成员端口的状态将所述成员端口保持为关闭状态,包括:

在将所述成员端口从所述链路聚合组中删除前,读取记录的所述成员端口的状态;

如果所述成员端口的状态是开启状态,关闭所述成员端口。

所述根据记录的所述成员端口的状态,对所述成员端口执行状态恢复,包括:

读取记录的所述成员端口的状态;

如果所述成员端口的状态是开启状态,开启所述成员端口。

在所述预防临时环路的方法中,包括:

所述环网协议包括生成树协议STP或者快速环网恢复协议FRRP。

一种预防临时环路的装置,应用于网络设备,所述网络设备包括至少一个启用了环网协议的链路聚合组,包括:

记录单元,用于记录所述链路聚合组中待删除的成员端口,以及所述成员端口的状态;

删除单元,用于将所述成员端口从所述链路聚合组中删除,并基于记录的所述成员端口的状态在该成员端口成功启用环网协议前将该成员端口保持为关闭状态;

启用单元,用于在所述成员端口上启用环网协议,根据记录的所述成员端口的状态,对所述成员端口执行状态恢复。

在所述预防临时环路的装置中,所述记录单元,进一步用于:

获取所述链路聚合组中待删除的成员端口,以及所述待删除的成员当前的状态;

生成所述待删除的所述成员端口以及所述成员端口的状态的对应关系,并将该对应关系记录到预设的链表中。

在所述预防临时环路的装置中,所述记录单元,进一步用于:

在记录所述成员端口以及所述成员端口的状态的对应关系前,清空所述预设的链表。

在所述预防临时环路的装置中,所述记录单元,进一步用于:

在将所述成员端口从所述链路聚合组中删除前,读取记录的所述成员端口的状态;

如果所述成员端口的状态是开启状态,关闭所述成员端口。

所述启用单元,进一步用于:

读取记录的所述成员端口的状态;

如果所述成员端口的状态是开启状态,开启所述成员端口。

在所述预防临时环路的装置中,包括:

所述环网协议包括生成树协议STP或者快速环网恢复协议FRRP。

本发明实施例中,当链路聚合组发生变化时,记录所述链路聚合组中待删除的成员端口,以及所述成员端口的状态。然后将所述成员端口从所述链路聚合组中删除,并基于记录的所述成员端口的状态将所述成员端口在启用环网协议之前保持为关闭状态。接着在所述成员端口上启用环网协议,根据记录的所述成员端口的状态,对所述成员端口执行状态恢复。在本实施例中,由于被链路聚合组删除的成员端口,在启用环网协议之前始终处于关闭状态;因此可以有效避免上述成员端口在启用环网协议前产生临时环路。

附图说明

图1是链路聚合组的一种示意图;

图2是本申请示出的一种预防临时环路的方法的流程图;

图3是本申请示出的一种预防临时环路的装置的逻辑框图;

图4是本申请示出的一种预防临时环路的装置的硬件结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。

参见图1,图1为链路聚合组的一种示意图。

如图1所示,端口1和端口2被配置为聚合组A,端口3和端口4被配置为聚合组B。聚合组A与聚合组B之间形成数据链路。聚合组A和聚合组B都启用环网协议,其中,环网协议可以是生成树协议或快速环网恢复协议中的任一。

链路聚合组发生变化,有两种形式:

第一种,整个聚合组被取消:聚合组A和聚合组B被删除,此时,因为聚合组A和聚合组B已经不存在了,聚合组A和聚合组B上的环网协议失效。在成员端口上启用环网协议。所以端口1、端口2、端口3和端口4在聚合组A和聚合组B被删除后,会被启用环网协议,以防止产生临时环路。

第二种,聚合组的部分成员端口在聚合组中被删除:端口1从聚合组A中删除,此时,因为端口1不在聚合组A内,所以端口1上的环网协议失效。为防止端口1产生临时环路,在端口1上启用环网协议。

可见,当链路聚合组发生变化时,聚合组的成员端口在被聚合组删除后,会在上述成员端口上启用环网协议,防止因产生临时环路而造成数据报文在环路内不断循环和增生,产生广播风暴。

然而,聚合组被删除的成员端口,在从聚合组中被删除到成功启用环网协议之间会存在时间空当,在这个时间空当内,该成员端口既不属于聚合组,也未启用环网协议,因此可能产生临时环路。

为解决上述问题,本发明实施例的技术方案,在从聚合组中删除成员端口,到在该成员端口上启用环网协议的时间空当内,将该成员端口保持为关闭状态,由此避免该成员端口上产生临时环路。

参见图2,为本申请示出的一种预防临时环路的方法的流程图,该实施例的执行主体是网络设备,该网络设备包括至少一个启用了环网协议的链路聚合组,所述方法包括以下步骤:

步骤201:记录所述链路聚合组中待删除的成员端口,以及所述成员端口的状态。

步骤202:将所述成员端口从所述链路聚合组中删除,并基于记录的所述成员端口的状态在该成员端口成功启用环网协议前将该成员端口保持为关闭状态。

步骤203:在所述成员端口上启用环网协议,根据记录的所述成员端口的状态,对所述成员端口执行状态恢复。

如前所述,在现有技术中,网络设备的链路聚合组中被删除的成员端口,在从聚合组中被删除到成功启用环网协议的时间空当内,既不属于聚合组,也未启用环网协议,因此仍然可能产生环路。

在本例中,在初始状态下,网络设备在启动后,可以在本地指定的多个端口上启用链路聚合协议,然后基于链路聚合协议将上述多个端口配置为链路聚合组,此时上述多个端口均为该链路聚合组中的成员端口。

其中,在实际应用中,可以基于业务需求,为网络设备配置多个链路聚合组,另外为防止链路聚合组产生临时环路,还可以在各个链路聚合组的逻辑端口上启用环网协议;比如生成树协议。

在本例中,当用户需要将聚合组的某个成员端口从该聚合组删除,或者聚合组中的任一成员端口发生故障,导致该成员端口需要从聚合组中删除时,可以记录待删除的上述成员端口,以及上述成员端口在从聚合组中被删除前的状态。

其中,在示出的一种实施方式中,可以设置一个链表,在该链表上记录待删除的上述成员端口的状态。

在实现时,每个链路聚合组都会拥有一个结构体,该结构体用于存储该聚合组的相关信息。在本例中,可以在上述结构体中设置一个链表,在该链表中来记录聚合组发生变化时,待删除的成员端口,以及该成员端口的状态。

其中,上述链表中的每一个存储节点,可以分别用于记录一个待删除成员端口,以及该成员端口的状态。

一方面,在记录待删除的成员端口时,可以将该成员端口的端口号写入链表中相应的节点中。

另一方面,在记录被删除的成员端口的状态,可以通过对上述链表的每个节点增加一个对应的标记位,增加的标记位用于记录待删除的成员端口的当前状态。其中,成员端口的状态通常可以包括:开启状态和关闭状态。

当链路聚合组的配置发生变化时,在记录被删除的成员端口和该成员端口的状态前,可以先清空上述链表。通过这个措施,可以避免上述链表中因保存以往的成员端口的信息,而对网络设备的端口造成误操作。比如说:在上一次已经被删除,且成功启用环网协议的成员端口,当前处于关闭状态。然而该成员端口在上述链表中记录为开启状态,则可能会在这一次的操作中将该成员端口作为操作对象,而开启该成员端口。

在本实施例中,在链路聚合组发生变化时,可以记录上述链路聚合组中待删除的成员端口,以及所述成员端口的状态。

其中,链路聚合组发生变化有两种情况:

第一种是:整个聚合组被删除,即聚合组中的所有成员端口都被删除。此时,可以依次获取聚合组的所有成员端口的端口号,和上述成员端口在被聚合组删除前的状态。

将获取到的成员端口的端口号和成员端口的状态生成对应的关系,并将该对应关系记录到预设的上述链表中。

第二种是:聚合组中的部分成员端口被删除,此时,可以获取待删除的成员端口的端口号,以及该成员端口的当前状态。

将获取到的成员端口的端口号和成员端口的状态生成对应的关系,并将该对应关系记录到预设的上述链表中。

上述链表只是本实施例示出的一种可行的方式,本申请还可以通过其它方式实现上述记录的功能,此处不再赘述。

在本实施例中,为了防止上述成员端口从聚合组中被删除后,在成功启用环网协议之前产生临时环路,在将上述成员端口从上述链路聚合组中删除时,可以基于记录的上述成员端口的状态,在该成员端口成功启用环网协议前,将上述成员端口保持为关闭状态。

在实现时,在将上述成员端口从上述聚合组删除前,先查找记录在预设的上述链表中的上述成员端口所在的节点,然后读取与查找到的节点对应的标记位,接着读取这个标记位中记录的上述成员端口的状态。

一方面,如果上述标记显示该成员端口为开启状态,则将该成员端口关闭,直到在该成员端口上成功启用了环网协议后恢复。

另一方面,如果上述标记显示该成员端口为关闭状态,则不对该成员端口进行处理,在这种情况下,该成员端口将始终处于关闭状态。

可见,通过以上措施,可以确保聚合组中被删除的成员端口,在成功启用环网协议之前,始终处于关闭状态。其中,针对整个聚合组被删除的情况,在聚合组的全部成员端口被删除后,因该聚合组实际上已不存在,还可以禁用聚合组的逻辑端口的环网协议。

在本实施例中,当上述成员端口已经从上述聚合组中被删除,在上述成员端口上启用环网协议,根据记录的上述成员端口的状态,对上述成员端口执行状态恢复。

当上述成员端口被上述聚合组删除后,在上述成员端口上启用环网协议,其中,所述环网协议可以是生成树协议或快速环网恢复协议。当上述成员端口已经被启用环网协议后,不会有产生临时环路的可能性了。此时,可以将原来处于开启状态的成员端口恢复状态,以使其正常工作。

在本实施例中,在对成员端口的状态进行恢复时,可以先从预设的上述链表中读取上述成员端口的状态,即,通过上述链表中,查找上述成员端口所在的节点,然后读取与查找到的节点对应的标记位,根据读取到的标记位,判断上述成员端口在从聚合组中被删除前的状态。

如果上述成员端口在上述链表中记录的状态是开启状态,则开启上述成员端口,以使其正常工作。如果上述成员端口在上述链表中记录的状态的关闭状态,则不对上述成员端口进行操作。

综上所述,当聚合组的成员端口要被删除时,先记录该成员端口的状态,保存该成员端口与该成员端口的状态的对应关系;基于记录的该成员端口状态,在将该成员端口从聚合组被删除时,将该成员端口保持关闭状态;在该成员端口成功启用环网协议后,根据保存的该成员端口的状态,对该成员端口执行状态恢复。由于在本实施例中,聚合组被删除的成员端口,在从聚合组被删除到成功启用环网协议之前的时间空当内,始终处于关闭状态,有效避免了产生临时环路的可能性。

与前述预防临时环路的方法的实施例相对应,本申请还提供了预防临时环路的装置的实施例。

参见图3,为本发明预防临时环路的装置的一个实施例框图:

如图3所示,该预防临时环路的装置30包括:

记录单元,用于记录所述链路聚合组中待删除的成员端口,以及所述成员端口的状态。

删除单元,用于将所述成员端口从所述链路聚合组中删除,并基于记录的所述成员端口的状态在该成员端口成功启用环网协议前将该成员端口保持为关闭状态。

启用单元,用于在所述成员端口上启用环网协议,根据记录的所述成员端口的状态,对所述成员端口执行状态恢复。

在本例中,所述记录单元,进一步用于:

获取所述链路聚合组中待删除的成员端口,以及所述待删除的成员当前的状态。

生成所述待删除的所述成员端口以及所述成员端口的状态的对应关系,并将该对应关系记录到预设的链表中。

在本例中,所述记录单元,进一步用于:

在记录所述成员端口以及所述成员端口的状态的对应关系前,清空所述预设的链表。

在本例中,所述记录单元,进一步用于:

在将所述成员端口从所述链路聚合组中删除前,读取记录的所述成员端口的状态。

如果所述成员端口的状态是开启状态,关闭所述成员端口。

所述启用单元,进一步用于:

读取记录的所述成员端口的状态。

如果所述成员端口的状态是开启状态,开启所述成员端口。

在本例中,所述装置包括:

所述环网协议包括生成树协议STP或者快速环网恢复协议FRRP。

本申请预防临时环路的装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请预防临时环路的装置所在网络设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据该预防临时环路的装置的实际功能,还可以包括其他硬件,对此不再赘述。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1