首页> 中国专利> 在具有拓扑状态路由协议的通信网络中实现拓扑数据库再同步的方法和装置

在具有拓扑状态路由协议的通信网络中实现拓扑数据库再同步的方法和装置

摘要

提供了一种方法和装置,用于一通信网络中两个网络节点之间的拓扑状态信息同步。该通信网络有一路由协议用于周期性地在整个网络上通告本地状态信息。这两个网络节点包括一个请求节点用于发起拓扑状态同步请求和一个回答节点用于接收该请求。当请求节点发起其请求时,回答节点与请求节点通信以向请求节点提供该请求节点不具有的拓扑状态信息。该方法包括选择步骤,即在请求节点向回答节点发出请求之前在第一和第二同步方式之间作出选择。第一方式提供拓扑状态信息,它必然伴随取消周期性地通告分别从属于请求节点和回答节点的本地状态信息。第二方式提供拓扑状态信息,它保持周期性地通告分别从属于请求节点和回答节点的本地状态信息。

著录项

  • 公开/公告号CN1345148A

    专利类型发明专利

  • 公开/公告日2002-04-17

    原文格式PDF

  • 申请/专利权人 阿尔卡塔尔加拿大公司;

    申请/专利号CN01133057.0

  • 申请日2001-09-17

  • 分类号H04L12/56;H04L29/14;H04Q3/00;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李德山

  • 地址 加拿大安大略

  • 入库时间 2023-12-17 14:15:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-05-28

    授权

    授权

  • 2003-11-12

    实质审查的生效

    实质审查的生效

  • 2002-04-17

    公开

    公开

说明书

技术领域

一般地说,本发明涉及具有拓扑状态路由协议的通信网络中的网络拓扑数据库再同步领域,更具体地说,涉及这种网络中实现网络拓扑数据库再同步的方法和装置。例如,本发明很好地适用于冗余恢复情况中的数据库再同步,这种冗余恢复是在发生了影响网络节点所关联的有效路由实体的节点故障或复位之后发生的。

背景技术

拓扑状态路由协议用于通信网络之中,以便在这种网络内的各节点和各节点群之间传播或通告拓扑状态信息。所通告的拓扑状态信息又用于计算在整个给定网络中进行通信的最佳路径。如在本申请中使用的那样,对拓扑状态信息的参考意味着关于网络域作为整体的状态信息。在某些网络协议中,拓扑状态信息包括链路状态信息和节点状态信息两方面。例如,链路状态信息将包括诸如链路特征、链路运行状态、端口标识以及关于邻近节点的远程邻点信息等属性。节点状态信息将包括诸如节点标识、对等组标识、特异的节点选择状态、特异的节点领导关系状态以及本地可达到的地址信息等属性。

尽管拓扑状态信息是指网络域作为整体的状态信息,但本申请在处理由特定网络节点本地产生的状态信息时还将参考本地状态信息。本地链路信息将反映一给定节点对其与对等节点通信状态的理解。这样,与拓扑链路状态信息类似,本地链路状态信息还将包括诸如链路特征、链路运行状态、端口标识和关于邻近节点的远程邻点信息等属性,但与构成网络域部分的多种节点相反,这些属性从属于一个给定的网络节点。类似地,本地节点状态信息将包含诸如节点标识、对等组标识、特异的节点选择状态、特异的节点领导关系状态以及本地可达到的地址信息等属性。同样,这些属性在参考本地节点状态信息时从属于一给定节点,而不是在参考拓扑节点状态信息时从属于作为整体的网络域。在本申请中,参考状态信息将意味着拓扑状态信息和本地状态信息二者。

在一些已知的拓扑状态协议中,在通信网络中的某些节点可能承担与特异的或额外的责任,以使该网络的路由功能正常地运行。例如,如在M. Moy的“OSPF第2版”(STD 54,RFC 2328,1998年4月)中描述的“开放最短路径优先(OSPF)IP路由协议中,标识为指定路由器(DR)的节点将承担这些责任。类似地,在专用网络节点接口或专用网到网接口(PNNI)协议中,这种性质的责任由称作对等组领导(PGL)的节点承担。PNNI协议在下述文件中予以说明:(i)“专用网络接口规范,第1.0版”,ATM论坛文献,编号af-pnni-0055.000,日期为1996年3月,(ii)“专用网到网接口规范第1.0版补遗(Soft PVCMIB)”ATM论坛文献,编号af-pnni-0066.000,日期为1996年9月,(iii)“对PNNI V1.0的补充,用于ABR参数协商“ATM论坛文献,编号af-pnni-0075.000,日期为1997年1月以及在(iv)“PNNI V1.0勘误表和PICS”,ATM论坛报告,编号为af-pnni-0081.000,日期为1997年5月中找到的修补(在下文中,前述文献(i)-(iv)共同称作“PNNI规范”)。PNNI规范在这里被引用作为参考。

通过称作分布式选举的过程,在一网络空间内的一个给定物理节点可以得到前述类型的特异的网络责任。在分布式选举方案中,在网络层次结构的一个特定级别上的所有节点将进行通信以选举承担与拓扑状态协议有关的附加任务或责任的节点。本领域技术人员将会理解,完成分布式选举过程所用时间是不同的,取决于具体的网络环境。再有,如果由于停机时间使得不能由一给定的网络节点填充其特异位置,则在这停机时间期间该网络或网络域整体的一部分的路由功能就会表现出能力的下降和低效率。这样,可以预料,在利用拓扑状态协议的通信网络中,在网络节点故障之后,网络路由系统必须允许一个恢复时间间隔。例如,每当发生故障的节点影响被选定为具有前面提到的额外责任的网络节点的功能时,这种允许就会发生,以改变其影响的严重程度。

某些路由协议指定给定不水平的节点冗余。这一冗余要用于在发生故障而影响一个执行特异的前述类型协议功能的节点时减少网络路由系统的恢复时间。例如,在OSPF协议中,规定使用后备指定路由器(BDR)。后备指定路由器的任务是检测那些影响当前指向的指定路由器的故障。一旦检测到这种故障,则后备指定路由器将被调用来采取恢复行动,以宣布它本身为新的指定路由器来代替先前的出故障的指定路由器。其后,在该共享网络受影响部分上的所有其他节点被告知新的指定路由器的存在。这样,尽管在发生影响一个指定路由器的故障之后重新执行OSPF协议下的动态选举过程并不是必须的,然而,在原来由发生故障的指定路由器节点所服务的共享网络上的所有路由器和主机都会经受一段时间的网络路由中断。这是因为在影响其相关指定路由器节点的故障之后,受影响的路由器和主机参与到对网络路由系统功能的恢复过程。

另一方面,在PNNI协议中,当前尚没有关于特异节点冗余的条款。结果,在出现任何影响特异网络节点的故障时,必须重新执行分布式选举过程及其相关的协议行动。在PNNI协议中,在拓扑层次结构的任何一级上执行对等组领导功能的物理节点可能正在该层次结构的其他若干级上进行这一功能。这样,影响这一物理节点的故障很大地影响了整个网络的大部分。再有,在当前的PNNI协议中没有关于后备对等组领导的条款。这样,一个影响上述种类多级对等组领导的故障必须由构成各对等组组成部分的所有逻辑节点进行检测,这些对等组是由这个多级对等组领导代表的。然后,在该网络层次结构不同级上的逻辑节点必须选举新的对等组领导。如先前给出的关于OSPF协议的例子那样,该对等组领导的故障可能为许多节点所知,因此这些节点一般都必须参与恢复该路由系统受影响的功能。由于这样,可以想象,在一个PNNI网络中一个对等组领导的故障可能影响该网络的大部分,而且会在许多场合中造成服务提供者或终端用户不可接受的长时间的网络路由行为的破坏。

