堆叠系统的拓扑收敛方法及成员设备的制作方法

文档序号:7869197阅读:108来源:国知局
专利名称:堆叠系统的拓扑收敛方法及成员设备的制作方法
技术领域
本发明属于数据通信技术领域,具体涉及一种堆叠技术中的拓扑信息收敛方法及成员设备。
背景技术
堆叠技术是通过堆叠电缆将多台网络设备连接在一起组成堆叠系统(StackingSystem, SS),以便在有限的空间内提供尽可能多的端口 ;对外呈现为一台虚拟的较大型的设备。堆叠系统中的这些网络设备统称为堆叠系统的成员设备。每两台成员设备之间建立的堆叠链路称为虚拟交换链路(VSL, Virtual Switching link),参与堆叠的多台成员设备中,其中一台成员设备为主设备(Master设备),其他成员设备都为从设备(Slave设备),其中,Master设备为Active (活动)状态,充当管理者和控制者的角色,其配置生效,而Slave设备则为Standby (备用)状态,其配置不生效。图1是一个典型的堆叠系统的示意图,包括三台成员设备,其中,成员设备2为主设备,成员设备I和成员设备3均为从设备。堆叠系统形成前需要先进行拓扑信息收集,在堆叠系统中的拓扑信息已经同步到所有成员设备后,各成员设备分别进入角色选举状态,根据预设的选举算法,选举出主设备,其它成员设备都为从设备,并确定堆叠拓扑中的转发路线。因此能够快速且完整的将所有成员设备的信息同步到堆叠系统的所有成员设备,在物理线路不稳定或者其它可能导致拓扑震荡的因素影响下,如何确保堆叠系统的拓扑能够稳定收敛,避免多次进入角色选举,成为堆叠系统稳定的关键因素。拓扑收敛方法没有统一标准,现有技术中一般是先将所有成员设备信息发送到主设备,再由主设备将堆叠系统中的拓扑信息同步到堆叠系统的所有从设备。通常情况下,如果是先将成员设备信息发送 到主设备,再由主设备同步到堆叠系统的所有从设备,这样就要求必须预先选举出一个主设备,如果选举算法选择不当,很容易出现主设备切换及反复选举,影响堆叠的稳定性。

