一种端口切换方法以及单板设备的制作方法

文档序号:7815473阅读:304来源:国知局
一种端口切换方法以及单板设备的制作方法
【专利摘要】本发明公开了一种端口切换方法,在发生故障时根据备选根消息确定新的根端口,同时增加根端口切换序号以区分正确跨板根消息。从而加快了分布式设备上根端口切换时的拓扑计算收敛速度,减少切换过程的流量中断时间,且避免了已失效根消息残留可能引起的问题。本发明同时公开了一种单板。
【专利说明】一种端口切换方法以及单板设备

【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种端口切换方法。本发明同时还涉及一种单板设备。

【背景技术】
[0002]STP (Spanning Tree Protocol and Algorithm,生成树协议)是一种链路层拓扑管理和计算协议,其通过在网络设备间互相发送根向量消息报文的方式,在整个网络内计算出具有唯一树根节点的无环路树形网络拓扑结构。在树形拓扑的各种端口角色中,通向根桥并提供转发通路的端口称为根端口,它也就是设备根信息的接收端口( 一台设备上最多只能存在唯一的一个根端口);而通向根桥,但只提供备份作用的冗余阻塞端口为替换端口 ;由从树根通向树叶子节点提供转发通路的端口为指定端口。其中指定端口会定时向直连的下游设备发送根向量消息。
[0003]如图1所示,为现有技术中STP网络拓扑和根信息传播示意图,STP根向量信息组成为:{根桥ID,根路径开销,指定桥ID,指定端口 ID},其中各向量成员含义如下:
[0004]根桥ID: S卩根桥的标识,由根桥的优先级和MAC地址组成;
[0005]根路径开销:到根桥的总路径开销;
[0006]指定桥ID:即发送桥的标识,由指定桥的优先级和MAC地址组成;
[0007]指定端口 ID:即指向下游设备的发送端口的标识,由指定端口的优先级和该端口的全局编号组成;
[0008]非根桥设备上,接收端口的端口向量信息由接收到的根信息和接收端口 ID组成。当有多个接收端口时,需要比较出具有最优接收端口向量信息的端口,选举作为设备唯一的根端口。在计算比较各端口的向量信息时,依次比较各向量成员并以数值小为优。若当前设备上的根端口发生故障,协议会立即选择出新的根端口,以便完成故障链路切换。链路故障时的流量中断时间主要决定于新拓扑的计算收敛速度。在图1中,设备2的Port2为其根端口,设备3的Port4为其根端口,如果设备3上的Port4故障了,需要立即把Port6选择为新的根端口。
[0009]在现有技术中,分布式设备一般由多块有独立CPU计算能力的单板组成,整体对外呈现出一台完整设备的功能行为。为了达到各板上CPU负载分担的目的,在STP的运行实现上一般选择如图2所示的分布式实现方式。即设备中的各单板(slot)负责计算本板上的端口,然后在各板间互相通告自己的计算结果(跨板根信息),最后通过交互协同计算出整机上唯一的根端口(如果是根桥就都是通向下游的指定端口)。且根端口所在板会定时向其它板通告发布当前的根信息,此消息一般会包括{接收端口,来源板,根向量信息}。在当前根端口故障(根端口 down或其所在单板故障)后,分布式设备中怎么快速计算出新的根端口是STP协议分布式实现的关键。为了让根端口所在板之外的其它板能感知到当前根端口故障,系统会把代表当前根端口失效的事件消息广播通知给其它板。这个事件消息会触发其它板重新再协同计算出新的根端口,然后再完成新根端口迁移到转发状态,以接替原故障根端口提供新的数据流量的转发路径。而为了防止根端口故障事件丢失而导致其它板不能进行新拓扑计算切换,根端口会定时地向其它板广播通告当前的接收根消息,其他板如果在一段时间(一般是3倍的发送周期时间)之后,还未收到此跨板根消息通告,则认为当前根端口已经故障,也会触发本板开始新一轮的拓扑计算。
[0010]以是否具有新的单板插入来看,目前针对以下两种场景的解决方案如下:
[0011]场景一:分布式设备上根端口故障的切换计算实现
[0012]当slot I上当前的根端口故障时,其它在位的单板slot2和slot3会几乎同时收到原根端口 Portl故障失效的事件消息。slot2会计算出自己的新根端口 Port2,并保持阻塞,然后把自己计算出的新根信息root2(接收端口为Port2)通告给slot3 ;同样,slot3会计算出自己的新根端口 Port3,并保持阻塞,然后把自己计算出的新根信息root3 (接收端口为Port3)通告给slot2。这时系统中会同时出现两个根端口 Port2和Port3,如果它们同时迁移放开为转发状态,则网络中就会存在临时数据环路。此时方案如图4所示,由于跨板根信息root2比root3更优,则slot3在收到root2跨板根信息后,Port3会被计算为阻塞的替换端口,然后再向根信息来源板回应一个认同root2更优的Agree消息。而slot2在收到此Agree消息后才把本板计算出的新根端口 Port2作为分布式设备中唯一的根端口,而安全地迁移放开为转发状态,从而完成根端口的故障切换过程。
[0013]在该过程中,新根端口 Port2所在板slot2需要同步等待其它所有板都回应认同自己通告出去的新根信息后,才能安全地迁移到转发状态。如果分布式系统中在位的单板数较多,则这个同步等待过程的时间会较长(肯定会超过50ms),如果其中有某块单板的CPU很繁忙,则此等待时间会更长。因考虑到新根端口同步等待切换迁移过程的时间不稳定,会导致流量中断时间过长,实际实现中,新根端口可能不需要等待其它单板的回应就迁移到转发状态。这样就是以允许出现临时数据环路,来避免流量中断的折衷权衡实现方式。
[0014]场景二:分布式设备中有新的单板插入启动或单板故障重启时)的跨板消息同步过程实现
[0015]如图5所示,当前根端口 Portl所在板slotl会定时向其它板通告当前Portl的根信息。在新插入的单板slot2启动时,为防止新插入单板上的up端口 Port2先收到报文开始协议拓扑计算出新的根端口,实现上会先向统一管理分布式设备的系统主控板请求同步到当前的系统当前数据后,才让新插入板上端口 up。Slot2向系统主控板请求同步到当前STP的根端口信息(消息2),这样新插入的板slot2上一开始就会计算出与其它在位板计算一致的根端口信息(根信息接收端口为slotl上的Portl)。
[0016]上述过程中新插入单板会从系统主控板请求当前系统数据,而系统返回的消息与当前根端口所在板的通告的跨板根信息是不同的数据来源和通道,这两个消息到达新插入板slot2上的时间点是不保序的。如果在新单板插入过程中,当前系统唯一的根端口信息有变化或有了新的根端口,因为不同数据通道的时序问题,而导致新插入板可能会收到消息2,并保存来自系统主控板上过时失效了的跨板根信息。结果就会导致已经失效的老根消息残留,引发拓扑震荡。
[0017]可以看出,现有技术中分布式设备在其单板出现端口故障时,新根端口选举切换过程耗时缓慢,且在还有可能因信息更新不及时而出现拓扑震荡的风险,无法有效地保护流量。