上述讨论是针对影响一个有特异责任的网络节点的故障所造成的影响。然而,本领域的技术人员将会理解,涉及一个不具有特异责任的普通物理或逻辑节点的故障也会对这个发生故障的普通节点所服务的相邻节点或装置的路由能力造成某种程度的破坏。虽然在某些节点架构中有可能在发生路由功能故障时仍保持某些网络功能,如包转发或呼叫处理,但诸如OSPF和PNNI等拓扑状态协议要求一个域的每个网络节点在被接纳到该路由系统之前使其拓扑数据库与其相邻各点同步。为从一节点的故障中恢复过来,必须在这些网络协议中进行这种拓扑数据库同步。取决于不同的场合,这种同步过程可能在整个恢复步骤中消耗数秒或数分钟。在同步过程中,由发生故障节点服务的网络装置将受到影响,因此路由功能可能会受到很大地破坏。尽管上面的讨论集中于围绕从节点故障中恢复过来所遇到的挑战,但本领域的技术人员将会理解,从其他事件也会产生类似的问题,这些问题会需要一个节点承担其拓扑数据库的同步,例如与一网络节点相关联的路由处理器的复位。

在先有技术中已开发了某些机制,以保证以一种对使用有故障路由器的主机透明的方式在不同的路由器之间切换。在T.Li,B.Cole,P.Morton和D.Li的“Cisco热备份路由器协议(HSRP)”,RFC 2281,日期为1998年3月,中描述的热备份路由器协议,以及根据P.Higginson和M.Shand的“开发路由器群以在IP网络中提供故障快速修复”,9数字技术杂志,第3期,1999年冬季,的IP备份协议是这种透明路由器切换方案的两个例子。然而,如下文中将更详细解释的那样,这类切换机制通常不能保证除了与此有故障节点直接相邻的特定主机或节点外,对该网络中的其他路由器或节点都普遍地透明。在先有技术中,一个节点的故障通常由一个与其不同的另一个节点来恢复。所以,如果提供一种机制,它允许由同一节点中的另一路由部件以一种对所有节点而不只是其紧邻节点都透明的方式来恢复该节点的一个路由部件的故障,那将是有优越性的。

因此,当面对要从节点故障中恢复出来的情况,或可能需要一个节点同步其拓扑数据库的其他情况,一旦它曾这样做过,先有技术的拓扑状态路由协议便显现出问题和挑战,而且不论受故障直接影响的节点是否有特异的责任,这些问题和挑战都会发生。首先,已知的恢复机制通常会破坏至少一部分网络的路由功能,并对利用该网络的某些装置造成严重影响。随场合的不同,网络受影响的部分也将不同。例如,对于进行特异功能的节点,受影响的网络部分预计会比不进行这种功能的节点所受影响的部分更加广泛。再有,对于涉及PNNI对等组领导的故障,受影响的部分预计比影响OSPF指定路由器的故障所造成影响的部分更加广泛。第二,从节点或链路故障中恢复所需的时间是各不相同的,但可能是达到几分钟的量级或更长。如前面提到的那样,对于某些服务提供者或终端用户,这一时间范围可能是不可接受的。第三,由于许多节点将不得不知道该故障,所以需要参与恢复过程,这样,网络资源在其带宽和处理时间方面的特性将受到改变。一般地说,这将有损于其他的网络活动,特别是可能降低网络路由系统的性能和稳定性。

所以,一般地说,本发明要追寻的一个目的是提供一种方法和装置,用于在具有拓扑状态路由协议的网络中数据库的再同步,特别是很好地适用于余恢复的情况,这种冗余恢复是在与网络节点的路由实体相关联的节点故障之后进行的,据此,在一些情况中会缓解或克服其他先有技术和装置中显示出来的一些问题。

发明内容

根据本发明的第一主要方面,提供了一种方法用于从影响通信网络中有效路由实体(active routing entity)的故障中恢复过来,该有效路由实体与该通信网络的一个网络节点相关联,该通信网络包含一个路由协议用于周期性地在整个网络上通告本地状态信息,还包括一个待用路由实体(inactive routing entity),在发生故障时该网络节点的网络连接能从该有效路由实体转向该待用路由实体,该方法包含如下步骤:(a)一旦发生故障,执行有效路由实体和待用路由实体之间的活动切换(activity switch),这里该网络节点的网络连接从这有效路由实体转换到待用路由实体,从而把待用路由实体转变为新的有效路由实体:(b)在活动切换之后,在新的有效路由实体和与所述故障关联的网络节点的每个紧邻节点之间交换拓扑状态信息,从而使新的有效路由实体和每个所述紧邻节点分别具有同步的拓扑状态信息;而且这里在新的有效路由实体和每个所述紧邻节点之间进行的拓扑状态信息交换不会造成由与所述故障关联的网络节点和每个所述紧邻节点去取消周期性地通告分别从属于与所述故障关联的网络节点和每个所述紧邻节点的本地状态信息。

根据本发明的第二主要方面,提供了一个网络部件用于从通信网络的故障中恢复过来,该通信网络包括一个路由协议用于周期性地在整个网络上通告本地状态信息,该网络部件包含:一个有效路由实体,该有效路由实体与关于该通信网络的拓扑状态信息相关联;一个待用路由实体,这里当有效路由实体发生故障时在有效路由实体和待用路由实体之间执行活动切换,从而把网络连接从有效路由实体转换到待用路由实体并把待用路由实体转变为新的有效路由实体;一个数据库同步处理器,这里该数据库同步处理器在活动切换之后实现新的有效路由实体和该网络部件的每个紧邻节点之间的拓扑状态信息交换,从而使新的有效路由实体和每个所述紧邻节点分别具有同步过的拓扑状态信息,而且这里所述在新的有效路由实体和每个所述紧邻节点之间进行的拓扑状态信息交换不会造成由与所述故障关联的网络节点和每个所述紧邻节点去取消所述周期性地通告分别从属于该网络部件和每个紧邻节点的本地状态信息。

根据本发明的第三主要方面,提供了一种方法用于在一通信网络的两个网络节点之间实现拓扑状态信息的同步,该通信网络包含一个路由协议用于周期性地在整个网络上通告本地状态信息,这两个网络节点包含一个请求节点用于发起拓扑状态同步请求和一个回答为用于接收所述请求并在请求节点发起所述请求时与请求节点通信以向请求节点提供该请求节点不具有的拓扑状态信息,该方法包含选择步骤,以在请求节点向回答节点发出所述请求之前在第一和第二同步方式之间作出选择,所述第一方式提供的拓扑状态同步造成所述请求节点和所述回答节点取消所述周期性通告分别从属于该请求节点和回答节点的本地状态信息,而所述第二方式提供的拓扑状态同步保持所述周期性通告分别从属于该请求节点和回答节点的本地状态信息。

根据本发明的第四主要方面,提供了一个网络部件用于在一通信网络的两个网络节点之间实现拓扑状态信息的同步,该通信网络包含一个路由协议用于周期性地在整个网络上通告本地状态信息,这两个网络节点包含一个请求节点用于发起拓扑状态同步请求和一个回答节点用于接收所述请求并在请求节点发起所述请求时与请求节点通信以向请求节点提供该请求节点不具有的拓扑状态信息,该网络部件有选择地以两种同步方式之一进行操作,这里的第一方式实现请求节点和回答节点之间的拓扑状态同步,它造成由所述请求节点和所述回答节点取消所述周期性地通告分别从属于该请求节点和回答节点的本地状态信息,而这里的第二方式实现请求节点和回答节点之间的拓扑状态同步,它保持所述周期性地通告分别从属于该请求节点和回答节点的本地状态信息。