发明内容
有鉴于此,本发明的目的是提供堆叠系统的拓扑收敛方法,在无需预选主设备的情况下,通过广播方式快速将堆叠系统中的拓扑信息同步到堆叠系统中的所有成员设备,减少堆叠形成时间,提升堆叠形成的稳定性。本发明的技术方案是一种堆叠系统的拓扑收敛方法,具体包括A.每个成员设备在其连接的某条虚拟交换链路达到连通状态后,发送拓扑收集报文到该虚拟交换链路的对端成员设备进行拓扑收集,并从该虚拟交换链路的对端成员设备接收拓扑收集报文,当从该虚拟交换链路的对端成员设备收到的拓扑收集报文中的成员设备信息与本地保存的成员设备信息一致时,所述成员设备设置该条虚拟交换链路为已收敛状态;B.每个成员设备判断其连接的所有虚拟交换链路为已收敛状态后,确定本成员设备为已收敛状态,并通过拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备;C.每个成员设备判断堆叠系统中所有成员设备为已收敛状态后,确定堆叠系统拓扑收敛完成,按照预设的选举规则启动主设备选举。进一步的,所述步骤A之前,还包括如下初始化步骤A0.每个成员设备中,建立用于在本设备保存堆叠系统中所有成员设备的拓扑收集状态的拓扑收集状态表,以及建立用于在本设备保存堆叠系统中所有成员设备信息的成员设备信息表。具体的,所述拓扑收集状态表中还记录有本设备连接的所有达到连通状态的虚拟交换链路的拓扑收集状态信息。所述步骤AO进一步包括,每个成员设备计算其摘要信息,并记录在本设备的拓扑收集状态表中,并将所述拓扑收集状态表中记录的堆叠系统中除本设备之外的其他成员设备的摘要信息初始化为O。具体的,步骤A中 ,当每个成员设备从其连接的某条虚拟交换链路的对端设备收到的拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的不一致时,则将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到本地保存的成员设备信息表中,并更新本地拓扑收集状态表对应成员设备的摘要信息;并将该虚拟交换链的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;否则,该虚拟交换链的拓扑收集状态设置为已收敛状态。具体的,成员设备更新本地拓扑收集状态表对应成员设备的摘要信息的方法为成员设备依据本地成员设备信息表中更新后的对应成员设备信息,通过MD5算法重新计算该对应成员设备的摘要信息,更新本地拓扑收集状态表对应成员设备的摘要信息。具体的,当每个成员设备从其连接的某条虚拟交换链路的对端设备收到的拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的不一致时,在将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到本地保存的成员设备信息表之前,判断成员设备信息表保存的摘要信息不一致的成员设备对应的虚拟交换链路与本次接收拓扑收集报文的虚拟交换链路是否相同,如是,将拓扑收集报文中包括的该成员设备信息更新到本地保存的成员设备信息表,否则不进行后续处理。具体的,步骤B中,每个成员设备当判断其连接的某条虚拟交换链路为已收敛状态后,判断本设备连接的所有虚拟交换链路是否为已收敛状态,如是,则确定本成员设备为已收敛状态,并发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备,所述拓扑收集报文中包括本设备的已收敛状态和本地所有成员设备的摘要信息;否则,向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文。本发明的另一个目的,还提供一种堆叠系统的拓扑收敛方法的成员设备,包括拓扑收集模块和成员设备信息学习模块,所述拓扑收集模块,用于所在成员设备连接的某条虚拟交换链路达到连通状态后,发送拓扑收集报文到该虚拟交换链路的对端成员设备进行拓扑收集,当从该虚拟交换链路的对端成员设备收到的拓扑收集报文中的成员设备信息与本地保存的成员设备信息一致时,设置该条虚拟交换链路为已收敛状态;并在判断所在成员设备连接的所有虚拟交换链路为已收敛状态后,确定所在成员设备为已收敛状态,并通告所在成员设备连接的所有虚拟交换链路的对端成员设备;所述成员设备信息学习模块,用于所在成员设备从连接的达到连通状态的某条虚拟交换链路接收到拓扑收集报文后,保存所述拓扑收集报文中的成员设备信息。进一步的,所述成员设备还包括初始化模块,用于建立所在成员设备保存堆叠系统中所有成员设备的拓扑收集状态的拓扑收集状态表,以及用于建立所在成员设备保存堆叠系统中所有成员设备信息的成员设备信息表;所述拓扑收集模块,还用于当每个成员设备从其连接的虚拟交换链路的对端设备收到拓扑收集报文后,判断拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的是否一致,如是,将该虚拟交换链的拓扑收集状态设置为已收敛状态;否则,通知成员设备信息学习模块更新成员设备信息表,并更新本地拓扑收集状态表中对应成员设备的摘要信息;将该虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;所述拓扑收集模块,还用于当判断所在成员设备连接的某条虚拟交换链路为已收敛状态后,判断所在成员设备连接的所有虚拟交换链路是否为已收敛状态,如是,则确定本成员设备为已收敛状态,并发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备,否则,向所在成员设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;所述成员设备信息学习模块,用于将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到成员设备信息表中。 本发明的有益效果本发明的拓扑收敛方法及实施该方法的成员设备通过三阶段方式进行拓扑收敛,确保堆叠系统中的所有成员设备进入已收敛状态后,堆叠系统进入拓扑收敛,之后才进行角色选举阶段,这样减少了在多台成员设备堆叠情况下,因为成员设备启动顺序及时间的差异导致的堆叠拓扑震荡。本发明的拓扑收敛方法中,所有的堆叠成员设备均为平等的关系,让堆叠拓扑中所有成员设备快速学习到拓扑信息。