【发明内容】

[0018]本发明提供了一种端口切换方法,用以解决现有技术中根端口故障后新根端口选举切换过程过慢以及失效老根信息残留的问题,该方法包括:
[0019]当单板判断当前根端口所在的单板发生故障或者所述当前根端口发生故障时,所述单板在本板中查询用于指示备选根端口的备选根信息,所述备选根端口的端口信息向量仅次优于所述根端口;
[0020]如存在来源板为本板的备选根信息,所述单板将所述备选根信息所指示的备选根端口选择为新的根端口,并在将本板维护的最优根端口切换序号加一以及将所述备选根信息转变为接收根信息后,将所述最优根端口切换序号携带在所述跨板根信息中向其他在位单板发布所述接收根信息;
[0021]如存在来源板为所述其他在位单板的备选根信息,所述单板将所述备选根信息提升为最优跨板根信息;
[0022]其中,所述最优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的最优根端口切换序号的跨板根信息作为当前正确且该保留处理的信息。
[0023]相应地,本发明还提出了一种单板,包括:
[0024]查询模块,用于当判断当前根端口所在的单板发生故障或者所述当前根端口发生故障时,在本板中查询用于指示备选根端口的备选根信息,所述备选根端口的端口信息向量仅次优于所述根端口;
[0025]端口处理模块,用于在所述查询模块确定本板存在来源板为本板的备选根信息时,将所述备选根信息所指示的备选根端口选择为新的根端口,并在将本板维护的最优根端口切换序号加一以及将所述备选根信息转变为接收根信息后,将所述最优根端口切换序号携带在所述跨板根信息中向其他在位单板发布所述接收根信息;
[0026]信息处理模块,用于在所述查询模块确定本板存在来源板为所述其他在位单板的备选根信息时,将所述备选根信息提升为最优跨板根信息;
[0027]其中,所述最优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的最优根端口切换序号的跨板根信息作为当前正确且该保留处理的信息。
[0028]由此可见,通过应用本发明的技术方案,在发生故障时根据备选根消息确定新的根端口,同时增加根端口切换序号以区分正确跨板根消息。从而加快了分布式设备上根端口切换时的拓扑计算收敛速度,减少切换过程的流量中断时间,且避免了已失效根消息残留的所可能引起的问题。