根据本发明的第五主要方面,提供了一种方法用于在一通信网络中的第一网络节点和第二网络节点之间实现拓扑状态信息同步,该通信网络包含一个路由协议用于在整个网络上交换本地状态信息,该第一网络节点发起拓扑状态同步请求,而第二网络节点接收所述请求并与第一网络节点通信以向第一网络节点提供拓扑状态信息,拓扑状态同步根据其第一方式进行,这里,所述分别从属于第一网络节点和第二网络节点的本地状态信息的交换不被取消。

根据本发明的第六主要方面,提供了一个网络部件用于在一通信网络中的第一网络节点和第二网络节点之间实现拓扑状态信息同步,该通信网络包含一个路由协议用于在整个网络上交换本地状态信息,该第一网络节点发起拓扑状态同步请求,而第二网络节点接收所述请求并与第一网络节点通信以向第一网络节点提供拓扑状态信息,拓扑状态同步根据其第一方式进行,这里,所述分别从属于第一网络节点和第二网络节点的本地状态信息的交换不被取消。

附图说明

图1是一层级结构网络拓扑的示意表示,该网络拓扑与一根据PNNI路由协议运行的网络域(domain)相关联,其中可以实现本发明的方法和装置,图中显示构成网络拓扑组成部分的各组节点之间的父子关系;

图2是状态机(state machine)图,显示在先有技术中已知的PNNI路由协议的近邻对等有限状态机(neighbouring peer Finite StateMachine)的各种状态和状态转换事件;

图3是状态机图,显示经修改以实现本发明的PNNI路由协议的近邻对等有限状态机的各种状态和状态转换事件;以及

图4是在其中可以实现本发明方法的热冗余网络部件的方框图。

具体实施方式

对于本领域技术人员而言,用于网络部件或装置的冗余技术,如热冗余技术,通常是众所周知的。参考图1,将使用PNNI网络域30形式的通信网络作为示例来解释这些技术。然而,本领域的技术人员将会理解,本发明还可应用或适应于其他类型的网络,如因特网协议(IP)网络,对这些网络,本地状态信息的周期性通告(intermittentadvertisement)是由开放最短路径第一(0SPF)路由协议完成的。再有,本发明不仅适用于从网络节点的路由实体所伴随的故障中恢复过来的情况,而且也适用于一个网络节点必须或希望再同步其拓扑数据库的其他情况。拓扑状态路由协议和拓扑数据库同步

通信网络2有一个网络域30,它包含多个网络节点32至41,每个节点通常为交换系统。网络节点32至41由物理的或逻辑的链路42至53互连,这些链路分别连接到该网络域的两个给定交换系统。PNNI网络域30的网络部件或节点56(也称为“A.1.2”)显示为承担父对等组(parent Peer Group,标号为“PG(A)”)的对等组领导(Peer GroupLeader)的作用,而在父对等组一级上节点36的存在是节点56的领导状态的结果。节点36也代表子对等组55(也标为“PG(A.1)”)形式的一个网络域,它包含较低级别网络节点56至60。较低级别网络节点56至60由物理的或逻辑的链路62至67互连,每个链路连接到两个给定的较低级别交换系统。规定PG(A.1)的对等组领导的功能在含有较低级节点56(也标为“A.1.2”)的交换系统上实现。PG(A.1)是PG(A)的一个子对等组并在PG(A)中作为逻辑节点36呈现出来,它在物理交换系统56内实现。类似地,标为“PG(A)”的父对等组本身可以是在该路由层次结构的一个较高级别上由单个逻辑节点(未画出)代表的一个子对等组。

根据已知的冗余技术,希望具有故障容许保护(fault toleranceprotection)的特定节点、交换器或其他网络部件在一个单一网络部件中提供至少两个路由处理器。一个路由处理器实现与其相邻节点保持连接的功能和与那些节点共享拓扑状态信息的功能。最好是,这些路由处理器由不同的网络部件配置而成。例如,这些物理部件每个可以是以不同的硬件卡形式放在同一网络交换器内,例如放在网络节点56(“A.1.2”)内。在为了冗余的目的而提供两个处理器的地方,所讨论的物理部件之一将承担冗余网络部件的有效路由实体的功能,而另一个物理部件便是其待用路由实体。

在检测到有效路由实体的故障时,待用路由实体被调入服务以取代有故障的有效路由实体的功能。这一过程称作活动切换。因为这两个路由实体都与同一节点(例如网络节点56)相关联,该节点本身不需要放弃它的任何特异的责任。再有,只有以紧邻父对等组节点形式存在的有故障节点的紧邻节点(例如网络节点34、35、37、38)和任何紧邻子对等组节点(例如网络节点57、59、60)需被调出或被利用参加网络恢复。然而,如下文讨论的那样,在恢复过程中,当前的拓扑状态协议可能会使有故障节点的紧邻节点之外的更多节点受到影响(例如网络节点32、33、39、40、41、58),因而增大了进行恢复所需要的时间以及在此过程中消耗的网络资源。

现有能力和技术可利用来实现给定网络结构(如PNNI网络域)中的冗余保护方案。例如,这些能力和技术可以包括各网络节点内活动状态的管理,有效和待用路由部件之间状态信息的同步。网络拓扑的这一状态信息通常存储在一个同步数据库中,也称作拓扑数据库,它与一个路由域的每个网络节点相关联。通常,同步数据库将存储在所考虑的那些网络节点内。数据库同步是一种已经存在的拓扑状态路由协议机制,它保证一网络内的相邻节点共享该网络总体拓扑结构的一个共同视图。某些信号协议(如ITU-T Q.2931)有机制(如状态查询方案,Status Enquiry Schemes)进行两个网络节点之间的调用状态同步。

一些已知的冗余方案存在的一个问题是:当在一个网络节点(如节点56,它实现较高级别节点36)发生故障时,当在PG(A.1)中的一个新PGL开始承担责任实现较高级别节点36的时候或其后的一段时间里,那些在PG(A)44、45、47和51中受影响的来、去有故障节点的链路将停止接受通告。换句话说,当新的有效路由处理器发起与其对等点的数据库同步时,当前的PNNI协议将要求去掉或取消来自该同步中涉及的每个节点的本地状态信息通告,直至同步已经发生之时为止。这样,有故障的节点将停止通告它的本地状态信息,而与有故障节点相邻的节点也将类似地停止通告它们各自的本地状态信息。在当前已知的协议下进行的任何同步都是如此,那里在活动切换或处理器复位情况之后都需要同步。在现已存在的PNNI协议中,将要求一个提供热冗余能力的有故障节点使其拓扑数据库与邻近节点同步。这是因为这样一个节点的有效和待用路由器一般在出故障之前已经在内部交换过拓扑状态信息,而这种交换还将周期性地发生。这样,在最后一次状态信息交换和故障之间的间隔中很可能丢失拓扑状态信息,一旦从先前有效但发生故障的路由处理器进行了活动切换,这待用路由处理器便经受了这一信息丢失。

所以,当有故障的节点(如节点56,它还实现较高级别的节点36并具有根据先有技术的冗余能力)被活动切换重新起动时,由活动切换造成的新的有效路由实体必须重新建立来、去节点56的受影响链路62、63和64,以及来、去较高级别节点36的受影响链路44、45、47和51。当有故障节点(如节点56)是给定数量子对等组节点56、57、58、59和60的对等组领导时,在子对等组中的其他链路也必须重建。为了重建它们作为网络拓扑一部分的存在,有故障节点及其邻近节点必须首先知道彼此的存在。在PNNI协议中,在由物理链路或VPC连接的最低级别对等点的情况中,双向招呼(Hello)包将完成这一发现邻居的功能。接下来,有故障的节点及其每个近邻节点将彼此交换拓扑数据库概要信息。通常,在PNNI协议中,新的重新认识的节点将首先交换PNNI拓扑状态元素(PTSE)头段,以确定这些节点是否处于同步状态。如果它们不同步,则将进行同步。当一个节点接收PTSE头段信息,该信息通告一个该节点尚没有的PTSE,于是它请求这被通告的PTSE并在收到所请求的PTSE时用其更新它的拓扑数据库。

