一种PEX设备拔除事件处理方法及装置与流程

文档序号:15777883发布日期:2018-10-30 15:46阅读:249来源:国知局
一种PEX设备拔除事件处理方法及装置与流程
本发明涉及网络通信
技术领域
,尤其涉及一种pex设备拔除事件处理方法及装置。
背景技术
:irf3(intelligentresilientframework3,第三代智能弹性架构)是为了提高网络接入层的接入能力和管理效率而开发的纵向网络整合虚拟化技术。它的核心思想是将多台pex(portextender,端口扩展器)设备连接到cb(controllingbridge,控制桥)设备上,进行必要的配置后,将每台pex设备虚拟化成cb设备的一块远程接口板,由cb设备统一管理。使用这种虚拟化技术可以以较低的成本,来提高cb设备的接口密度,简化网络拓扑,降低网络维护成本。在实际irf3组网中,通常是由两台或以上cb设备组成的irf,各pex设备与irf中部分或全部cb设备连接。在pex设备与irf中部分cb设备连接(即非全连接)的场景中,当irf发生分裂时,irf会分裂为多个irf,此时,irf的mad(multi-activedetection,多激活检测)配置生效,检查到同一个irf域内的多个active状态(激活状态)的irf,根据mad算法,会仅有一个新的irf处于active状态,其余irf则处于recovery状态(禁用状态)。然而实践发现,由于mad检测需要一定的时间,在pex设备与irf中部分cb连接的场景中,当irf发生分裂,但mad检测未完成时,会存在多个active状态的irf,此时,各active状态的irf中的master设备(主设备)会响应板拔除事件,进而可能会导致网络异常。以图1所示的非全连接场景为例,cb1、cb2、cb3组成irf,pex1与cb1、cb2有上行链路连接,而pex2与cb2和cb3有上行链路连接。access(接入交换机)与pex1、pex2双上行连接,通过stp(spanningtreeprotocol,生成树协议)协议阻塞冗余链路,假设pex2上与access设备连接的端口的stp角色为alternate端口(替换端口),该端口为stp阻塞端口。当cb3与cb2之间的irf链路发生故障,cb3与cb2、cb1组成的irf发生分裂时,在mad检测完成之前,cb3设备先响应了板拔除事件(irf分裂了,对于cb3来说,相当于cb2、cb1、pex1从本irf系统拔除了),因此对cb3而言,access设备与pex1设备之间的链路已经不存在,将pex2上与access设备连接的端口设置为(forwarding)转发状态,并把该状态同步给pex2。而cb1和cb2组成新的irf,选举新的master设备,假设cb1为新的master,对cb1而言,pex1和pex2与access设备之间的链路没有发生任何变化,因此也不会重新计算stp状态。在mad完成之后,老的master设备cb3进入recovery状态,新的master设备cb1上保存的pex2的port1口的stp状态是discarding状态(丢弃状态),而在pex2本地,port2口的stp状态是forwarding状态,形成网络环路,导致组网异常。技术实现要素:本发明提供一种pex设备拔除事件处理方法及装置,以解决现有irf3系统中pex设备拔除事件可能会导致组网异常的问题。根据本发明实施例的第一方面,提供一种pex设备拔除事件处理方法,应用于包括多台cb设备的纵向堆叠系统中的目标控制桥cb设备,所述多台cb设备之间通过堆叠链路进行链形堆叠,所述方法包括:当检测到堆叠系统分裂,且所述目标cb设备为堆叠系统分裂后所述目标cb设备归属的目标堆叠系统中的主master设备时,确定是否存在pex设备从所述目标堆叠系统中拔除;若存在pex设备从所述目标堆叠系统中拔除时,暂停响应该pex设备拔除事件,根据分裂成员设备信息和所述目标堆叠系统中的成员设备信息确定所述目标堆叠系统的状态;若所述目标堆叠系统不是激活active状态,则确定所述分裂成员设备中是否存在有效多激活检测mad成员设备;当所述分裂成员设备中不存在有效mad成员设备时,将所述目标堆叠系统的状态切换为active状态,并响应该pex设备拔除事件。根据本发明实施例的第二方面,提供一种pex设备拔除事件处理装置,应用于包括多台cb设备的纵向堆叠系统中的目标cb设备,所述多台cb设备之间通过堆叠链路进行链形堆叠,所述装置包括:设备管理单元,用于当检测到堆叠系统分裂,且所述目标cb设备为堆叠系统分裂后所述目标cb设备归属的目标堆叠系统中的主master设备时,确定是否存在pex设备从所述目标堆叠系统中拔除;所述设备管理单元,还用于若存在pex设备从所述目标堆叠系统中拔除时,暂停响应该pex设备拔除事件;多激活检测mad单元,用于根据分裂成员设备信息和所述目标堆叠系统中的成员设备信息确定所述目标堆叠系统的状态;所述mad单元,还用于若所述目标堆叠系统不是激活active状态,则确定所述分裂成员设备中是否存在有效多激活检测mad成员设备;所述mad单元,还用于当所述分裂成员设备中不存在有效mad成员设备时,将所述目标堆叠系统的状态切换为active状态;所述设备管理单元,还用于当所述目标堆叠系统的状态切换为active状态时,响应该pex设备拔除事件。应用本发明实施例,当检测到堆叠系统分裂,且目标cb设备为堆叠系统分裂后目标cb设备归属的目标堆叠系统中的master设备时,确定是否存在pex设备从目标堆叠系统中拔除,若存在pex设备从目标堆叠系统中拔除时,暂停响应该pex设备拔除事件,根据分裂成员设备信息和目标堆叠系统中的成员设备信息确定目标堆叠系统的状态,若目标堆叠系统不是active状态,则确定分裂成员设备中是否存在有效mad成员设备,进而,当分裂成员设备中不存在有效mad成员设备时,将目标堆叠系统的状态切换为active状态,并响应该pex设备拔除事件,由于在发生堆叠系统分裂时,作为堆叠系统分裂后自身归属的堆叠系统的master的cb设备,在确定自身归属的堆叠系统为active状态时再响应pex设备拔除事件,一方面,避免了recovery状态的堆叠系统响应pex设备拔除事件导致的网络环路,另一方面,避免了recovery状态的堆叠系统响应pex设备拔除事件,向边界设备发送针对通过被拔除的pex设备接入的网段的路由撤销通知,导致边界设备误删除通过该被pex设备接入的网段的路由信息,提高了组网的稳定性和可靠性;此外,堆叠系统分裂后,cb设备在确定分裂成员设备中不存在有效mad成员设备时,直接将自身归属的堆叠系统确定为active状态,与原有lacpmad机制相比,提高了堆叠系统状态确定的效率。附图说明图1是一种irf3组网的架构示意图;图2是本发明实施例提供的一种pex设备拔除事件处理方法的流程示意图;图3a是本发明实施例提供的一种mad处理流程示意图;图3b是本发明实施例提供的一种pex拔除事件响应流程示意图;图4a是本发明实施例提供的一种具体应用场景的架构示意图;图4b是本发明实施例提供的一种图4a所示应用场景下的mad处理流程示意图;图5是本发明实施例提供的一种pex设备拔除事件处理装置的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。请参见图2,为本发明实施例提供的一种pex设备拔除事件处理方法的流程示意图,其中,该pex设备拔除事件处理方法可以应用于包括多台cb设备的纵向堆叠系统(如irf3)中的任一cb设备(本文中称为目标cb设备),该多台cb设备之间通过堆叠链路进行链形堆叠(如该多台cb设备组成irf),如图2所示,该pex设备拔除事件处理方法可以包括以下步骤:步骤201、当检测到堆叠系统分裂,且目标cb设备为堆叠系统分裂后目标cb设备归属的目标堆叠系统中的master设备时,确定是否存在pex设备从目标堆叠系统中拔除。若是,则转至步骤202;否则,继续现有mad检测流程。其中这里的现有mad检测流程指的是现有技术中的mad的检测流程,本实施例中不再详细赘述。本发明实施例中,当目标cb设备检测到堆叠分裂,例如,目标cb设备检测到自身与邻居成员设备之间的堆叠链路down(故障),原堆叠系统将分裂为多个新的堆叠系统,且目标cb设备确定自身为堆叠系统分裂后自身归属的堆叠系统中的master设备时,目标cb设备可以确定是否存在pex设备从堆叠系统分裂后目标cb设备归属的堆叠系统中拔除。其中,为了描述方便,堆叠系统分裂后目标cb设备归属的堆叠系统称为目标堆叠系统。以图1所示场景为例,当cb2与cb3之间的irf链路down时,cb3与cb2、cb1组成的irf分裂,pex1从irf分裂后cb3归属的irf(该irf中仅包括cb3)中拔除,而irf分裂后cb1和cb2归属的irf(该irf中包括cb1和cb2)中不存在pex设备拔除。需要说明的是,在本发明实施例中,当在步骤201中目标cb设备确定不存在pex设备从堆叠分裂后目标cb设备归属的堆叠中拔除时,目标cb设备可以直接按照现有流程进行mad检测处理,其具体实现在此不做赘述。步骤202、暂停响应该pex设备拔除事件,并根据分裂成员设备信息和目标堆叠系统中的成员设备信息确定目标堆叠系统的状态。本发明实施例中,为了避免目标cb设备在mad检测完成前响应pex设备拔除事件导致的组网异常,当目标cb设备检测到堆叠系统分裂,且确定存在pex设备从目标堆叠系统中拔除时,目标cb设备可以先暂停响应该pex设备拔除事件(即推迟响应该pex设备拔除事件),并根据分裂成员设备信息和目标堆叠系统的成员设备信息确定目标堆叠系统的状态(堆叠分裂后目标cb设备归属的堆叠的状态,下同)。其中,分裂成员设备的信息可以包括从堆叠系统中分裂出去的成员设备(即堆叠系统分裂后不归属于目标堆叠系统成员设备)的信息,其中设备信息可以为标识或堆叠编号等。在本发明其中一个实施例中,上述根据分裂成员设备信息和目标堆叠系统的成员设备信息确定目标堆叠系统的状态,可以包括:当分裂成员设备的数量小于目标堆叠系统的成员设备的数量时,确定目标堆叠系统的状态为active状态;当分裂成员设备的数量大于目标堆叠系统的成员设备的数量时,确定目标堆叠系统的状态为recovery状态时;当分裂成员设备的数量等于目标堆叠系统的成员设备的数量,且目标堆叠系统的activeid小于分裂成员设备归属的堆叠系统的activeid时,确定目标堆叠系统的状态为active状态;当分裂成员设备的数量等于目标堆叠系统的成员设备的数量,且目标堆叠系统的activeid大于分裂成员设备归属的堆叠系统的activeid时,确定目标堆叠系统的状态为recovery状态。在该实施例中,当目标cb设备检测到堆叠系统分裂时,可以获取分裂成员设备信息以及目标堆叠系统的成员设备信息,并根据获取到的信息确定目标堆叠系统的状态。本发明实施例中,考虑到发生堆叠系统分裂时,分裂成员设备可能存在部分或全部发生断电或重启等情况,在该情况下,目标堆叠系统的成员设备数量即使小于分裂成员设备的数量,目标堆叠系统也可能会成为active状态,因此,当根据分裂成员设备信息以及目标堆叠系统的成员设备信息确定目标cb设备为recovery状态时,该结果并一定准确。相应地,在本发明实施例中,当目标cb设备根据分裂成员设备信息和目标堆叠系统的成员设备信息确定目标堆叠系统的状态不是active状态时,可以将目标堆叠系统的状态确定为pre-recovery状态(预禁用)状态,即此时,还需要进一步根据其它信息确定目标堆叠系统的实际状态(active状态或recovery状态)。步骤203、若目标堆叠系统不是active状态,则确定分裂成员设备中是否存在有效mad成员设备。本发明实施例中,当目标cb设备按照步骤202中的方式确定目标堆叠系统不是active状态(即目标堆叠系统为per-recovery状态)时,目标cb设备可以进步一确定分裂成员设备中是否存在有效mad成员设备。其中,有效mad成员设备是指可以参与mad检测的成员设备。例如,当分裂成员设备中存在部分成员设备断电或重启时,该部分成员设备将无法参与mad检测,此时,可以将该部分成员设备确定为无效mad成员设备;而其它不存在断电或重启,可以正常参与mad检测的成员设备,则可以称为有效mad成员设备。步骤204、当分裂成员设备中不存在有效mad成员设备时,将目标堆叠系统的状态切换为active状态,并响应该pex设备拔除事件。本发明实施例中,当目标cb设备确定分裂成员设备中不存在有效mad成员设备时,例如,分裂成员设备均发生断电或重启,此时,目标cb设备可以直接确定目标堆叠系统为active状态,并响应该pex设备拔除事件。可见,在本发明实施例中,当发生堆叠系统分裂时,且分裂成员设备中不存在有效mad成员设备时,可以直接将目标堆叠系统确定为active状态,而不需要再通过mad检测机制确定目标堆叠系统的状态,提高了堆叠系统分裂后目标堆叠系统的状态的确定效率。在本发明其中一个实施例中,上述纵向堆叠系统中包括的多台cb设备使能lacp(linkaggregationcontrolprotocol,链路聚合控制协议)mad功能;相应地,上述确定分裂成员设备中是否存在有效mad成员设备之前,还可以包括:根据mad对应的成员设备信息以及mad链路的状态建立mad链路信息表;根据该mad链路信息表建立有效mad成员设备表。在该实施例中,当多台cb设备组成的堆叠中的每台cb设备均与某其它设备建立了动态聚合连接时,则该堆叠可以采用lacpmad机制进行mad检测;其中,该某其它设备可以称为lacpmad中间设备(简称为中间设备)。在该实施例中,当目标cb设备在聚合组端口上使能lacpmad功能后,目标cb设备可以获取聚合成员链路(即上述堆叠中各cb设备与中间设备建立的动态聚合链路,也可以称为mad链路)对应的成员设备信息以及mad链路的状态(up(工作)状态或down状态)等信息,并根据获取到的mad链路对应的成员设备信息以及mad链路的状态建立mad链路信息表。其中,该mad链路信息表可以包括成员设备的堆叠编号、成员设备的mad链路端口号以及成员设备的mad链路的状态的对应关系,其格式可以如表1所示:表1其中,根据表1的信息可知,该堆叠中存在4个成员设备(堆叠编号依次为1~4),其中,成员设备1分别通过端口11和端口12与中间设备建立动态聚合连接,且端口11对应的mad链路的状态为up状态,端口12对应的mad链路的状态为down状态;成员设备2分别通过端口21和端口22与中间设备建立动态聚合连接,且端口21和端口22对应的mad链路的状态均为down状态;成员设备3通过端口31与中间设备建立动态聚合连接,且端口31对应的mad链路的状态为up状态;成员设备4分别通过端口41和端口42与中间设备建立动态聚合连接,且端口41和端口42对应的mad链路的状态均为up状态。在该实施例中,目标cb设备建立mad链路建立信息表之后,可以根据mad链路建立信息表确定各成员设备的up状态的mad链路的数量,进而建立有效mad成员设备表。其中,有效mad成员设备为存在至少一条up状态的mad链路的成员设备,该有效mad成员设备表记录有成员设备的堆叠编号与up状态的mad链路的数量的对应关系。其中,根据表1所示的mad链路信息表建立的有效mad成员设备表的格式可以如表2所示:表2有效mad成员设备的堆叠编号up状态的mad链路的数量113142在该实施例中,当目标cb设备需要确定分裂成员设备中是否存在有效mad成员设备时,目标cb设备可以根据分裂成员设备的堆叠编号查询本地维护的有效mad成员设备表,以确定分裂成员设备中是否存在有效mad成员设备。举例来说,以表2所示有效mad成员设备表为例,假设目标cb设备为成员设备1,当发生堆叠分裂时,成员设备1获取到的分裂成员设备包括成员设备2、成员设备3和成员设备4,则成员设备1根据各成员设备的堆叠编号(即2、3和4)查询表2所示有效mad成员设备表可以确定成员设备3和成员设备4为有效mad成员设备。可见,在本发明实施例中,通过维护有效mad成员设备表,各成员设备可以高效地确定分裂成员设备中是否存在有效mad成员设备,进而,可以在分裂成员设备中不存在有效mad成员设备时,将自身归属的堆叠系统确定为active状态,与现有mad机制相比,提高了堆叠系统的状态的确定效率。考虑到堆叠系统运行过程中,各成员设备与中间设备之间的动态聚合链路(即mad链路)的状态可能会发生变化,如由up状态变化为down状态,或由down状态变化为up状态等,对于任一成员设备,其mad链路的状态变化会影响该成员设备的up状态的mad链路的数量,进而,会影响该成员设备是否属于有效mad成员设备,因此,为了保证有效mad成员设备表中的信息的准确性,需要根据各成员设备的mad链路状态信息更新有效mad成员设备表。相应地,在该实施例其中一种实施方式中,上述建立有效mad成员设备表之后,还可以包括:根据lacpmad中间设备发送的mad链路状态通知报文更新mad链路信息表;根据更新后的mad链路信息表更新有效mad成员设备表。在该实施方式中,当中间设备检测到与堆叠中任一成员设备之间mad链路的状态发生变化时,如由up状态变为down状态,或,由down状态变为up状态等,中间设备可以向堆叠中各成员设备发送mad链路状态通知报文。相应地,当目标cb设备接收到中间设备发送的mad链路状态通知报文时,可以根据该lacpmad中间设备发送的mad链路状态通知报文更新自身维护的mad链路信息表,并根据更新后的mad链路信息表更新有效mad成员设备表。在一个示例中,上述mad链路状态通知报文可以包括mad链路down通知报文,该mad链路down通知报文中至少可以携带有用于标识该mad链路状态通知报文为mad链路down通知报文的消息类型标识(本文中称为第一消息类型标识)、down状态的mad链路对应的成员设备的堆叠编号以及down状态的mad链路在对应的成员设备上的端口号。当目标cb设备接收到中间设备发送的mad链路down通知消息时,可以更新自身维护的mad链路信息表中对应的mad链路的状态,并更新有效mad成员设备表中的相关成员设备的up状态的mad链路的数量。其中,当有效mad成员设备表中某成员设备的up状态的mad链路的数量变为0时,可以将该成员设备的信息从有效mad成员设备表中删除。举例来说,以表1所示的mad链路信息表和表2所示的有效mad成员设备表为例,假设有效mad成员设备1为目标cb设备,当有效mad成员设备1接收到中间设备发送的mad链路状态通知报文,且该mad链路状态通知报文中携带有第一消息类型标识、成员设备的堆叠编号为3、down状态的mad链路在对应的成员设备上的端口号为31,则有效mad成员设备1可以将表1中堆叠编号为3的成员设备(即有效mad成员设备3)的mad链路状态更新为down,由于有效mad成员设备3的up状态的mad链路的数量为0,因此,成员设备1可以删除表2中堆叠编号为3的成员设备的信息。其中,更新后的mad链路信息表和有效mad成员设备表可以分别如表3和表4所示:表3成员设备的堆叠编号mad链路端口号mad链路状态111up112down221down222down331down441up442up表4有效mad成员设备的堆叠编号up状态的mad链路的数量1142在另一个示例中,上述mad链路状态通知报文可以包括mad链路up通知报文,该mad链路up通知报文中至少可以携带有用于标识该mad链路状态通知报文为mad链路up通知报文的消息类型标识(本文中称为第二消息类型标识)、up状态的mad链路对应的成员设备的堆叠编号以及up状态的mad链路在对应的成员设备上的端口号。当目标cb设备接收到中间设备发送的mad链路up通知消息时,可以更新自身维护的mad链路信息表中对应的mad链路的状态,并更新有效mad成员设备表中的相关成员设备的up状态的mad链路的数量。其中,当有效mad成员设备表中某成员设备的up状态的mad链路的数量由0变为0以上时,可以在有效mad成员设备表中增加该成员设备的信息。举例来说,仍以表1所示的mad链路信息表和表2所示的有效mad成员设备表为例,假设有效mad成员设备1为目标cb设备,当有效mad成员设备1接收到中间设备发送的mad链路状态通知报文,且该mad链路状态通知报文中携带有第二消息类型标识、成员设备的堆叠编号为2、up状态的mad链路在对应的成员设备上的端口号为21,则有效mad成员设备1可以将表1中堆叠编号为2的成员设备(即有效mad成员设备2)的端口21对应的mad链路状态更新为up,由于有效mad成员设备2的up状态的mad链路的数量由0变为1,因此,成员设备1可以在表2中增加堆叠编号为2的成员设备的信息。其中,更新后的mad链路信息表和有效mad成员设备表可以分别如表5和表6所示:表3成员设备的堆叠编号mad链路端口号mad链路状态111up112down221up222down331up441up442up表4有效mad成员设备的堆叠编号up状态的mad链路的数量11213142需要说明的是,在该实施例中,中间设备发送的mad链路状态通知报文中携带的信息并不限于上述信息,例如,mad链路状态通知报文中还可以携带状态变化的mad链路在中间设备上的端口号、状态变化的mad链路对应的成员设备上up状态的mad链路的数量等。可选地,上述mad链路状态通知报文中的信息可以携带在lacp报文的扩展字段中。相应地,在该实施例中,中间设备可以获取各使能了lacpmad功能的堆叠成员设备的相关信息,并维护如表7所示的表项:表7其中,上表中的domainid为配置了lacpmad的堆叠的domainid,中间设备可以根据堆叠的domainid区分mad发生范围,domainid信息可以通过解析lacpmad报文获得。成员设备的堆叠编号为使能lacpmad功能的成员设备的堆叠编号,该信息可以从lacpmad报文中解析获得。本地端口号为中间设备的聚合组端口的本地端口号。对端端口号为中间设备的聚合组端口连接的对端成员设备的端口号,该信息可以从lacpmad报文中解析获得。在该实施例其中一种实施方式中,上述建立有效mad成员设备表之后,还可以包括:根据监测到的堆叠成员设备的聚合组端口变化更新mad链路信息表;根据更新后的mad链路信息表更新有效mad成员设备表。在该实施方式中,堆叠中的master可以监测堆叠中各成员设备的聚合组端口变化。其中,聚合组端口变化包括新增聚合组端口、删除聚合组端口、聚合组端口down或聚合组端口up。需要说明的是,在该实施例中,若未特殊说明,所提及的聚合组端口均指使能了lacpmad功能的聚合组端口。相应地,为了保证有效mad成员设备表的准确性,当目标cb设备监测到聚合组端口变化时,可以根据监测到的聚合组端口变化更新自身维护的mad链路信息表,并根据更新后的mad链路信息表更新有效mad成员设备表,其具体实现可以参见上述实施例中目标cb设备根据mad链路状态通知报文更新mad链路信息表和有效mad成员设备表的相关描述,本发明实施例在此不做赘述。进一步地,在本发明其中一个实施例中,上述确定分裂成员设备中是否存在有效mad成员设备之后,还可以包括:若分裂成员设备中存在有效mad成员设备,则发送lacpmad检测报文;若在接收到lacpmad检测报文之前,检测到有效mad成员设备表更新事件,则根据更新后的有效mad成员设备表确定分裂成员设备中是否存在有效mad成员设备;当分裂成员设备中不存在有效mad成员设备时,将目标堆叠系统的状态切换为active状态,并响应该pex设备拔除事件。在该实施例中,考虑到堆叠系统中的成员设备更新有效mad成员设备表的时刻可能会晚于查找有效mad成员设备表的时刻,进而,可能会出现由于有效mad成员设备表未及时更新而导致的有效mad成员设备的确定不准确地情况。举例来说,假设cb1、cb2和cb3组成irf,当某一时刻,cb1和cb2均发生断电,导致cb3与cb2之间的堆叠链路down,此时,cb3的分裂成员设备列表中包括cb1和cb2,且cb3在根据中间设备发送的mad链路状态通知报文(mad链路down通知报文)完成有效mad成员设备表更新之前,cb3会查询到cb1或/和cb2为有效mad成员设备,而实际上cb1和cb2均为无效mad成员设备。相应地,在该实施例中,当在上述步骤203中确定存在有效mad成员设备时,目标cb设备可以发送lacpmad检测报文,进行mad检测,并等待接收其它成员设备(有效mad成员设备)发送的lacpmad检测报文。若目标cb设备在接收到lacpmad检测报文之前,检测到有效mad成员设备表更新事件,即发生了有效mad成员设备表更新,则目标cb设备可以根据更新后的有效mad成员设备表确定分裂成员设备中是否存在有效mad成员设备,并当不存在时,直接将目标堆叠系统状态切换为active状态,并响应pex设备拔除事件。具体地,在该实施例中,目标cb设备在检测到有效mad成员设备表更新事件时,可以确定是否存在分裂成员设备,若存在,则可以进一步根据更新后的有效mad成员设备表确定分裂成员设备中是否存在有效mad设备。需要说明的是,在本发明实施例中,当目标cb设备收到了其它成员设备发送的lacpmad检测报文时,目标cb设备可以按照原有lacpmad检测流程进行处理。此外,当目标cb设备在检测到有效mad成员设备表更新事件,且确定不存在分裂成员设备(即此时未发生堆叠系统分裂)时,目标cb设备可以不需要进行特殊处理;或者,当存在分裂成员设备,且分裂成员设备中存在有效mad成员设备时,目标cb设备可以直接按照现有mad处理流程进行处理,并根据mad结果(active或recovery)确定是否响应pex拔除事件,其示意图可以如图3a和图3b所示。为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。请参见图4a,为本发明实施例提供的一种具体应用场景的架构示意图,如图4a所示,在该应用场景中,由slot1、slot2、slot3三台irf成员设备组成irf3.1系统的cb设备,slot1、slot2、slot3分别是其中的cb1、cb2、cb3,pex1和cb1、cb2双上行连接,pex2和cb2、cb3双上行连接。slot1、slot2、slot3组成的irf和border设备(边界设备)通过动态聚合链路连接。在irf和border连接的聚合链路上使能lacpmad,border设备是lacpmad检测的中间设备。在该实施例中,irf成员设备(cb1、cb2或cb3)在聚合组端口上使能lacpmad后,可以建立如下mad链路信息表(表8)和有效mad成员设备表(表9):表8成员设备的irf编号mad链路端口号mad链路状态111up221up331up表9有效mad成员设备的irf编号up状态的mad链路的数量112131假设irf的domainid为1,则border设备(即中间设备)建立表10所示表项:表10情况一、irf链路中断导致irf分裂(以slot3和slot2之间的irf链路中断为例)假设slot1和slot2组成的irf的master设备为slot1设备,slot1设备响应irf分裂事件,发现没有pex设备从本irf拔除,因此按照现有相关技术中的相关实现进行处理。slot3自身组成新的irf,并升级为master设备。slot3检测到irf分裂事件,判断有pex设备(pex1)从本irf拔除,并推迟处理此pex设备拔除事件。slot3根据irf分裂前后的拓扑,建立分裂成员设备列表:{slot1、slot2}由于slot3所在irf的成员设备数量为一个,而slot1和slot2所在irf的成员设备数量为两个,可见,slot3所在irf的成员设备数量小于slot1和slot2所在irf的成员设备数量,因此,solt3确定本irf的mad状态为recovery,进入pre-recovery状态。此时,slot3可以查找有效mad成员设备表,发现分裂设备成员列表中的设备slot1、slot2都在有效mad成员设备表中,因此继续原有mad检测流程。slot3的经过原有的lacpmad检测流程,检测结果确认本irf是recovery状态,不再进行pex1拔除事件的处理。需要说明的是,在该实施例中,当slot3和slot2之间的irf链路中断,若按照现有相关技术的处理方式,slot3会在完成mad检测之前,响应pex1被拔除事件,此时,slot3会认为由pex1提供接入的网段的路由失效,进而,slot3会向border设备发送针对该网段(由pex1提供接入的网段)的路由撤销通知,导致border设备误删除该网段的路由。而通过本发明实施例提供的技术方案,slot3在确定自身所属irf处于非active状态(pre-recovery状态)时,slot3会暂停响应pex1拔除事件,并按照上述方式确定自身所属irf的状态,当确定自身所属irf为recovery状态时,不响应pex1拔除事件,从而避免了border设备误删除由pex1提供接入的网段的路由信息。情况二、irf成员设备断电或重启导致irf分裂成两部分(以slot2断电为例)slot2断电后,border设备检测到和slot2之间的mad链路的状态变为down状态,通过madlink(链路)down通知报文通知slot1和slot3设备。该madlinkdown通知报文内容为:{消息类型=0,down状态的mad链路的irf编号=2、down状态的mad链路在中间设备上的端口号=12,down状态的mad链路在irf成员设备上的端口号=21,该irf成员剩余的up状态的mad链路的数量=0}其中,以第一消息类型标识为0为例,即消息类型=0表明madlink状态通知报文为madlinkdown通知报文。slot1设备和slot3设备收到madlinkdown通知报文,均可以更新mad链路信息表为(表11):表11成员设备的irf编号mad链路端口号mad链路状态111up221down331up更新有效mad成员设备表为(表12):表12有效mad成员设备的irf编号up状态的mad链路的数量1131slot1响应irf分裂事件,发现存在pex设备(pex2)从本irf拔除,推迟处理该pex设备拔除事件。slot3响应irf分裂事件,发现存在pex设备(pex1)从本irf拔除,推迟处理该pex设备拔除事件。slot1响应irf分裂事件,建立分裂成员设备列表:{slot2、slot3}slot3响应irf分裂事件,建立分裂成员设备列表:{slot1、slot2}slot1设备根据自身归属的irf的成员设备信息以及分裂成员设备信息确定本irf为recovery状态,进入pre-recovery状态;slot1查找有效mad成员设备表,至少能发现分裂成员设备表中的slot3是有效的mad成员设备(若有效mad成员设备表未及时更新,则会查询到slot2和slot3均为有效mad成员设备),因此继续原有mad检测流程。假设slot1设备经过原有的lacpmad检测流程,检测结果确认本irf是active状态,继续进行pex1拔除事件的处理。slot3设备根据自身归属的irf的成员设备信息以及分裂成员设备信息确定本irf为recovery状态,进入pre-recovery状态;slot3查找有效mad成员设备表,至少能发现分裂成员设备表中的slot1是有效的mad成员设备(若有效mad成员设备表未及时更新,则会查询到slot1和slot2均为有效mad成员设备),因此继续原有mad检测流程。假设slot3设备经过原有的lacpmad检测流程,检测结果确认本irf是recovery状态,取消pex2拔除事件的处理。情况三、部分irf成员设备断电或重启导致irf只剩一部分(以slot1和slot2断电为例)slot1和slot2断电后,border设备检测到和slot1、slot2连接的mad链路的状态变为down状态,分别通过madlinkdown通知报文通知slot3设备。madlinkdown通知报文内容为:{消息类型=0,down状态的mad链路的irf编号=1、down状态的mad链路在中间设备上的端口号=11,down状态的mad链路在irf成员设备上的端口号=11,该irf成员剩余的up状态的mad链路的数量=0}{消息类型=0,down状态的mad链路的irf成员编号=2、down状态的mad链路在中间设备上的端口号=12,down状态的mad链路在irf成员上的端口号=21,该irf成员剩余的up状态的mad链路的数量=0}slot3设备收到madlinkdown通知报文,更新mad链路信息表为(表13):表13成员设备的irf编号mad链路端口号mad链路状态111down221down331up更新有效mad成员设备表为(表14):表14有效mad成员设备的irf编号up状态的mad链路的数量31slot3响应irf分裂事件,发现存在pex设备(pex1)从本irf拔除,推迟处理该pex设备拔除事件。slot3响应irf分裂事件,建立分裂成员设备列表:{slot1、slot2}slot3设备根据自身归属的irf的成员设备信息以及分裂成员设备信息确定本irf为recovery状态,进入pre-recovery状态;slot3查找有效mad成员设备表,由于slot3响应有效mad成员设备表更新事件与irf分裂事件存在先后时序的不确定性,因此会存在以下两种情形:1、若slot3处理irf分裂事件,进入pre-recovery状态后,查找有效mad成员设备表的时刻晚于最后的有效mad成员表更新事件,此时分裂成员列表中的全部成员slot1和slot2都不会在有效mad成员设备表中(即不存在有效mad成员设备),因此,slot3直接进入active状态。2、若slot3处理irf分裂事件,进入pre-recovery状态后,查找有效mad成员设备表的时刻早于最后的有效mad成员表更新事件,此时分裂成员设备列表中slot1或/和slot3会在有效mad成员设备表中,此时,slot3可以按照原有lacpmad检测流程,发送lacpmad检测报文,并等待接收其它mad成员设备(slot1或/和slot2)发送的lacpmad检测报文,等待过程会极其短暂,slot3随即会响应最后的有效mad成员设备表更新事件,检测到分裂成员设备列表中已经不存在有效mad成员设备,slot3立即进入active状态。slot3进行active状态之后,继续进行pex1拔除事件的处理。其中,图4a所示应用场景下的mad处理流程可以如图4b所示。通过以上描述可以看出,在本发明实施例提供的技术方案中,当检测到堆叠系统分裂,且目标cb设备为堆叠系统分裂后目标cb设备归属的目标堆叠系统中的master设备时,确定是否存在pex设备从目标堆叠系统中拔除,若存在pex设备从目标堆叠系统中拔除时,暂停响应该pex设备拔除事件,根据分裂成员设备信息和目标堆叠系统的成员设备信息确定目标堆叠系统的状态,若目标堆叠系统不是active状态,则确定分裂成员设备中是否存在有效mad成员设备,进而,当分裂成员设备中不存在有效mad成员设备时,将目标堆叠系统的状态切换为active状态,并响应该pex设备拔除事件,由于在发生堆叠系统分裂时,作为堆叠系统分裂后自身归属的堆叠系统的master的cb设备,在确定自身归属的堆叠系统为active状态时再响应pex设备拔除事件,一方面,避免了recovery状态的堆叠系统响应pex设备拔除事件导致的网络环路,另一方面,避免了recovery状态的堆叠系统响应pex设备拔除事件,向边界设备发送针对通过被拔除的pex设备接入的网段的路由撤销通知,导致边界设备误删除通过该被pex设备接入的网段的路由信息,提高了组网的稳定性和可靠性;此外,堆叠系统分裂后,cb设备在确定分裂成员设备中不存在有效mad成员设备时,直接将自身归属的堆叠系统确定为active状态,与原有lacpmad机制相比,提高了堆叠系统状态确定的效率。请参见图5,为本发明实施例提供的一种pex设备拔除事件处理装置的结构示意图,其中,该装置可以应用于上述方法实施例中的目标cb设备,如图5所示,该pex设备拔除事件处理装置可以包括:设备管理单元510,用于当检测到堆叠系统分裂,且所述目标cb设备为堆叠系统分裂后所述目标cb设备归属的目标堆叠系统中的主master设备时,确定是否存在pex设备从所述目标堆叠系统中拔除;所述设备管理单元510,还用于若存在pex设备从所述目标堆叠系统中拔除时,暂停响应该pex设备拔除事件;mad单元520,用于根据分裂成员设备信息和所述目标堆叠系统中的成员设备信息确定所述目标堆叠系统的状态;所述mad单元520,还用于若所述目标堆叠系统不是激活active状态,则确定所述分裂成员设备中是否存在有效多激活检测mad成员设备;所述mad单元520,还用于当所述分裂成员设备中不存在有效mad成员设备时,将所述目标堆叠系统的状态切换为active状态;所述设备管理单元510,还用于当所述目标堆叠系统的状态切换为active状态时,响应该pex设备拔除事件。在可选实施例中,所述mad单元520,还用于根据mad链路对应的成员设备信息以及mad链路的状态建立mad链路信息表;其中,所述mad链路信息表包括成员设备的堆叠编号、成员设备的mad链路端口号以及成员设备的mad链路的状态的对应关系,所述mad链路的状态包括up状态和故障down状态;所述mad单元520,还用于根据所述mad链路信息表建立有效mad成员设备表;其中,所述有效mad成员设备表记录有成员设备的堆叠编号与工作up状态的mad链路的数量的对应关系;有效mad成员设备为存在至少一条up状态的mad链路的成员设备;所述mad单元520,具体用于根据所述分裂成员设备的堆叠编号查询所述有效mad成员设备表,以确定所述分裂成员设备中是否存在有效mad成员设备。在可选实施例中,所述mad单元520,还用于根据lacpmad中间设备发送的mad链路状态通知报文更新所述mad链路信息表;所述mad单元520,还用于根据更新后的mad链路信息表更新所述有效mad成员设备表。在可选实施例中,所述mad链路状态通知报文包括mad链路down通知报文或mad链路up通知报文;其中,所述mad链路down通知报文中携带有第一消息类型标识、down状态的mad链路对应的成员设备的堆叠编号、down状态的mad链路在对应的成员设备上的端口号;所述第一消息类型标识用于标识mad链路状态通知报文为mad链路down通知报文;所述mad链路up通知报文中携带有第二消息类型标识、up状态的mad链路对应的成员设备的堆叠编号、up状态的mad链路在对应的成员设备上的端口号;所述第二消息类型标识用于标识mad链路状态通知报文为mad链路up通知报文。在可选实施例中,所述mad单元520,还用于根据监测到的堆叠成员设备的聚合组端口变化更新所述mad链路信息表;所述mad单520,还用于根据更新后的mad链路信息表更新有效mad成员设备表;其中,聚合组端口变化包括新增聚合组端口、删除聚合组端口、聚合组端口down或聚合组端口up。在可选实施例中,所述mad单元520,还用于在确定所述分裂成员设备中是否存在有效mad成员设备之后,若所述分裂成员设备中存在有效mad成员设备,则发送lacpmad检测报文;所述mad单元520,还用于若在接收到lacpmad检测报文之前,检测到有效mad成员设备表更新事件,则根据更新后的有效mad成员设备表确定所述分裂成员设备中是否存在有效mad成员设备;所述mad单元520,还用于当所述分裂成员设备中不存在有效mad成员设备时,将所述目标cb设备的状态切换为active状态;所述设备管理单元510,还用于当所述目标堆叠系统的状态切换为active状态时,响应该pex设备拔除事件。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,当检测到堆叠分裂,且目标cb设备为堆叠分裂后目标cb设备归属的堆叠中的master设备时,确定是否存在pex设备从堆叠分裂后目标cb设备归属的堆叠中拔除,若存在pex设备从堆叠分裂后目标cb设备归属的堆叠中拔除时,暂停响应该pex设备拔除事件,根据分裂成员设备信息和堆叠分裂后目标cb设备归属的堆叠的成员设备信息确定目标cb设备的状态,若目标cb设备不是active状态,则确定分裂成员设备中是否存在有效mad成员设备,进而,当分裂成员设备中不存在有效mad成员设备时,将目标cb设备的状态切换为active状态,并响应该pex设备拔除事件,一方面,避免了recovery状态的堆叠系统响应pex设备拔除事件导致的网络环路,另一方面,避免了recovery状态的堆叠系统响应pex设备拔除事件,向边界设备发送针对通过被拔除的pex设备接入的网段的路由撤销通知,导致边界设备误删除通过该被pex设备接入的网段的路由信息,提高了组网的稳定性和可靠性;此外,堆叠系统分裂后,cb设备在确定分裂成员设备中不存在有效mad成员设备时,直接将自身归属的堆叠系统确定为active状态,与原有lacpmad机制相比,提高了堆叠系统状态确定的效率。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1