【专利附图】

【附图说明】
[0029]图1为现有技术中STP网络拓扑和根信息传播示意图;
[0030]图2为现有技术中STP分布式实现示意图;
[0031]图3为现有技术中STP分布式设备中新一轮根端口选择示意图;
[0032]图4为现有技术中STP分布式设备中根端口切换收敛不意图;
[0033]图5为现有技术中新单板插入时跨板根消息的同步示意图;
[0034]图6为本发明提出的一种端口切换方法的流程示意图;
[0035]图7为本发明具体实施例中增加备选根消息的选举同步示意图;
[0036]图8为本发明具体实施例中有备选根信息的根端口故障切换示意图;
[0037]图9为本发明具体实施例中板插入时跨板板根信息的同步示意图;
[0038]图10本发明提出的一种单板的结构示意图。

【具体实施方式】
[0039]为了解决【背景技术】中所提及的问题,本发明通过同时计算备份根端口的方法避免分布式设备上当前根端口故障后,新根端口选举切换过程的收敛慢或存在临时数据环路风险的问题,以及通过增加跨板根信息切换序号的方式解决新单板插入启动参与整个分布式系统的STP协议计算过程中因时序问题而导致的失效老根信息残留的问题。
[0040]如图6所示,为本发明提出的一种端口切换方法的流程示意图,包括以下步骤:
[0041]S601,当单板判断当前根端口所在的单板发生故障或者所述当前根端口发生故障时,所述单板在本板中查询用于指示备选根端口的备选根信息,所述备选根端口的端口信息向量仅次优于所述根端口。
[0042]本发明在通过在每个单板中事先保存备选根信息的方式实现快速切换,但是在这之前需要在根端口的选举过程中同时生成备选根信息,因此在该步骤之前,将根据单板的端口数量进行以下处理:
[0043]若所述单板具有两个以上接收端口,所述单板根据本板的接收端口确定出待定接收根信息以及待定备选根信息,并在将所述最优根端口切换序号以及所述次优根端口切换序号分别加一后,分别通过携带所述最优根端口切换序号的跨板根信息以及携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定接收根信息以及所述待定备选根信息;
[0044]若所述单板仅具有一个接收端口,所述单板根据所述接收端口生成待定接收根信息,并在将最优根端口切换序号加一后通过携带所述最优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定接收根信息。
[0045]在上述过程执行完毕后,单板同时也会接收来自于其他在位单板的跨板根信息以及备选跨板根信息,此时单板判断本板的待定接收根信息的端口信息向量是否优于当前所有接收到的跨板根信息,以及本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息;并基于以下情况分别进行处理:
[0046](I)若所述单板确定本板的待定接收根信息的端口信息向量优于当前所有接收到的跨板根信息,通过携带所述最优根端口切换序号的跨板根信息通告所述其他在位单板所述待定接收根信息,否则记录信息向量最优的跨板根信息以及与其来源板对应的最优根端口切换序号;
[0047](2)若所述单板确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息,所述单板通过携带本板维护的次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息,否则记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号。
[0048]需要指出的是,以上过程中所出现的最优根端口切换序号是用以使所述其他在位单板将来源于所述单板的具有较大的最优根端口切换序号的跨板根信息作为当前正确且该保留处理的信息;而次优根端口切换序号则用以使所述其他在位单板将来源于所述单板的具有较大的次优根端口切换序号的备选跨板根信息作为当前正确且该保留处理的信息。这样保证了各单板不会因为残留的信息而发生错误。
[0049]S602,如存在来源板为本板的备选根信息,所述单板将所述备选根信息所指示的备选根端口选择为新的根端口,并在将本板维护的最优根端口切换序号加一以及将所述备选根信息转变为接收根信息后,将所述最优根端口切换序号携带在所述跨板根信息中向所述其他在位单板发布所述接收根信息。
[0050]S603,如存在来源板为所述其他在位单板的备选根信息,所述单板将所述备选根信息提升为最优跨板根信息。
[0051]此外,在当前仅有一块单板的情况下,单板在本板中是无法查询到用于指示备选根端口的备选根信息的,因此在不存在备选根信息的情况下,单板将在本板的接收端口中计算出新的根端口,并在将本板维护的最优根端口切换序号加一后,通过携带所述最优根端口切换序号的跨板根信息通告其他设备与所述根端口对应的接收根信息。
[0052]由于备选根端口同样也有可能发生故障,因此当所述单板获知当前备选根信息失效时,所述单板判断本板上是否还存在非备选根端口或非根端口的其他接收端口,并基于以下情况分别进行处理:
[0053](I)如所述单板存在非备选根端口或非根端口的其他接收端口,所述单板根据所述其他接收端口确定出待定备选根信息,在将所述次优根端口切换序号加一后通过携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定备选根信息,并在接收到所述其他在位单板发送的备选跨板根信息之后,进一步判断本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息,并在确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息时通过携带所述次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息;
[0054](2)若所述单板不存在非备选根端口或非根端口的其他接收端口或本板的待定备选根信息的端口信息向量相对于当前所有接收到的备选跨板根信息并非最优,所述单板记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号。
[0055]此外,当有新单板插入或是所述单板故障因发生重启而被识别为新单板时,为了使新单板能够获取到当前最新且正确的根信息,在所述新单板从当前的主控板和/或根端口所在的单板获取当前的接收根信息和备选根信息之后,所述新单板按来源板分别记录所接收的接收根信息和备选根信息,且分别保留与较大的最优根端口切换序号及次优根端口切换序号对应的接收根信息和备选根信息;所述新单板根据所述接收根信息和所述备选根信息确定本板的待定接收根信息和/或待定备选根信息,并将所述待定接收根信息和/或待定备选根信息发送至所述其他在位单板。
[0056]为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。从实现顺序的角度出发,本具体实施例中各个流程及其说明如下:
[0057]一、为跨板根信息增加切换序号
[0058]首先,分布式设备中每个板上维护一个自己的根端口切换序号(初始为0,表示本板没有过根端口切换)。当本板上计算出了新的根端口,则此切换序号加I。而当根端口故障失效时,此切换序号也加I。实际网络不可能持续一直有链路震荡,实际实现时采用4字节的整数表示此序号即可,不用考虑序号递增翻转的问题。
[0059]其次,根端口所在板在向其它板通告的跨板根信息中携带上此序号。需要在现有的跨板根信息中增加序号一项,扩展为至少要包括的跨板根消息内容为{接收端口,来源板号,根向量,序号}。
[0060]有了此序号后在板间消息存在时序问题时,就可以判定来源于同一板的具有较大序号的消息为当前正确且该保留处理的消息。具体实施过程如下:
[0061]当每个板在接收来自其它板的跨板根消息或根端口失效消息时,如果是首次接收来自此板的消息,记录下此来源板的板号和对应的切换序号,如果接收到的跨板根消息中的序号小于当前记录的此来源板的序号,则丢弃此次的接收消息;否则更新并记录此来源板的新的切换序号。
[0062]二、备选根信息的选举以及故障切换
[0063]该流程首先在接收根信息比较计算的同时,以比较过程中选择次优的接收根信息作为备选根信息。备选根信息用于当前根端口切换时的新接收根信息比较计算。备选根信息的接收端口所在板也要向其它板通告发布当前的备选根消息。这个备选的跨板根消息内容同样至少要包含{接收端口,来源板号,根向量信息,序号}。分布式设备的每个板都要记录当前接收到的跨板根信息和备选根信息(以及对应的序号)。
[0064]基于上述设置,在当前根信息接收端口(根端口)故障时,备选接收根信息就直接选择作为新的接收根信息,相应地其接收端口就是新的根端口。这样在STP的分布式计算中,当前根端口故障时,其它在位板就不会选出多个根端口而还需要再经过板间协商同步计算出唯一的根端口,从而加速了 STP分布式计算的收敛过程。
[0065]具体地,该流程的详细实现过程如下:
[0066]I)备选根信息的选择机制
[0067]在现有接收端口的端口信息向量的比较过程中,同时记录最优的接收根信息和次优的接收根信息。如果计算出有本板上的接收根信息或备选接收根信息,则各自的切换序号加1,然后以本板为来源板向其它在位的板通告发布出去。其中,需要说明的是,如果本板上只有一个接收端口,则本板只会计算出一个最优接收根信息,而没有备份根信息。
[0068]相对地,其它板在接收到此跨板根信息或备选根信息后,再与本板上的接收端口的端口信息向量一起比较计算出最优的根信息和备选根信息。如果比较选出的根信息或备选根信息的接收端口在本板,则各自的切换序号加1,且以本板为来源板向其它在位的板通告发布出去;否则就认同了接收根信息或备选根信息来自于其它本板,然后记录来源板的跨板接收的根信息和备选根信息以及相应的切换序号。
[0069]如图7所示,端口 Portl的接收端口信息向量比Port2的优,而Port2的又比Port3的更优。那么最终slotl上比较计算出的整个分布式设备的根信息为Rootl(接收端口为Portl,即根端口为Portl),切换序号由原来的η递增I。而Slot2上Port2为次优的备选根信息接收端口,接收根信息为Root2,切换序号由原来的m递增I。
[0070]Slotl 向其它板通告发布跨板根消息{Portl, src = slotl, Rootl, SeqNo = n+1},slot2和Slot3接收到后比较计算比自己本板的端口接收的端口信息向量都优,则分别记录当前的跨板接收根信息为{Portl, src = slotl, Rootl, SeqNo = n+1}。
[0071]同时,Slot2向会比较计算出自己的端口 Port2为次优的备选根信息接收端口。Slot2向其它板通告发布备选跨板根消息{Port2, src = slot2, Root2, SeqNo = m+1}。Slotl和Slot3接收到后,记录当前的备选跨板接收根信息为{Port2, src = slot2, Root2,SeqNo = m+1}。
[0072]2)当前根端口发生故障后的切换处理
[0073]如果某单板上记录有来自其它板的跨板根信息(接收根信息来源于其它板,也即根端口不在本板上)和备选根信息,当感知到跨板根端口故障时或跨板根消息接收超时后,由备选根信息和本板的接收端口一起重新比较计算出新的根信息接收端口。接收到最优跨板根消息失效的板上的,新根端口切换选择方法如下:
[0074]a.如果备选根信息的接收端口在本板(即备选根信息的来源板是本板),则备选根信息的接收端口直接选择为新的根端口,且备选根信息转变为最优根信息向其它板发布(切换序号要递增加I)。
[0075]b.如果备选根信息的接收端口在其它板,则本板端口的角色维持不变。但接收保存的备选根信息提升转变为当前最优的跨板根信息(继承原来最优根信息的切换序号不变)。
[0076]c.最后,a或b情况处理执行后,本板如果还有其它的接收端口,则再选出次优的备选根信息,并向其它板发布(基于原来的备选根信息的切换序号递增+1)。
[0077]在如图8所示的具体实施场景中,当分布式系统当前的根端口所在板故障或者根端口故障后,会通知其它板跨板根消息{Portl, src = slotl, Rootl, SeqNo = n+1}失效,从而触发slot2和slot3分别进行新的一轮接收根信息的根端口选举和新备选根信息的计算。Slot2上因为只有一个根信息接收端口,且没有接收到过备选的跨板根消息(备选根信息来自本板端口),则slot2上的Port2直接被选举为新的根信息接收端口,切换序号要递增为n+2。Slot2向其它板通告发布当前的新根消息{Port2, src = slot2, Root2, SeqNo=n+2},即为原来本板上Port2接收的备选根信息。
[0078]而Slot3 上因为还记录有备选的{Port2, src = slot2, Root2, SeqNo = m+1},且比本板上Port3的接收信息向量更优,所以slot3可以保持Port3的端口角色不变,不触发新一轮的接收根信息计算。但把备选根信息提升转变为当前新的最优跨板根信息。进一步,因为slot3上还有其它接收端口 Port3,它的接收根消息在经过计算后作为新的备选根信息{Port3, src = slot3, Root3, SeqNo = j+1},并向其它板通告发布。最终slot3上就没有端口角色的变化过程,而且这时slot2上的新根端口 Port2快速迁移到转发状态也是安全的。这样通过跨板接收的备选根信息参与新一轮的拓扑变化计算,就加快了分布式设备上根端口故障切换的拓扑收敛过程。
[0079]3)备选根信息接收端口故障后的处理
[0080]该流程以图7所示的设置为例,slotl和slot3都会记录有来源于Slot2的备选跨板根消息{Port2, src = slot2, Root2, SeqNo = m+1}。如果当前此备选跨板根消失效后,系统就需要选举计算出新的备选根信息,以便保证系统当前的根端口故障时,能按前面2)的处理快速完成新根端口的选举切换。具体根据故障情况分别处理:
[0081]a.备选根信息的接收端口 Port2故障时,由端口所在板slot2通知其它板备选根息失效。
[0082]b.备选根信息的来源板slot2故障,例如重启或拔出,则由系统主板slotl代为通知备选根息失效。
[0083]c.当Slotl和Slot3接收到备选根信息失效后,如果板上有其它接收端口,则计算出自己新的备选根信息,并向其它板通告。例如slot3会选出新的备选根信息为{Port3, src = slot3, Root3, SeqNo = j+1},并向外广播通告。其中j为slot3自己维护的备选根信息的序号。当然原来记录的最优跨板根信息{Portl, src = slotl, Rootl, SeqNo=n+1}不会有变化。
[0084]Slotl接收到来自slot3的新备选根信息后,就会记录新的备选跨板接收根信息为{Port3, src = slot3, Root3, SeqNo = j+1}。
[0085]三、板插入时的跨板根消息同步过程
[0086]该过程主要针对分布式设备中有新的单板插入时(或单板故障重启后)的情况。大致地,该过程先从系统主控板获取到当前的接收根信息和备选根信息,按来源板分别记录下跨板接收根信息和备选接收根信息,以及对应的切换序号。然后该新插入板才开始使用接收的跨板根信息参与本板上接收根信息的比较计算,最终完成STP的端口角色计算。
[0087]如图9所示,为该过程的具体实施示意图,假定Slot3插入之前,系统主控板保存有来自slotl的接收根信息Rootl,序号为η ;有来自slot2的次优备选接收根信息Root2,序号为m。当slot3插入时,如果先从主控板收到系统当前的跨板根信息Rootl和备选根信息Root2,则分别按根信息来源板记录下来(包括切换序号)。如果这个过程中,slotl上当前根端口的接收根信息有变化(根向量有变化或根端口失效)广播通告出了一个即时的跨板根消息(序号递增为n+1),且因不同数据通道间的时序原因,假如slot3上先收到序号为n+1的消息,则记录当前跨板根消息序号为n+1。之后收到来自主控板的序号为η的过时消息时,则直接丢弃。最终,新插入板slot3接收板间同步的跨板根消息或备选根信息后,才允许端口 Up开始本板上的接收根信息计算。该处计算过程与之前单板计算过程一直,在此不再赘述。
[0088]为达到以上技术目的,本发明还提出了一种单板,如图10所示,包括:
[0089]查询模块101,用于当判断当前根端口所在的单板发生故障或者所述当前根端口发生故障时,在本板中查询用于指示备选根端口的备选根信息,所述备选根端口的端口信息向量仅次优于所述根端口;
[0090]端口处理模块102,用于在所述查询模块确定本板存在来源板为本板的备选根信息时,将所述备选根信息所指示的备选根端口选择为新的根端口,并在将本板维护的最优根端口切换序号加一以及将所述备选根信息转变为接收根信息后,将所述最优根端口切换序号携带在所述跨板根信息中向其他在位单板发布所述接收根信息;
[0091]信息处理模块103,用于在所述查询模块确定本板存在来源板为所述其他在位单板的备选根信息时,将所述备选根信息提升为最优跨板根信息;
[0092]其中,所述最优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的最优根端口切换序号的跨板根信息作为当前正确且该保留处理的信息。
[0093]在具体的应用场景中,还包括:
[0094]接口模块,用于接收来自于其他在位单板的跨板根信息以及备选跨板根信息;
[0095]判断模块,用于判断本板的待定接收根信息的端口信息向量是否优于当前所有接收到的跨板根信息,以及本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息;
[0096]若所述判断模块确定本板的待定接收根信息的端口信息向量优于当前所有接收到的跨板根信息,所述判断模块指示所述接口模块通过携带所述最优根端口切换序号的跨板根信息通告所述其他在位单板所述待定接收根信息,否则记录信息向量最优的跨板根信息以及与其来源板对应的最优根端口切换序号;
[0097]若所述判断模块确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息,所述判断模块指示所述接口模块通过携带本板维护的次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息,否则记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号;
[0098]其中,所述次优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的次优根端口切换序号的备选跨板根信息作为当前正确且该保留处理的信息。
[0099]在具体的应用场景中,还包括:
[0100]选举模块,用于
[0101]在所述单板具有两个以上接口端口时,根据本板的接收端口确定出待定接收根信息以及待定备选根信息,并在将所述最优根端口切换序号以及所述次优根端口切换序号分别加一后,分别通过携带所述最优根端口切换序号的跨板根信息以及携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定接收根信息以及所述待定备选根信息;
[0102]或,所述端口选举模块,用于在所述单板仅具有一个接口端口时,根据所述接收端口生成待定接收根信息,并在将最优根端口切换序号加一后通过携带所述最优根端口切换序号的跨板根信息通告所述其他在位单板所述待定接收根信息。
[0103]在具体的应用场景中,所述判断模块,还用于在获知当前备选根信息失效时,判断本板上是否还存在非备选根端口或非根端口的其他接收端口 ;
[0104]如所述判断模块确定所述单板存在非备选根端口或非根端口的其他接收端口,所述判断模块根据所述其他接收端口确定出待定备选根信息,在将所述次优根端口切换序号加一后通过携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定备选根信息,并在接收到所述其他在位单板发送的备选跨板根信息之后,进一步判断本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息,并在确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息时通过携带所述次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息;
[0105]若所述判断模块确定本板不存在非备选根端口或非根端口的其他接收端口或本板的待定备选根信息的端口信息向量相对于当前所有接收到的备选跨板根信息并非最优,所述判断模块记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号。
[0106]在具体的应用场景中,还包括:
[0107]获取模块,用于当单板为新插入单板或是单板故障因发生重启而被识别为新单板后,从当前的主控板和/或根端口所在的单板获取当前的接收根信息和备选根信息;
[0108]记录模块,用于按来源板分别记录所接收的接收根信息和备选根信息,且分别保留与较大的最优根端口切换序号及次优根端口切换序号对应的接收根信息和备选根信息;
[0109]确定模块,用于根据所述接收根信息和所述备选根信息确定本板的待定接收根信息和/或待定备选根信息,并将所述待定接收根信息和/或待定备选根信息发送至所述其他在位单板。
[0110]通过应用本发明的技术方案,在发生故障时根据备选根消息确定新的根端口,同时增加根端口切换序号以区分正确跨板根消息。从而加快了分布式设备上根端口切换时的拓扑计算收敛速度,减少切换过程的流量中断时间,且避免了已失效根消息残留所可能引起的问题。
[0111]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
[0112]本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0113]本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0114]上述本发明序号仅仅为了描述,不代表实施场景的优劣。
[0115]以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【权利要求】
1.一种端口切换方法,其特征在于,包括: 当单板判断当前根端口所在的单板发生故障或者所述当前根端口发生故障时,所述单板在本板中查询用于指示备选根端口的备选根信息,所述备选根端口的端口信息向量仅次优于所述根端口; 如存在来源板为本板的备选根信息,所述单板将所述备选根信息所指示的备选根端口选择为新的根端口,并在将本板维护的最优根端口切换序号加一以及将所述备选根信息转变为接收根信息后,将所述最优根端口切换序号携带在所述跨板根信息中向其他在位单板发布所述接收根信息; 如存在来源板为所述其他在位单板的备选根信息,所述单板将所述备选根信息提升为最优跨板根信息; 其中,所述最优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的最优根端口切换序号的跨板根信息作为当前正确且该保留处理的信息。
2.如权利要求1所述的方法,其特征在于,在所述单板判断当前根端口所在的单板发生故障或者所述当前根端口发生故障之前,还包括: 所述单板接收来自于其他在位单板的跨板根信息以及备选跨板根信息; 所述单板判断本板的待定接收根信息的端口信息向量是否优于当前所有接收到的跨板根信息,以及本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息; 若所述单板确定本板的待定接收根信息的端口信息向量优于当前所有接收到的跨板根信息,所述单板通过携带所述最优根端口切换序号的跨板根信息通告所述其他在位单板所述待定接收根信息,否则记录信息向量最优的跨板根信息以及与其来源板对应的最优根端口切换序号; 若所述单板确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息,所述单板通过携带本板维护的次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息,否则记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号; 其中,所述次优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的次优根端口切换序号的备选跨板根信息作为当前正确且该保留处理的信息。
3.如权利要求2所述的方法,其特征在于,在所述单板接收来自于其他在位单板的跨板根信息以及备选跨板根信息之前,还包括: 若所述单板具有两个以上接口端口,所述单板根据本板的接收端口确定出待定接收根信息以及待定备选根信息,并在将所述最优根端口切换序号以及所述次优根端口切换序号分别加一后,分别通过携带所述最优根端口切换序号的跨板根信息以及携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定接收根信息以及所述待定备选根信息; 若所述单板仅具有一个接口端口,所述单板根据所述接收端口生成待定接收根信息,并在将最优根端口切换序号加一后通过携带所述最优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定接收根信息。
4.如权利要求2或3任一项所述的方法,其特征在于,还包括: 当所述单板获知当前备选根信息失效时,所述单板判断本板上是否还存在非备选根端口或非根端口的其他接收端口; 如所述单板存在非备选根端口或非根端口的其他接收端口,所述单板根据所述其他接收端口确定出待定备选根信息,在将所述次优根端口切换序号加一后通过携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定备选根信息,并在接收到所述其他在位单板发送的备选跨板根信息之后,进一步判断本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息,并在确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息时通过携带所述次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息; 若所述单板不存在非备选根端口或非根端口的其他接收端口或本板的待定备选根信息的端口信息向量相对于当前所有接收到的备选跨板根信息并非最优,所述单板记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号。
5.如权利要求2所述的方法,其特征在于,还包括: 当有新单板插入或是所述单板故障因发生重启而被识别为新单板后,所述新单板从当前的主控板和/或根端口所在的单板获取当前的接收根信息和备选根信息; 所述新单板按来源板分别记录所接收的接收根信息和备选根信息,且分别保留与较大的最优根端口切换序号及次优根端口切换序号对应的接收根信息和备选根信息; 所述新单板根据所述接收根信息和所述备选根信息确定本板的待定接收根信息和/或待定备选根信息,并将所述待定接收根信息和/或待定备选根信息发送至所述其他在位单板。
6.一种单板,其特征在于,包括: 查询模块,用于当判断当前根端口所在的单板发生故障或者所述当前根端口发生故障时,在本板中查询用于指示备选根端口的备选根信息,所述备选根端口的端口信息向量仅次优于所述根端口; 端口处理模块,用于在所述查询模块确定本板存在来源板为本板的备选根信息时,将所述备选根信息所指示的备选根端口选择为新的根端口,并在将本板维护的最优根端口切换序号加一以及将所述备选根信息转变为接收根信息后,将所述最优根端口切换序号携带在所述跨板根信息中向其他在位单板发布所述接收根信息; 信息处理模块,用于在所述查询模块确定本板存在来源板为所述其他在位单板的备选根信息时,将所述备选根信息提升为最优跨板根信息; 其中,所述最优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的最优根端口切换序号的跨板根信息作为当前正确且该保留处理的信息。
7.如权利要求6所述的单板,其特征在于,还包括: 接口模块,用于接收来自于其他在位单板的跨板根信息以及备选跨板根信息; 判断模块,用于判断本板的待定接收根信息的端口信息向量是否优于当前所有接收到的跨板根信息,以及本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息; 若所述判断模块确定本板的待定接收根信息的端口信息向量优于当前所有接收到的跨板根信息,所述判断模块指示所述接口模块通过携带所述最优根端口切换序号的跨板根信息通告所述其他在位单板所述待定接收根信息,否则记录信息向量最优的跨板根信息以及与其来源板对应的最优根端口切换序号; 若所述判断模块确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息,所述判断模块指示所述接口模块通过携带本板维护的次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息,否则记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号; 其中,所述次优根端口切换序号用以使所述其他在位单板将来源于所述单板的具有较大的次优根端口切换序号的备选跨板根信息作为当前正确且该保留处理的信息。
8.如权利要求7所述的单板,其特征在于,还包括: 选举模块,用于在所述单板具有两个以上接口端口时,根据本板的接收端口确定出待定接收根信息以及待定备选根信息,并在将所述最优根端口切换序号以及所述次优根端口切换序号分别加一后,分别通过携带所述最优根端口切换序号的跨板根信息以及携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定接收根信息以及所述待定备选根信息; 或,所述端口选举模块,用于在所述单板仅具有一个接口端口时,根据所述接收端口生成待定接收根信息,并在将最优根端口切换序号加一后通过携带所述最优根端口切换序号的跨板根信息通告所述其他在位单板所述待定接收根信息。
9.如权利要求7或8任一项所述的单板,其特征在于, 所述判断模块,还用于在获知当前备选根信息失效时,判断本板上是否还存在非备选根端口或非根端口的其他接收端口 ; 如所述判断模块确定所述单板存在非备选根端口或非根端口的其他接收端口,所述判断模块根据所述其他接收端口确定出待定备选根信息,在将所述次优根端口切换序号加一后通过携带所述次优根端口切换序号的备选跨板根信息通告所述其他在位单板所述待定备选根信息,并在接收到所述其他在位单板发送的备选跨板根信息之后,进一步判断本板的待定备选根信息的端口信息向量是否优于当前所有接收到的备选跨板根信息,并在确定本板的待定备选根信息的端口信息向量优于当前所有接收到的备选跨板根信息时通过携带所述次优根端口切换序号的跨板根信息通告所述其他在位单板所述待定备选根信息; 若所述判断模块确定本板不存在非备选根端口或非根端口的其他接收端口或本板的待定备选根信息的端口信息向量相对于当前所有接收到的备选跨板根信息并非最优,所述判断模块记录信息向量最优的备选跨板根信息以及与其来源板对应的次优根端口切换序号。
10.如权利要求7所述的单板,其特征在于,还包括: 获取模块,用于当单板为新插入单板或是单板故障因发生重启而被识别为新单板后,从当前的主控板和/或根端口所在的单板获取当前的接收根信息和备选根信息; 记录模块,用于按来源板分别记录所接收的接收根信息和备选根信息,且分别保留与较大的最优根端口切换序号及次优根端口切换序号对应的接收根信息和备选根信息; 确定模块,用于根据所述接收根信息和所述备选根信息确定本板的待定接收根信息和/或待定备选根信息,并将所述待定接收根信息和/或待定备选根信息发送至所述其他在位单板。
【文档编号】H04L12/24GK104270267SQ201410502381
【公开日】2015年1月7日 申请日期:2014年9月26日 优先权日:2014年9月26日
【发明者】王明军 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1