一旦完成了同步,则在网络域30的网络拓扑内在有故障节点及其近邻节点当中通告本地状态信息,从而每个节点将向所有其他邻近节点通告它的可达到性。例如,在PNNI协议中,这一通告由称作“注入”(f1ooding)的规则过程进行。如前面解释的那样,这一已知的重建过程对网络的路由功能造成不利影响。再有,在根据已知技术重建有故障节点56的过程中要消耗网络资源。对已知的近邻对等有限状态机、近邻对等数据结构以及数据库概要包结构的修改

根据一个实施示例,通过对图2的现有协议进行各种修改,可使本发明在PNNI协议的情况中被采用。如下文中更详细讨论的那样,这些修改一般与已知的近邻对等有限状态机(Finite State Machine,FSM)5及其相关联的状态转换事件有关,与近邻对等数据结构的其他方面有关,还与数据库概要包结构有关。参考图3,为修改的近邻对等有限状态机10定义了两个附加的状态用于实现数据库再同步。附加的两个状态称作完全状态交换22(Exchange in Full State)和完全状态加载24(Loading in Full State)。在下文中将更详细地描述全状态交换22、全状态加载24及其相应的状态转换。

造成近邻对等状态改变的新的转换事件也加到在PNNI规程的5.7.3节中可找到的现有状态转换事件中。这些新的状态转换可称作DS(再同步,Resynch)不匹配事件和(Re)Synch完成25事件。其他附加的新状态转换,如“(完全)谈判完成”28、“(完全)加载完成”27和“(完全)交换完成”26与本发明的新状态一起使用。这些附加的状态转换分别为现有状态转换“谈判完成”15、“加载完成”21和“交换完成”17的镜像。下文中将参考表1更详细地解释这一点。除了附加的状态以及与它们相关的状态转换外,构成有限状态机10的各种状态都如同PNNI规程在其5.7.2节中正常定义的那样。

根据本发明,与现有协议相比,通过定义附加的计时器和相应的计时器时间间隔,对通常存在于PNNI协议之中并在PNNI规程5.7.1节中定义的近邻对等数据结构也进行了修改。为便于描述,附加的计时器和时间间隔可分别称作“再同步不活动计时器”和“再同步不活动时间间隔”。当这一新定时的时间间隔期满时,它将通知数据库再同步中的一个潜在问题。在这种情况中,将要求节点再同步从谈判状态14开始进行数据库同步,如同原来在现有的PNNI协议中进行数据库同步时通常发生的情况那样。

最后,根据本发明的一个实现,对数据库概要包结构添加了一个二进位。下文中将更充分地描述这一附加位。它称作“完全同步(SF)位”。对数据库概要包结构的这一附加位是要用于通知相邻节点正在发生同步,例如由于一个路由实体的故障,而根据现有的PNNI协议,这一再同步并不会接踵而来。

参考图2,把已知的近邻对等有限状态机5用于现有的PNNI规程来描述数据库同步状态和在给定节点及其相邻对等点之间进行的注入。如所知道的那样,为相邻对等点指定的有限状态机5有一初始状态12(标为“NPDown”),它将指出没有指向特定相邻对等点的有效链路。与相邻对等点建立相邻关系的第一步是谈判状态14,这对本领域技术人员而言是已知的。从初始状态12到谈判状态14的转变的触发事件称作“添加端口”事件13。这里,到达相邻对等点的链路的“招呼”状态机通常达到它的“双向内部”(2-WayInside)状态,如本领域技术人员已知的那样。在谈判状态14,两个相邻对等点将决定这些节点中哪一个要作为数据库交换用的主节点,并选定初始DS序列号。本领域技术人员将会理解,DS序列号用于标识单个数据库概要包。

一旦完成谈判状态14,相邻对等节点将在交换状态16期间从所考虑的节点接收数据库概要包。这样,谈判完成事件15将把有限状态机10转换成交换状态16。如在PNNI协议中已知的那样,在交换状态16,所考虑的节点把它的拓扑数据库描述到相邻节点。一旦相邻节点已处理了数据库概要包,它便能进一步请求它所需要的PTSE信息。如果需要这种信息,交换完成事件17将把有限状态机5转换到加载状态18。

在加载状态18期间,由相邻节点请求所需要的PTSE信息,而且至少一个PTSE头段尚未被那个节点接收。最后,在已知的PNNI协议中,一旦两个事件中的任何一个发生了,便达到“完全”状态20。首先,在加载状态18之后一旦由加载完成事件21表明对PTSE的接收已经完成,便立即达到完全状态20。另一种情况是,如果对数据库概要包的处理表明相邻节点不需要PTSE信息,则可在交换状态16之后由同步事件19使其直接达到完全状态20。在完全状态20,已知从相邻对等点可得到的所有PTSE信息由所考虑的节点拥有,并在此之后到达相邻对等点的链路可由PTSE进行通告。

如前所述,特别是参考图3,通过本发明的一个实施例,有新的状态添加到已知的有限状态机5,以实现修改后的有限状态机10。这些包括“完全交换”状态22和“完全加载”状态24。如果处于完全状态20的一个节点在一故障之前或在对进一步同步的某些其他要求之前已经同步了它的拓扑数据库,而且在其后需要数据库再同步,它便向其相邻对等节点发送初始化的数据库概要包。如前面提到的那样,这些数据库概要包将有它们各自的完全同步(SF)位集。然后“(完全)谈判完成”事件28把有限状态机10转换到完全交换状态22。在完全交换状态22,一个节点将试图把它的拓扑数据库描述到它的相邻节点而不取消向它的相邻节点通告它的本地状态信息,这些信息曾在达到完全状态20时通告过。类似地,所考虑的节点正在与其同步的那些相邻节点也将不取消向请求数据库再同步的节点通告它们各自的本地状态信息。数据库概要包将被发送到请求再同步的节点的那些相邻对等点。这些数据库概要包还将有它们各自的完全同步(SF)位集。如果作为处理数据库摘要包的结果,有故障的节点确定不需要任何PTSE包,则有限状态机10利用(再)同步完成事件25转换到完全状态20。

另一方面,如果需要PTSE包,有限状态机10执行(完全)交换完成事件26以转换到完全加载状态24。于是,将由需要再同步的节点请求所需要的PTSE,而链接到相邻对等节点的链路仍被向外通告,如同在完全状态20那样。一旦所有被请求的PTSE包已被请求再同步的节点接收,(完全)加载完成事件27将把有限状态机10转换到完全状态20。这样,请求再同步的节点将发送和接收数据库摘要、PTSE请求和PTSP包,而同时它的对等数据结构处于完全状态20,完全交换状态22和完全加载状态24。关于请求同步的有故障节点的那些相邻对等节点,也将发生上面描述的同样的状态转换。

这样,根据本发明,提供了两个数据库同步过程:一个是当对等数据结构处于完全状态20时操作,另一个是当对等数据结构处于谈判状态14时操作。只可能在相邻对等有限状态机10处于完全状态20、完全交换状态22或完全加载状态24时,才能通告最低级别相邻对等点之间的链路。这样,对于由物理链路或VPC连接的相邻最低级别对等点,从完全交换状态22或完全加载状态24二者以外的其他状态变换成完全状态20以及从包含完全状态20、完全交换状态22和完全加载状态24的一组状态转变出来都将造成新的情况,即对于正在同步的节点或正在再同步的节点将会发源(originate)或泻出(flush)一个或多个PTSE。