图1是本发明实施例的堆叠系统的拓扑收敛方法的流程示意图。图2是本发明实施例的一个堆叠系统示意图。图3是本发明实施例的堆叠设备的示意图。图4是本发明另一实施例的堆叠设备的示意图。
具体实施例方式本发明的基本思想是提供堆叠系统拓扑收敛方法,通过发送拓扑收集报文快速将堆叠系统中的拓扑信息同步到堆叠系统中的所有成员设备,减少堆叠形成时间,提升堆叠形成的稳定性。本发明的拓扑收集报文可采用广播报文,通过广播方式以最快的方式将所有信息通告到了所有成员设备,减少了堆叠系统拓扑信息收集所需要的时间,提高了堆叠形成的稳定性。为使本发明的目的、技术方案及优点更加清楚,下面通过附图及具体实施例对本发明再作进一步的详细描述。本发明将拓扑收敛分为三个阶段的收敛,第一阶段是基于虚拟交换链路(VSL)的收敛,第二阶段是基于每个堆叠成员设备的收敛,第三阶段是整个堆叠拓扑收敛。本发明实施例的堆叠系统的拓扑收敛方法的流程示意图参见图1,包括如下步骤步骤100,每个成员设备计算其摘要信息,并记录在本设备的拓扑收集状态表中,并将所述拓扑收集状态表中记录的堆叠系统中除本设备之外的其他成员设备的摘要信息初始化为O。本步骤中,所述拓扑收集状态表中还记录有本设备连接的所有达到连通状态的虚拟交换链路的拓扑收集状态信息。每个成员设备计算其摘要信息,并记录在本设备的拓扑收集状态表中,并将所述拓扑收集状态表中记录的堆叠系统中除本设备之外的其他成员设备的摘要信息初始化为O。针对堆叠拓扑信息通告过程中如果堆叠成员较多情况下,拓扑收集报文中成员设备信息过多导致报文过长的问题,可以通过MD5算法将每个成员信息压缩成对应的摘要,成员设备收到拓扑收集报文后,只需要比较成员设备对应摘要即可确认是否信息一致,如果不一致,再保存并通告该成员设备的所有信息。通过这种方式,即减少了报文长度,同时也减少了信息比较的开销。步骤101,每个成员设备在其连接的某条虚拟交换链路达到连通状态后,发送拓扑收集报文到该虚拟交换链路的对端成员设备进行拓扑收集,并从该虚拟交换链路的对端成员设备接收拓扑收集报文,当从该虚拟交换链路的对端成员设备收到的拓扑收集报文中的成员设备信息与本地保存的成员设备信息一致时,所述成员设备设置该条虚拟交换链路为已收敛状态。步骤102,每 个成员设备判断其连接的所有虚拟交换链路为已收敛状态后,确定本成员设备为已收敛状态,并通过发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备。步骤103,每个成员设备判断堆叠系统中所有成员设备为已收敛状态后,确定堆叠系统拓扑收敛完成,按照预设的选举规则启动主设备选举。具体实施例下面以图1所示的堆叠系统对上述图2的过程进行说明。设所述堆叠系统包括三个成员设备,设其中的三个成员设备分别记为成员设备1、成员设备2和成员设备3,成员设备2通过第一虚拟交换链路和成员设备I相连,成员设备2通过第二虚拟交换链路和成员设备3相连。每个成员设备初始化时,都在本地的拓扑收集状态表中为本设备维护了一个摘要信息,该摘要信息根据自身设备信息的变化而有所变化,每个成员设备均拥有一个唯一的摘要信息。以成员设备2为例详细说明本发明的堆叠系统拓扑收敛的过程。以图2所示的一个堆叠系统的例子说明上述步骤101具体实现过程,重点以成员设备2为主进行说明,由于方法和原理是一样的,不对所有的成员设备进行详述。成员设备2在其连接的第一虚拟交换链路达到连通状态即UP状态后,发送拓扑收集报文到该第一虚拟交换链路的对端成员设备即成员设备I进行拓扑收集,该拓扑收集报文中包括了成员设备2自身的摘要信息;成员设备I收到成员设备2发送的拓扑收集报文后,判断该拓扑收集报文中包括的成员设备2的摘要信息与本地拓扑收集状态表中保存的不一致(本地初始化除自身设备以外的成员设备对应的摘要信息为0),则在本地的成员设备信息表中为成员设备2创建成员设备信息表项,并在该表项信息中保存成员设备2的编号信息,更新本地拓扑收集状态表对应成员设备2的摘要信息。具体的更新方法为,成员设备依据本地成员设备信息表中更新后的对应成员设备信息(本处为新添加的成员设备信息表中的成员设备2的所有信息),通过MD5算法重新计算成员设备2的摘要信息,更新本地拓扑收集状态表中成员设备2的摘要信息。成员设备I将该第一虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的第一虚拟交换链路发送包括本地所有成员设备信息即成员设备I和成员设备2的拓扑收集报文。成员设备2收到来自于成员设备I包括成员设备I和成员设备2的拓扑收集报文,判断该拓扑收集报文中包括的成员设备I的摘要信息与本地拓扑收集状态表中保存的不一致,为成员I创建成员设备信息表项,并在该表项信息中保存成员设备I的编号信息,更新本地拓扑收集状态表对应成员设备I的摘要信息;将该第一虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路包括第一虚拟交换链路和第二虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文。这里假设第二虚拟交换链路已经UP且已经在拓扑收集中,此时,成员设备2向成员设备I发送拓扑收集报文中包括成员设备1,成员设备2和成员设备3 ;成员设备I收到来自于成员设备2的拓扑收集报文,判断该拓扑收集报文中包括的成员设备3的摘要信息与本地拓扑收集状态表中保存的不一致(本地初始化除自身设备以外的成员设备对应的摘要信息为0),则在本地的成员设备信息表中为成员设备3创建成员设备信息表项,并在该表项信息中保存成员设备3的编号信息,更新本地拓扑收集状态表对应成员设备3的摘要信息;将该第一虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路包括第一虚拟交换链路和第二虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;该拓扑收集报文中包括成员设备1,成员设备2和成员设备3 ;成员设备2从第一虚拟交换链路上收到来自于成员设备I的拓扑收集报文,检查摘要信息后发现与本地记录的成员设备1、成员设备2和成员设备3的摘要信息相同,则判断第一虚拟交换链路进入已收敛状态;设置该第一虚拟交换链路进入已收敛状态。成员设备2在其连接的第二虚拟交换链路达到连通状态即UP后,发送拓扑收集报文到该第二虚拟交换链路的对端成员设备即成员设备3进行拓扑收集;该拓扑收集报文中包括了成员设备2自身的摘要信息;成员设备3收到成员设备2发送的拓扑收集报文后,判断该拓扑收集报文中包括的成员设备2的摘要信息与本地拓扑收集状态表中保存的不一致(本地初始化除自身设备以外的成员设备对应的摘要信息为0),则在本地的成员设备信息表中为成员设备2创建成员设备信息表项,并在该表项信息中保存成员设备2的编号信息,更新本地拓扑收集状态表对应成员设备2的摘要信息。成员设备3将该第二虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态第二虚拟交换链路发送包括本地所有成员设备信息即成员设备2和成员设备3的拓扑收集报文。成员设备2收到来自于成员3的包括成员设备3和成员设备2的的拓扑收集报文,判断该拓扑收集报文中包括的成员设备3的摘要信息与本地拓扑收集状态表中保存的不一致,为成员3创建成员设备信息表项,并在该表项信息中保存成员设备3的编号信息,更新本地拓扑收集状态表对应成员设备3的摘要信息;将该第二虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路包括第一虚拟交换链路和第二虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;这里假设第一虚拟交换链路已经UP且已经在拓扑收集中,此时,成员设备2向成员设备3发送拓扑收集报文中包括成员设备1,成员设备2和成员设备3 ;成员设备3收到来自于成员设备2的拓扑收集报文,判断该拓扑收集报文中包括的成员设备I的摘要信息与本地拓扑收集状态表中保存的不一致(本地初始化除自身设备以外的成员设备对应的摘要信息为0),则在本地的成员设备信息表中为成员设备I创建成员设备信息表项,并在该表项信息中保存成员设备I的编号信息,更新本地拓扑收集状态表对应成员设备I的摘要信息;将该第二虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的第二虚拟交换链路发送包括本地所有成员设备信息即包括成员设备1,成员设备2和成员设备3 ;成员设备2从第二虚拟交换链路上收到来自于成员设备I的拓扑收集报文,检查摘要信息后发现与本地记录的成员设备1、成员设备2和成员设备3的摘要信息相同,则判断第二虚拟交换链路进入已收敛状态;设置该第二虚拟交换链路进入已收敛状态。以图2所示的堆叠系统的例子说明上述步骤102具体实现过程,重点以成员设备2为主进行说明,由于方法和原理是一样的,不对所有的成员设备进行详述。与成员设备2相连的第一虚拟交换链路和第二虚拟交换链路均进入已收敛状态后,成员设备2进入已收敛状态;成员设备2向成员设备I发送拓扑收集报文,报文内容包括成员设备2的已收敛状态及成员设备信息,成员设备信息包括成员设备1、成员设备2和成员设备3 ;成员设备I收到来自于成员设备2的拓扑收集报文,更新本地记录的成员设备2的拓扑收集状态为已收敛状态;将报文中包含的成员设备1、成员设备2、成员设备3的摘要信息摘要与本地记录的摘要进行比较发现一致,则认为收到报文的虚拟交换链路进入已收敛状态。成员设备I判断其相连的所有的虚拟交换链路都进入已收敛状态,成员设备I进入拓扑已收敛状态,并向成员设备2发送拓扑收集报文,报文内容包括成员1、成员2的已收敛状态及成员设备信息,成员设备`信息包括成员设备1、成员设备2、成员设备3,成员设备2收到来自于成员设备I的拓扑收集报文,并更新成员设备I的拓扑收集状态为已收敛状态。成员设备2向成员设备3发送拓扑收集报文,报文内容包括成员设备2的拓扑收集状态为已收敛状态及成员设备信息,成员设备信息包括成员设备1、成员设备2和成员设备3 ;成员设备3收到来自于成员设备2的拓扑收集报文,更新本地拓扑收集状态表中记录的成员设备2的拓扑收集状态为已收敛状态;将拓扑收集报文中包含的成员设备1、成员设备2、成员设备3的摘要信息与本地拓扑收集状态表中记录的摘要进行比较,本地保存的摘要信息与报文中成员设备信息一致则认为收到报文的虚拟交换链路进入已收敛状态。成员设备3相连的所有的虚拟交换链路都进入已收敛状态,成员3进入拓扑已收敛状态,并向成员设备2发送拓扑收集报文,报文内容包括成员设备2、成员设备3的已收敛状态及成员设备信息,成员设备信息包括成员设备1、成员设备2、成员设备3,成员设备2收到来自于成员设备3的拓扑收集报文,更新成员设备3的拓扑已收敛状态。堆叠系统中的一个成员设备进入已收敛状态后,并不能立即进入角色选举,而是需要等待堆叠系统中的所有成员设备都进入已收敛状态后才表示堆叠拓扑信息已经完全收敛,才能触发角色选举,确保堆叠的稳定性。
以图2所示的堆叠系统的例子说明上述步骤103具体实现过程,成员设备2向成员设备I发送拓扑收集报文,报文中包括成员设备1、成员设备2、成员设备3的拓扑已收敛状态及成员设备信息;成员设备I收到来自于成员设备2的拓扑收集报文,根据报文中的内容更新本地拓扑收集状态表中记录的成员拓扑已收敛状态及成员设备信息;成员设备I检查本地记录的成员设备1、成员设备2、成员设备3的拓扑已收敛状态均已经进入稳定,则成员设备I认为整个堆叠系统已经稳定,对成员设备2外通知拓扑已收敛状态稳定,开始触发本地的角色选举;成员设备2向成员设备3发送拓扑收集报文,报文中包括成员设备1、成员设备2、成员设备3的拓扑已收敛状态及成员设备信息;成员设备3收到来自于成员设备2的拓扑收集报文,根据报文中的内容更新本地记录的成员拓扑已收敛状态及成员设备信息;成员设备3检查本地记录的成设备员1、成员设备2、成员设备3的拓扑已收敛状态均已经进入稳定,则成员设备3认为整个堆叠系统已经稳定,对外通知拓扑稳定,开始触发本地的角色选举;成员设备2检查到本地记录的成员设备I,成员设备2,成员设备3的拓扑已收敛状态均已经进入稳定,则成员设备2认为整个堆叠系统已经稳定,对外通知拓扑稳定,开始触发本地的角色选举。上面是以三个成员设备为例进行说明步骤A、B、C的实施过程,可以很容易得出堆叠系统只有两个成员设备时的实施过程,即只进行成员I和成员2的信息交互即可,不再详细说明。另外,本发明不仅仅适用于线性连接的堆叠系统,还适用于环形连接的堆叠系统,所实现方法基本相同,但有一点需要注意的是,当某个成员设备从其连接的某条虚拟交换链路的对端设备收到的拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的不一致时,在将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到本地保存的成员设备信息表之前,判 断成员设备信息表保存的摘要信息不一致的成员设备对应的虚拟交换链路与本次接收拓扑收集报文的虚拟交换链路是否相同,如是,将拓扑收集报文中包括的该成员设备信息更新到本地保存的成员设备信息表,否则不进行后续处理。通过上述步骤可以看出,本发明的拓扑收敛方法不需要预设配置信息,也不需要预选配置主设备,让所有堆叠成员设备均为平等的关系,通过三阶段方式进行拓扑收敛,确保堆叠系统中的所有成员设备进入已收敛状态后,堆叠系统进入拓扑收敛,之后才进行角色选举阶段,这样减少了在多台设备堆叠情况下,因为设备启动顺序及时间的差异导致的堆叠拓扑震荡。参见图3是本发明实施例的堆叠设备的示意图,实施上述如图2所示的堆叠系统的拓扑收敛方法,本发明实施例的堆叠设备包括拓扑收集模块和成员设备信息学习模块,具体说明如下所述拓扑收集模块,用于所在成员设备连接的某条虚拟交换链路达到连通状态后,发送拓扑收集报文到该虚拟交换链路的对端成员设备进行拓扑收集,当从该虚拟交换链路的对端成员设备收到的拓扑收集报文中的成员设备信息与本地保存的成员设备信息一致时,设置该条虚拟交换链路为已收敛状态;并在判断所在成员设备连接的所有虚拟交换链路为已收敛状态后,确定所在成员设备为已收敛状态,并通告所在成员设备连接的所有虚拟交换链路的对端成员设备。所述拓扑收集模块,还用于当每个成员设备从其连接的虚拟交换链路的对端设备收到拓扑收集报文后,判断拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的是否一致,如是,将该虚拟交换链的拓扑收集状态设置为已收敛状态;否则,通知成员设备信息学习模块更新成员设备信息表,并更新本地拓扑收集状态表中对应成员设备的摘要信息;将该虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文。所述拓扑收集模块,还用于当判断所在成员设备连接的某条虚拟交换链路为已收敛状态后,判断所在成员设备连接的所有虚拟交换链路是否为已收敛状态,如是,则确定本成员设备为已收敛状态,并发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备,否则,向所在成员设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;所述成员设备信息学习模块,用于所在成员设备从连接的达到连通状态的某条虚拟交换链路接收到拓扑收集报文后,保存所述拓扑收集报文中的成员设备信息。所述成员设备信息学习模块,用于将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到成员设备信息表中。参见图4是本发明另一实施例的堆叠设备的示意图,所述堆叠设备除了包括图3中的拓扑收集模块和成员设备信息学习模块外,还包括初始化模块,用于建立所在成员设备保存堆叠系统中所有成员设备的拓扑收集状态的拓扑收集状态表,以及用于建立所在成员设备保存堆叠系统中所有成员设备信息的成员设备信息表。新成员设备加入情况下,需要确保新成员信息能够快速通知到整个堆叠拓扑中的所有成员设备,以确保能够快速确认从主控设备到新成员设备的转发路径,具体通过如下步骤实现当所述堆叠系统中加入新成员设备时,与该成员设备相连的虚拟交换链路的工作状态会变化为UP,拓扑收集模块发现有虚拟交换链路的工作状态为UP,会将该虚拟交换链路状态设置为拓扑收集状态 ,并触发新的一轮堆叠系统的拓扑收敛;堆叠中的其它成员设备如果发现从某条虚拟交换链路上收到的拓扑收集报文中包括的成员设备信息比本地成员设备信息表中的信息多,则根据拓扑收集报文中的成员列表,增加本地不存在但是拓扑收集报文中存在的设备信息,将该虚拟交换链路的状态置为拓扑收集状态,并触发新的一轮堆叠系统的拓扑收敛。成员设备退出堆叠拓扑情况下,需要确保成员退出能够快速通知到整个堆叠拓扑中的所有成员设备,重新进行路径计算,减少因为成员设备退出堆叠带来的流量等负面影响。具体如下步骤实现当所述堆叠系统中有成员设备退出时,与该成员设备相连的虚拟交换链路的工作状态变化为DOWN,若发现有虚拟交换链路的工作状态变化为DOWN,会相应的将从该虚拟交换链路上学习到的成员信息删除,同时将与删除的成员设备相连的其它虚拟交换链路状态置为拓扑收集状态,并触发新的一轮堆叠系统的拓扑收敛;堆叠中的其它成员设备如果发现从某条虚拟交换链路上收到的拓扑收集报文中包括的成员设备信息比本地成员设备信息表中的信息少,则根据拓扑收集报文中的成员列表,删除本地存在但是拓扑收集报文中不存在的设备信息,将该虚拟交换链路的状态置为拓扑收集状态,并触发新的一轮堆叠系统的拓扑收敛。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这 些变形和组合仍然在本发明的保护范围内。
权利要求
1.一种堆叠系统的拓扑收敛方法,其特征在于,具体包括如下步骤A.每个成员设备在其连接的某条虚拟交换链路达到连通状态后,发送拓扑收集报文到该虚拟交换链路的对端成员设备进行拓扑收集,并从该虚拟交换链路的对端成员设备接收拓扑收集报文,当从该虚拟交换链路的对端成员设备收到的拓扑收集报文中的成员设备信息与本地保存的成员设备信息一致时,所述成员设备设置该条虚拟交换链路为已收敛状态;B.每个成员设备判断其连接的所有虚拟交换链路为已收敛状态后,确定本成员设备为已收敛状态,并通过发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备;C.每个成员设备判断堆叠系统中所有成员设备为已收敛状态后,确定堆叠系统拓扑收敛完成,按照预设的选举规则启动主设备选举。
2.根据权利要求1所述的堆叠系统的拓扑收敛方法,其特征在于,所述步骤A之前,还包括如下初始化步骤A0.每个成员设备中,建立用于在本设备保存堆叠系统中所有成员设备的拓扑收集状态的拓扑收集状态表,以及建立用于在本设备保存堆叠系统中所有成员设备信息的成员设备信息表。
3.根据权利要求2所述的堆叠系统的拓扑收敛方法,其特征在于,所述拓扑收集状态表中还记录有本设备连接的所有达到连通状态的虚拟交换链路的拓扑收集状态信息。
4.根据权利要求2所述的堆叠系统的拓扑收敛方法,其特征在于,所述步骤AO进一步包括,每个成员设备计算其摘要信息,并记录在本设备的拓扑收集状态表中,并将所述拓扑收集状态表中记录的堆叠系统中除本设备之外的其他成员设备的摘要信息初始化为O。
5.根据权利要求2所述的堆叠系统的拓扑收敛方法,其特征在于,步骤A中,当每个成员设备从其连接的虚拟交换链路的对端设备收到拓扑收集报文后,判断拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的是否一致,如是,成员设备将该虚拟交换链的拓扑收集状态设置为已收敛状态;否则,将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到本地保存的成员设备信息表中,并更新本地拓扑收集状态表中对应成员设备的摘要信息;将该虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文。
6.根据权利要求5所述的堆叠系统的拓扑收敛方法,其特征在于,成员设备更新本地拓扑收集状态表中对应成员设备的摘要信息的方法为成员设备依据本地成员设备信息表中更新后的对应成员设备信息,通过MD5算法重新计算该对应成员设备的摘要信息,更新本地拓扑收集状态表对应成员设备的摘要信息。
7.根据权利要求5所述的堆叠系统的拓扑收敛方法,其特征在于,当某个成员设备从其连接的某条虚拟交换链路的对端设备收到的拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的不一致时,在将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到本地保存的成员设备信息表之前,判断成员设备信息表保存的摘要信息不一致的成员设备对应的虚拟交换链路与本次接收拓扑收集报文的虚拟交换链路是否相同,如是,将拓扑收集报文中包括的该成员设备信息更新到本地保存的成员设备信息表,否则不进行后续处理。
8.根据权利要求1-7任一项权利要求所述的堆叠系统的拓扑收敛方法,其特征在于, 所述步骤B中,当某个成员设备判断其连接的某条虚拟交换链路为已收敛状态后,判断本设备连接的所有虚拟交换链路是否为已收敛状态,如是,则确定本成员设备为已收敛状态, 并发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备,所述拓扑收集报文中包括本设备的已收敛状态和本地所有成员设备的摘要信息;否则,向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文。
9.实施权利要求1-8所述的堆叠系统的拓扑收敛方法的成员设备,其特征在于,包括拓扑收集模块和成员设备信息学习模块,所述拓扑收集模块,用于所在成员设备连接的某条虚拟交换链路达到连通状态后,发送拓扑收集报文到该虚拟交换链路的对端成员设备进行拓扑收集,当从该虚拟交换链路的对端成员设备收到的拓扑收集报文中的成员设备信息与本地保存的成员设备信息一致时, 设置该条虚拟交换链路为已收敛状态;并在判断所在成员设备连接的所有虚拟交换链路为已收敛状态后,确定所在成员设备为已收敛状态,并通告所在成员设备连接的所有虚拟交换链路的对端成员设备;所述成员设备信息学习模块,用于所在成员设备从连接的达到连通状态的某条虚拟交换链路接收到拓扑收集报文后,保存所述拓扑收集报文中的成员设备信息。
10.根据权利要求9所述的成员设备,其特征在于,所述成员设备还包括初始化模块, 用于建立所在成员设备保存堆叠系统中所有成员设备的拓扑收集状态的拓扑收集状态表, 以及用于建立所在成员设备保存堆叠系统中所有成员设备信息的成员设备信息表;所述拓扑收集模块,还用于当每个成员设备从其连接的虚拟交换链路的对端设备收到拓扑收集报文后,判断拓扑收集报文中包括的成员设备的摘要信息与本地拓扑收集状态表中保存的是否一致,如是,将该虚拟交换链的拓扑收集状态设置为已收敛状态;否则,通知成员设备信息学习模块更新成员设备信息表,并更新本地拓扑收集状态表中对应成员设备的摘要信息;将该虚拟交换链路的拓扑收集状态设置为拓扑收集中,并向本设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;所述拓扑收集模块,还用于当判断所在成员设备连接的某条虚拟交换链路为已收敛状态后,判断所在成员设备连接的所有虚拟交换链路是否为已收敛状态,如是,则确定本成员设备为已收敛状态,并发送拓扑收集报文通告其连接的所有虚拟交换链路的对端成员设备,否则,向所在成员设备连接的达到连通状态的所有虚拟交换链路发送包括本地所有成员设备信息的拓扑收集报文;所述成员设备信息学习模块,用于将拓扑收集报文中包括的摘要信息不一致的成员设备信息更新到成员设备信息表中。
全文摘要
本发明公开了一种堆叠系统的拓扑收敛方法及成员设备,具体包括判断堆叠系统的虚拟交换链路是否收敛,判断堆叠系统的每个堆叠成员设备是否收敛,判断堆叠系统的堆叠拓扑是否收敛。本发明拓扑收敛方法不需要预设配置信息,也不需要预选主控,让所有堆叠成员设备均为平等的关系,通过三阶段方式进行拓扑收敛,确保堆叠系统中的所有成员设备进入已收敛状态后,堆叠系统进入拓扑收敛,之后才进行角色选举阶段,这样减少了在多台设备堆叠情况下,因为设备启动顺序及时间的差异导致的堆叠拓扑震荡,同时通过广播方式以最快的方式将所有信息通告到了所有成员设备,减少了堆叠系统拓扑信息收集所需要的时间,提高了堆叠形成的稳定性。
文档编号H04L12/46GK103036760SQ201210551548
公开日2013年4月10日 申请日期2012年12月18日 优先权日2012年12月18日
发明者董琴, 胡雅庆 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1