除了图2中所示状态转换外,已知的PNNI协议还有4个附加事件。这些事件称作DSMismatch(DS不匹配)BadPTSERequest,DropPort和DropPortLast事件。DSMismatch和BadPTSERequest事件每个使状态转换到谈判状态14。每当已收到的数据库概要包发生下述情况中任何一个时,将发生DSMismatch:(i)它有一个非预期的DS序列号,(ii)它有一个非预期设置的初始化位,或(iii)它有一个非预期设置的主控位。根据本发明,已知的DSMismatch事件被修改,从而当数据库概要包有非预期的完全同步位时也将发生该事件。再有,根据本发明,当前面提到的DS再同步无效计时器期满时,也将发生DSMismatch事件。前述状况中任何一个都表明在数据库同步过程中发生了错误。已知的DropPort事件不引起状态改变,而已知的DropPortLast事件迫使产生NPDown状态12。在已知的DropPort事件中,对于到相邻对等点的链路的招呼(Hello)状态机将会退出2-WayInside状态。在已知的DropPortLast事件中,确定到相邻节点的所有链路都已被停止。

如前面介绍的那样,定义了一个可称作DS(再同步)不匹配的事件,每当所收到的数据库概要包设置了它的完全同步位而这一包又非预期地设置了它的初始化位,便会发生这一事件。如对已知的PNNI协议中的DSMismatch(DS不匹配)事件所讨论的情况那样,发生DS再同步不匹配事件类似地表明在数据库再同步过程中已发生了错误。DS再同步不匹配将表明再次尝试数据库再同步而不使有限状态机10退到谈判状态14。

下面将参考下面给出的表1,更详细地讨论根据本发明的一个实施例实现的相邻对等有限状态机10。在表1中,显示出完全交换状态22和完全加载状态24并以概要形式给出这些状态的可能转换事件,既包括已知的PNNI协议中存在的事件,也包括由本发明新添加或修改的事件。表中的每个单元代表一个转换事件和一个状态的配对,这个指明的状态是当指定的转换事件刚发生时该节点的当前状态。每个单元反映了新的状态,它是指定的转换事件及所考虑的节点采取行动的结果。表1只显示了已存在的PNNI协议相邻对等有限状态机5的那样一些方面,即由本发明修改过的或为实现本发明由增加的功能或过程所补充的那些方面,从而到达一个修改过的有限状态机10。在下文中将更详细地讨论对现有PNNI协议的修改和补充。

表1.对现有的PNNI相邻对等有限状态机的修改

                                 状态转换事件NPDown  谈判  交换  加载  完全完全交换完全加载添加端口Ds1谈判  --   --  --   --    Ds8完全交换  Ds8完全加载谈判完成  --   --   --   --   --FSM_ERR FSM_ERR(完全)谈判完成FSM_ERR FSM_ERR FSM_ERR FSM_ERR  Ds11完全交换FSM_ERR FSM_ERR交换完成  --   --   --   --   --FSM_ERR FSM_ERR(完全)交换完成FSM_ERR FSM_ERR FSM_ERR FSM_ERR FSM_ERR    Ds3完全加载FSM_ERR同步完成  --   --   --   --   --FSM_ERR FSM_ERR(再)同步完成FSM_ERR FSM_ERR FSM_ERR FSM_ERR FSM_ERR  Ds12完全FSM_ERR加协完成  --  --   --   --   --FSM_ERR FSM_ERR(完全)加载完成FSM_ERR FSM_ERR FSM_ERR FSM_ERR FSM_ERR FSM_ERR  Ds12完全DS不同步 --   --Ds5谈判Ds5谈判   --Ds6谈判Ds6谈判DS(再同步)不同步FSM_ERR FSM_ERR FSM_ERR FSM_ERR FSM_ERR Ds13完全  Ds13完全坏PTSE请求  --   --Ds5变判Ds5谈判   --Ds6谈判Ds6谈判关掉端口  --   --  --   --   --    Ds9完全交换  Ds9完全加载关掉最后端口  --  Ds10NPDown  Ds10NPDown  Ds10NPDown  Ds10NPDown  Ds10NPDown  Ds10NPDown

如在现有的PNNI规程(Specification)中那样,其5.7.4节中FSM_ERR表示内部实现错。这样,在有限状态机10处于完全状态20以外的其他任何状态时,(完全)谈判完成事件28通常不应发生。类似地,在除了完全交换状态22以外的任何状态期间不应发生(完全)交换完成事件26和(再)同步完成事件25。再有,在除了完全加载状态24以外的任何状态中预期不会发生(完全)加载事件27。再有,在除了完全交换状态22和完全加载状态24以外的任何状态中预期不会发生DS(再同步)不匹配事件。

每个已有的事件谈判完成15、交换完成17、同步完成19和加载完成21都没有规定要在本发明的新状态完全交换22、完全加载24中发生。由于这一理由,在表1中的协议错误情况FSM_ERR反映了由所述已有事件到所述新状态的映射。已有事件被类似的事件(完全)谈判完成28、(完全)交换完成26、(再)同步完成25和(完全)加载完成27代替,下文中将更充分地解释。

如果在所考虑的节点处于NPDown状态12时发生事件AddPort,则接下来进行PNNT协议中描述的用于在PNNI规程5.7.4节中称作Ds1的行动的已知过程。通常,这些过程要求发送不带PTSE概要的数据库概要包。这些数据库概要包是在由已知的相邻对等数据结构的DSRxmt计时器指定的时间间隔上传送的。与本发明的Ds1过程的区别在于数据库概要包将包含一个附加位,其形式是前面提到的完全同步位。在表1中所指的Ds1过程中,没有设置所考虑的数据库概要包的完全同步位。当在完全交换状态22或完全加载状态24期间发生AddPort事件时,状态机将保持同一状态不变。在由物理链路或VPC链接的最低级别相邻对等点的情况中,端口ID被添加到相邻对等数据结构的端口ID列表中。再有,还将添加到达相邻对等点的链路并发起新的PTSE情况。这一组行动与PNNI协议中指定的样子相同,在PNNI规程5.7.4节中表示为行动Ds8。

如果有限状态机10处于完全状态20并发生(完全)谈判完成事件28,则触发向完全交换状态22的转换,并将发生表1中Ds11表示的一组行动。在称作Ds11的这组行动作用下,如在已知的PNNI协议中称作Ds2的行动作用下的情况那样,所考虑的节点将以数据库概要包的形式向相邻对等点发送其拓扑数据库内容概要。跟随在这一向完全交换状态22转换之后的过程与PNNI规程5.7.4节中表示的那些过程相同,其例外是由节点发生的数据库概要包将设置完全同步位。再有,根据本发明,将在状态转换时启动再同步无效计时器作为Ds2过程的一部分,如果这一计时器尚未运转的话。

在有限状态机10的完全交换状态22中发生(完全)交换完成26时,将发生到达完全加载状态24的过渡。然后跟着来的是现有PNNI规程的5.7.4节中描述的Ds3行动(action)。即停止DS Rxmt计时器,如果先前未停止的话。如本领域技术人员知道的那样,PTSE请求包将被发送或继续发送到所考虑的相邻对等点或其他相邻对等点。每个PTSE请求包将请求相邻对等点的一些较新近的PTSE,它们先前已被发现但尚未被接收。这些PTSE将被列入相邻对等数据结构中的PTSE请求列表中。

每当状态机处于完全交换状态22时被注入(再)同步完成事件25,则有限状态机10将转换到完全状态20。与完全交换状态22关联的这一事件称作“(再)同步完成”事件25,以与交换状态16期间发生的对应事件相区别。

每当有限状态机10处于其完全加载状态24时被注入(完全)加载完成事件27,则该状态机将转换到完全状态20。与完全加载状态24关联的这一事件在图1中称作“(完全)加载完成”事件,以与加载状态18期间发生的对应事件相区别。

在完全加载状态24期间发生(完全)加载完成事件27的情况中,或在完全交换状态22期间发生(再)同步完成事件25的情况中,本发明实施示例中引入的并在前面提到过的DS Rxmt计时器和再同步无效计时器将被停止。跟随在所考虑的状态变化之后的这些行动在表1中称作Ds12。它表明数据库再同步已完成。

如果在交换状态16或加载状态18期间发生DSMismatbch事件或BadPTSERequest事件,则发生到谈判状态14的状态转变。再有,在所考虑的状态转变之后发起现有PNNI协议中表示为Ds5的已知过程。这些过程在PNNI规程的5.7.4节中被描述。然而,根据本发明,再同步无效计时器也将被停止,如果先前未被停止的话,如同已知协议的Peer Delayed Ack计时器、DS Rxmt计时器及Reques Rxmt计时器的情况那样。根据本发明,在已知的Ds5过程中由该节点发送的数据库概要包的完全同步位将不被设置。

表1的事件DS Mismatch和BadPTSEReqest将在完全交换状态22或完全加载状态24期间发生,它们将引起向谈判状态14的转换。要采取的行动将如同前文中交换状态或加载状态期间发生同样事件的情况中所指定的行动,其例外是PTSE将被修改以去掉对到达近邻的任何链路的通告。这后一步骤在现有的PNNI协议中是知道的,并在PNNI规程的5.7.4节中描述为行动Ds6。

每当再同步无效计时器期满时便以事件DS Mismatch执行有限状态机10。这迫使该节点取消当前在PTSE中被通告的所有通向未响应的近邻的链路。然后,有限状态机10被迫进入谈判状态14,在这种状态下该节点再次试图从谈判状态14开始以已知的方式同步数据库。在数据库再同步成功时,再同步无效计时器被停止。

仍参考表1,当在完全交换状态22或完全加载状态24期间发生DS(再同步)不匹配时,转换到完全状态20。在这一转换事件时的行动将使Pear Delayed Ack计时器、DS Rxmt计时器和Request Rxmt计时器被停止,如果先前未被停止的话。所述各计时器都是在现有PNNI协议中知道的。对等再传送列表(Peer Retransmission List)、对等延时应答列表(Peer Delayed Acks List)、PTSE请求列表(PTSERequest List)及所有相关的计时器也被清除。设置完全同步位的数据库概要的交换必须重头开始。然后,所考虑的节点使这一相邻对等点的DS序列号增量,通过把主控位之值设为1来宣称它本身是主控点,并将开始发送数据库概要包,其中设置“初始化”、“再次(more)”、主控(Master)和完全同步位。这些包中不包括PTSE概要。最后,DS Rxmt计时器被启动,如果没有收到DB(数据库)概要包来应答的话,则每隔DSRxmtInterval时间间隔重传一次数据库概要包。

每当有限状态机10分别处于完全交换状态22和完全加载状态24时,表1中的DropPort事件将使有限状态机10保持在同样状态。如使用现有PNNI协议5.7.4节的Ds9过程那样,所考虑的链路从相应的相邻对等数据结构中的端口ID列表中去掉。如果有一个PTSE在通告那个链路,则受影响的PTSE的新情况将开始。如果该链路是到该近邻的最后一个有效链路,则将产生DropPortLast事件。如表1中所示,每当有限状态机10处于完全交换状态22或完全加载状态24时,DropPortLast事件将使有限状态机10转换到NPDown状态12。作为PNNI协议中已知并在PNNI规程5.7.4节中称作Ds10的过程,PeerDelayed Ack计时器、DS Rxmt计时器和Request Rxmt计时器被停止,如果先前未被停止的话。如在现有的Ds10过程中已知的那样,对等传输列表、对等延时应答列表和PTSE请求列表与和它们相关的计时器一起被清除。然而,根据本发明,再同步无效计时器也将被停止,如果先前未被停止的话。发送数据库概要包

数据库概要包的发送总体上如已知的PNNI协议指定的那样,其例外如下文指出的那样。然而,在完全状态20,一节点可以通过发送带有设置的初始化、再次(more)、主控和完全同步位空数据库概要包来启动数据库再同步。当发送第一个这种数据库概要包时,再同步无效计时器被启动,如果这一计时器尚未运行的话。当发送这种数据库概要包时,DS Rxmt计时器必须重新启动。当DS Rxmt计时器启动时,每隔DS Rxmt间隔秒数,便由发起数据库再同步的节点再传输一次这些包。

处于其完全状态20的一个节点还将发送数据概要包以响应所收到的带有设置的初始化、再次(more)、主控及完全同步位的数据库概要包,它来自请求数据库再同步的一个相邻对等点。当该节点发起数据库再同步时,它发送一个数据库概要包,所带有的完全同步、初始化、再次(more)及主控位都设为值1。对请求数据库再同步的邻近节点作出响应的节点将按下文中更充分描述的那样设置完全同步、初始化、再次和主控位。当一个节点对请求数据库再同步的节点响应第一个这种数据库概要包时,它启动再同步无效计时器,如果它尚未运行的话。

在谈判状态14,所考虑的节点将发送空的数据库概要包,如在现有协议中那样,其例外是在根据本发明修改过的数据库概要包中的完全同步位将不被设置,以包括一个所述完全同步位形式的附加位。在完全交换状态22,所考虑的节点将发送与已知的交换状态16中完全相同的数据库概要包,但在这种数据库概要包中完全同步位将不被设置。接收数据概要包

接下来解释一节点对所收到的数据库概要包的处理。总的说来,对数据库概要包的接收如已知的PNNI协议指定的那样,其例外情况如下文指出的那样。如果接受了一个数据库概要包,则若干个包字段被保存在已知记录中的相应近邻对等数据结构中,标识为最后收到的数据库概要包的标识信息。这样,与DS序列号一起,以这种方式保存由初始化、再次、主控和保留位构成的包标志。然而,本发明的完全同步位也与前述各个位一起被保留。当从一个相邻对等点接收的两个相继的数据概要包中这些保存的各项被设置得完全相同时,则在对所收到的数据库概要包的处理中,第二个这种数据库概要包被认为是一个重要的包。

如在已知的PNNI协议中那样,如果有限状态机10处于NPDown状态14时收到一个数据库概要包,则该包必须被忽略。

在已有的PNNI规程中,在有限状态机10为谈判状态14时收到的而且与现有的PNNI规程5.7.6节中在题头“谈判”下规定的两种情况之一相匹配的一个数据库概要包将以事件“谈判完成”和向交换状态16的转换来执行有限状态机5。在已知协议的这些情况的第一种情况中,初始化、再次及主控位都设置为值1。在本发明中,除了初始化、再次和主控位有前述值外,对于作为序列中的下一个而被接收并且按照5.7.6节题头“谈判”下讨论的第一种情况以已经知道的方式被进一步处理的一包,其完全同步位必须设置为值零。在已知协议的这些情况的第二种情况中,初始化和主控位被设置为值零。在本发明中,除了初始化和主控位有前述值外,对于作为序列中的下一个而被接收并且按照5.7.6节题头“谈判”下讨论的第二种情况以已径知道的方式被进一步处理的一包,其完全同步位必须设置为值零。

对于有限状态机10处于交换状态16时接收的数据库概要包,后跟现有PNNI规程中在5.7.6节的题头“交换”下给出的过程,但有一个例外。即在5.7.6节所述题头下列举的第三个现有步骤之后立即插入一个新的条件。这一新的条件要求:如果设置了完全同步位,则将产生DS Mismatch事件并将停止数据库概要包处理。否则,在交换状态16中接收数据库概要包之后要进行的过程则如现有PNNI规程中描述的那样。

当节点处于其加载状态18时接收数据库概要包,表明该节点已发送和接收了整个数据库概要包序列。这样,只有这样接收的包应该是重复的。所收到的任何其他数据库概要包必定产生DS Mismatch事件,造成返回谈判状态14,根据已知的PNNI协议再次使两个对等点同步它们的数据库。所以,当在加载状态18中接收一数据库概要包时,后跟的过程如现有PNNI协议的5.7.6节中指定的那样。

如果该节点处于完全状态20,而且所收到的数据库概要包的完全同步位被设置,那么如果所收到的包与下述两种情况之一匹配,则有限状态机10必须以(完全)谈判完成事件28去执行。于是使有限状态机10转换到完全交换状态22。然后该包作为序列中的下一个被接收并按下文提出的那样被进一步处理。情况1:接收节点是一个从属节点

这一情况覆盖下述场合,其中初始化、再次(more)和主控位被设置为值1,该包的内容是空的,而且相邻对等节点ID大于接收节点伴随的节点ID。

在这一场合,所考虑的节点是从属节点,一旦产生(完全)谈判完成事件28,该从属节点便采取下述一系列行动。首先,DS Rxmt计时器被停止。接下来,再同步无效计时器被启动,如果该计时器尚未运行的话。然后,主控位设为值零(表明给定节点是从属节点),初始化位也设为值零,完全同步位设为值1,DS序列号设为主控节点指定值,并向主控节点发送一个数据库概要包,其中包括所考虑节点的那部分数据库概要信息,如现有PNNI规程5.7.5节中提出的那样。情况2:接收节点是主控节点

这一情况覆盖下述场合,其中初始化和主控位被设置为值零,该包的DS序列号等于所考虑节点的DS序列号(表明一种认可),而相邻对等点的节点ID小于该给定节点的节点ID。

在这一情况中,所考虑的节点是主控节点。一旦产生(完全)谈判完成事件28,主控节点必须采取下述一系列行动。首先,必须停止DSRxmt计时器。然后,所接收的数据库概要包的内容必须被认可为已被接收,然后以在现有PNNI协议中已知的方式处理这些内容,如在PNNI规程5.7.6节中第94和95页上在题头“交换状态”下解释的那样。DS序列号必须增加1,完全同步位设为值1,而初始化位必须设为值零。数据库概要包必须发送给从属节点,包中包括所考虑节点的那部分数据库概要信息,如现有PNNI规程的5.7.5节中提出的那样,而且DS Rxmt计时器必须重新启动。再同步无效计时器被启动,如果该计时器尚未运行的话。

如果上述情况1和情况2没有一个是可适用的,则所考虑的包被认证其是否是一个重复包。如果该包是一重复包,则被忽略。否则,如果该包不是一个重复包,则在再同步过程中已经出错,于是有限状态机10必须以DS Mismatch事件去执行。

如果一节点处于完全状态20而且所收到的数据库概要包未设置其完全同步位,则预期所考虑的包是重复包。完全同步位未被设置的任何其他数据库概要包将产生DS Mismatch事件,从而使有限状态机10返回谈判状态14,于是所考虑的两个相邻对等点再同步它们的数据库。根据本发明,在接收的数据库概要包未设置完全同步位时,后跟的过程与已知的交换状态16中后跟的过程相同,只是那些作为序列中的下一个被接收的包必定产生DS Mismatch事件,而且对这些包的进一步处理被停止。接收带有不一致的主控位或初始化位设为值1的包也必定产生DS Mismatch事件。

如果该节点的状态是完全交换状态22,则根据本发明,通过执行下述条件步骤来处理所收到的数据库概要包。当这些条件步骤中任何一个被测试为“真”时,其余步骤均不需被测试或执行。

1)如果一数据库概要包被作为主控节点的节点接收,如果该包被确定为是重复包,则该包的处理被停止。对重复包的确定先前曾讨论过。

2)另一方面,如果该节点是作为从属节点,则对接收一重复包的响应是再传送发送给该主控节点的最后一个数据库概要包,然后停止处理所收到的数据库概要包。

3)如果在任何事件上中该包都不是一个重复包,而主控位的状态与连接的主控/从属状态不一致,则产生DS Mismatch事件,而且停止对该包的处理。

4)当主控位一致但未设置完全同步位时,将产生DS Mismatch事件,并将停止对该包的处理。

5)如果先前列举的所有条件均已被测试为“假”,而初始化位被设置,则将产生DS再同步不匹配事件,并停止处理该包。

6)如果先前列举的所有条件均被测试为“假”,而该节点是主控节点,则该包被接收并进一步处理,如果该包的DS序列号等于该节点的DS序列号。这表明该包是序列中的下一个。在这种情况中的处理按下述方式完成。

DS Rxmt计时器被停止。在此之后,最近收到的数据库概要包的内容被认可为已经接收的包,然后其内容按现有PNNI协议中已知的方式进行处理,如PNNI规程5、7、6节中第94和95页上题头“交换”下解释的那样。然后DS序列号增加1。接下来,如果该节点已经发送了它的整个数据库概要包序列,而且所收到的包有其再次(more)位设为值零,那么,如果PTSE请求列表为空则产生(再)同步完成事件25,如果PTSE请求列表不为空则产生(完全)交换完成事件26。如果该节点发送的前一个数据库概要包也有其再次(more)位设为零,则要确定该节点是否已发送了它的整个数据库概要包序列。如果这整个数据库概要包序列当未被接收,则一新的数据库概要包被发送到该从属节点并重新启动DS Rxmt计时器。

7)如果先前列举的所有条件均被测试为“假”,而该节点是从属节点,则该包被接收并进一步处理,如果该包的DS序列号比该节点的DS序列号大1。这表明该包是序列中的下一个。在这种场合该包的处理是根据下述两步过程进行的:

作为第一步,被认可为已经接收的数据库概要包的内容被以现有的PNNI协议中已知的方式进行处理,如PNNI规程5、7、6节中第94和95页上在题头“交换”下解释的那样。作为第二步,进行下述行动:DS序列号设置成所收到的包中出现的DS序列号。然后,一个数据库概要包被发送到主控节点。接下来,如果所收到的包有其再次(more)位设为零,而刚刚被传送的数据库概要包是空的而且它还有其再次(more)位设为零,则产生(再)同步完成事件25,如果PTSE请求列表为空的话。如果PTSE请求列表不为空,则执行(完全)交换完成事件26。

8)如果先前列举的所有条件均被测试为“假”,则产生DS匹配事件并停止数据库概要包的处理。

关于完全加载状态24,在这一状态的节点将已发送和接收了一个完整的数据库概要包序列。并带有设置的完全同步位。这样,只有在这一状态的节点所收到的数据库概要包会是重复包。所收到的没有请求再同步的数据库概要包必定产生DS Mismatch事件。这造成返回谈判状态14,于是所考虑的两个相邻对等点将根据已知的过程同步它们的数据库。当在完全加载状态24中接收数据库概要包时,后面跟着要进行的过程与完全交换状态22中后跟的过程相同,只是作为序列中的下一个所接收的包必须代之以产生DS Mismatch事件,并进一步停止对这些包的处理。接收带有不一致主控位的包也将产生DS Mismatch事件。带有初始化位作为唯一不一致位的任何包将产生DS再同步不匹配事件。

如前文提到的那样,根据本发明定义了一个附加的标志,用于其他均已知的现有PNNI协议数据库概要包。例如,在数据库概要包的已知标志字段中的位号13可用于定义这一新的标志,为了方便可把它称作完全同步(SF)位。这一位由进行数据库再同步的两个节点之一设置成值1,以使这一交换过程区别于现有PNNI协议中已知的同步。

本领域技术人员将会理解,在一些情况中,具有拓扑状态路由协议的网络可能与其他协议相关联,这些协议对数据库同步过程是必不可少的。例如,在现有的PNNI协议这一具体情况中,在应用本发明时必须保证招呼(Hello)协议不因行动从有效路由实体切换到待用路由实体而被中断。如果不是这样,与有故障的有效路由实体相关联的网络节点便会仅仅由于活动切换而被宣布为不可达到的节点。这样,在诸如PNNI协议这样的网络协议情况中,必须把与有效路由实体相关联的本地状态信息提供给待用路由实体,从而在从故障中恢复的过程中每个实体将共享对本地状态信息的共同理解。例如,这可通过在所考虑的故障发生之前周期性地从有效路由实体向待用路由实体传送本地状态信息来实现。

下面将参考图4描述本发明,涉及一通信网络中的热冗余网络部件56,这种通信网络如包含网络域30和55的网络2(图1)。该网络部件56还可实现一个逻辑组节点,如节点36。网络部件56包含一个输入/输出端口100,借助切换布线71,通过该端口100建立网路连接76的路由。在有效路由实体68发生故障时,网络连接76a可以重新建立路由或如在76b从有效路由实体68转移到待用路由实体70。对有效路由实体68和待用路由实体70都提供了对拓扑状态信息的访问,该拓扑状态信息是关于具有网络域30和55的通信网络2的。例如,所考虑的拓扑状态信息可由有效路由实体68和待用路由实体70通过各自的拓扑数据库74a和74b进行访问。

根据本发明,一个热冗余网络部件(如节点56)的有效路由实体68和待用路由实体70二者可以彼此共享拓扑状态信息,这是在发生影响有效路由实体68的故障之前,通过以预先确定的时间间隔从有效路由实体68向待用路由实体70周期性地传送拓扑状态信息实现的。另一种作法是,可以在有效路由实体68以事件驱动方式接收新数据时进行这种传送。再有,待用路由实体70可以代之以节点56外部提供的拓扑状态信息来周期性地更新,例如通过外部源通信69a。本领域技术人员将会理解,还可能使本发明的方法适用于具有待用路由实体70的节点56,而该待用路由实体并不周期性地以拓扑状态信息进行更新。本领域技术人员还将理解,根据已知的技术,可以实现有效和待用路由实体68、70之间的拓扑信息共享以及周期性更新待用路由实体70的拓扑状态信息的任何其他机制。

如在热冗余技术领域已知的那样,不仅希望周期性地更新待用路由实体70的拓扑状态信息,还希望本地状态信息也可以周期性地传送到待用路由实体70。例如,在PNNI协议中,这种本地状态信息是利用招呼(Hello)协议传送的。如前文解释过的那样,这是为了防止网络节点只是由于产生数据库再同步需要的活动切换而不宣布一个有故障的节点在路由上是不可达到的。所以,在所考虑的活动切换之后恢复了的节点将保持它的本地状态信息。这种本地状态信息的传送方式将类似于先前关于拓扑状态信息所描述的传送方式。

当一个节点56(以及它实现的逻辑节点36)先前已使其拓扑数据库与其相邻的对等点同步,而且还希望再同步这些数据库时,不论是从本地故障恢复到有效路由实体68或者使其复位,本发明的实现都将允许该节点发起与其相邻节点的拓扑数据库数据交换过程,而不会造成终止通告本地状态信息,不论该信息从属于与有效路由实体68的故障相关联的节点,还是从属于与有效路由实体68的故障相关联的节点紧邻的每个节点。这种紧邻节点,如这里所用的术语那样,包括物理的和逻辑的两种相邻节点。例如,在PNNI协议中,在数据库交换过程中,在从有效路由实体68的故障中恢复过来所涉及的各种节点当中的链路通告将不被终止。这样,根据本发明,与有效路由实体68的故障相关联的节点将不取消对本地状态信息的通告。再有,根据本发明,与有效路由实体68的故障相关联的节点的紧邻节点也将类似地不取消通告从属于每个这种相邻节点的各自的本地状态信息。

上文描述的本发明的方法可以在有效路由实体68和待用路由实体70每个当中通过各自的数据库再同步处理器78a和68b实现,它可用硬件、软件或二者的组合来实现。同步处理器78a和78b完成先前描述的各种过程,这些过程涉及节点56和它的每个罗低级别紧邻节点57、59、60之间的拓扑状态信息交换,以及节点36和它的每个较高级别紧邻节点34、35、37、38之间的拓扑状态信息交换。虽然上文已描述的内容对有效路由实体68和待用路由实体70每个都提供了各自的同步处理器78a和78b,但本领域技术人员将会理解,也可由这两个装置共享单个同步处理器。

这样,本发明定义了一节点和其紧邻的物理或逻辑节点之间的数据库再同步机制,在同步过程中该机制使这些节点不改变它们对本地状态信息的通告。这将保证所考虑的这些节点之间的同步对于该网络中的所有其他节点(即它们不是有故障节点的紧邻物理或逻辑节点)是透明的。有故障节点的紧邻物理或逻辑节点才是唯一需要被调用参与再同步的节点。

所以,根据本发明,试图解决已知的先有技术在数据库再同步方面存在的某些问题,这些问题可能在热冗余恢复期间发生。在有故障节点是一个拥有特异的责任的有效路由实体的情况中,该路由实体没有任何一个特异的责任需要恢复过程中被放弃,在这个意义上,有效路由实体的故障一般不会破坏路由系统或网络。因此,不需要其他节点承担有故障实体的那些特异的责任。例如,OSPF协议的后备指定路由器不会成为指定路由器,在PNNI协议下不会在网络层次结构的任何级别选出新的对等组领导来取代有故障的特异的网络部件。

因为在本发明中的故障检测和故障恢复是在有故障节点内发生的,而且只针对物理或逻辑的紧邻节点或装置,所以预期根据本发明的恢复过程不会象先有的热冗余恢复技术那样占用时间。再有,如果预期除上文描述的与有故障网络实体紧邻的网络装置外不会涉及其他网络装置,那么参与恢复的网络部分便不会象先有技术或装置的情况那样广泛。在恢复的时间和拓扑范围方面所预期的这一好处对于有故障的节点通常是否承担特异的责任都是适用的。最后,网络带宽和与本发明的恢复过程相关联的处理要求会少于已知的故障恢复技术,这在于只有那些紧邻有故障部件的节点被牵涉到恢复过程之中。

虽然已经参考适于现有的PNNI协议的实现描述了本发明,通信网络领域的技术人员将会理解,本发明可以应用于或适应于其他拓扑状态协议。再有,尽管可以利用同步处理器来执行本发明的方法,但本方法的各个步骤可以用与网络部件关联的一个或多个其他装置或软件全部地或部分地完成,或者可以由与其关联的现有装置或软件来完成,它们可以被修改或者适应于与本发明一起使用。再有,虽然本发明是在热冗余恢复的情况中描述的,但本发明可以应用于故障恢复的其他场合,或者应用于每当一个节点先前已进行了拓扑数据库同步而希望再同步其拓扑数据库的时候。再有,本领域技术人员将会理解,对本发明的细节可以做各种修改,所有这些都在本发明的精神和范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号