CN100407681C - 用于取得rpr的最高保护状态的方法和装置 - Google Patents
用于取得rpr的最高保护状态的方法和装置 Download PDFInfo
- Publication number
- CN100407681C CN100407681C CN2006100586418A CN200610058641A CN100407681C CN 100407681 C CN100407681 C CN 100407681C CN 2006100586418 A CN2006100586418 A CN 2006100586418A CN 200610058641 A CN200610058641 A CN 200610058641A CN 100407681 C CN100407681 C CN 100407681C
- Authority
- CN
- China
- Prior art keywords
- node
- ring
- guard mode
- present node
- present
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供了一种用于取得包括多个节点的弹性分组环在保护升级中的最高保护状态的方法,其中,多个节点同时处于方向相反的第一环和第二环上;该方法包括以下步骤:步骤a,在第一环上顺序地遍历节点,直到遇到处于保护升级中的第一节点,读取第一节点的第一保护状态;步骤b,在第二环上顺序地遍历节点,直到遇到处于保护升级中的第二节点,读取第二节点的第二保护状态;步骤c,将第一保护状态和第二保护状态进行比较,以确定第一保护状态和第二保护状态中较高的保护状态;以及步骤d,将在步骤c中确定的保护状态确定为弹性分组环的最高保护状态。
Description
技术领域
本发明涉及通信领域,更具体而言,本发明涉及用于取得弹性分组环保护升级中远处节点(station)的最高保护状态的方法和装置。
背景技术
随着数据业务的迅速膨胀,对大多数电信运营商来说,城域传送网的数据处理能力成为大家关注的焦点。而无论是IP over ATM(Asynchronous Transfer Mode,异步传输模式)、IP over SDH(Synchronous Digital Hierarchy,同步数字体系)、还是城域Ethernet,都有各自的不足之处。采用尽力传送机制的以太网IP数据业务的不足之处在于缺乏弹性、缺少QoS(Quality of Service,服务质量管理)保证和良好的带宽管理;技术已经十分成熟同时又牢牢控制电信运营领域的SDH技术的不足之处在于带宽利用率不高,不能良好地适应突发性的数据业务。因此,一种为优化IP数据包传输的新的MAC(Media Access Control,介质接入控制)层协议,即,弹性分组环RPR(Resilient Packet Transport)被提上议程,该技术以其技术的先进性、投资的有效性、性能的优越性、支持业务的多样性,显现出了其独特的优势。
弹性分组环技术是一种二层环网技术,它为宽带IP城域网运营商提供了一个良好的组网方案,它采用双纤反向光纤传输环的拓扑结构,两根光纤上可以分别以正反时针方向同时传输数据或控制分组。弹性分组环运行时在一条光纤上既可以发送数据,同时可以传输同向控制信号而不依赖于反相光纤,因此弹性分组环的内外两根光纤都可以同时传输数据或控制信号,利用效率有所提高。弹性分组环中的公平性与动态带宽管理特性能够保证弹性分组环中的节点公平地共享整个环网的带宽资源。通过自动拓扑发现、环网带宽的公平管理,可靠的保护倒换技术的协同作用,弹性分组环能够智能化地自动调整网罗运行状态,确保RPR中分组数据业务的正常传输。目前IEEE 802.17工作组正在进行弹性分组环的标准化工作。
以下参照图1至图4来详细说明弹性分组环。
图1示出了一种典型的弹性分组环的拓扑结构。
参照图1,RPR为互逆双环拓扑结构,设备上每个RPR接口外接一对光纤,形成双环,环上的每段光路工作在同一速率上。不同的是,RPR的双环都能够传送数据,两个环被分别称为0环(Ringlet0,顺时针)和1环(Ringlet 1,逆时针)。
RPR 0环的数据传送方向为顺时针方向,1环的数据传送方向为逆时针方向。每个RPR节点与设备的RPR物理接口对应,需要配置一个48位的MAC地址,同时网络层分配一个IP地址作为标识。
RPR的数据处理包括以下操作:
上环(insert):节点设备把从其他接口转发过来的报文插入到RPR的数据流中;
下环(copy):节点设备从RPR的数据流中接收数据,交给节点上层作相应处理;
过环(transit):将途经本节点的数据流继续转发到下一个节点;
剔除(strip):使途径本节点的数据不再往下转发。
图2示出了RPR实现单播数据传送的示意图。
参照图2,RPR实现单播数据传送如下:在源节点处,采用上环操作,使数据承载到0环或1环中;目的节点执行数据下环和数据剔除操作;而中间节点只执行数据过环操作。
图3示出了RPR中链路出现故障时的处理。
RPR能够实现电信级可靠性的一个重要原因就是其故障自愈能力非常强,能够实现50ms时间内的故障保护切换。
参照图3,当两节点间的链路出现故障时,故障链路两端的节点内部把0环和1环连接在一起(切换过程小于50ms),重新形成一个新的环网,不会影响数据的传送。
图4示出了RPR的数据帧格式。
RPR依靠目的MAC地址来转发报文,即在RPR接口中通过目的MAC地址查找转发表得到出接口,转发表项是通过学习MAC地址的方法来建立的(与交换机类似)。
回到图3,现在详细说明PRP的保护机制。RPR的故障自愈能力是基于不同等级业务的自动保护切换机制。如图3所示,从局部来讲,当某一节点或某段线路发生故障时,它的两侧的邻居节点迅速将自己的内环和外环进行连接(即,所谓的环回),首先根据业务等级将被保护的数据流在内环和外环之间倒换,然后再将保护级别低的和无保护的业务倒换。同时,向其它节点广播故障信息,其它节点再收到此故障信息后,也迅速将需通过故障点的被保护数据变更传输方向(绕开)以避开故障点(小于50毫秒)。此时,自动保护切换事件发生,进入到自动拓扑发现模式。
从全局来讲,因为环中的所有节点通过自动拓扑发现模式都即时更新了它们的网络拓扑结构图和线路质量状态信息表,故每个节点可以迅速地根据新拓扑结构和线路质量状态进行数据传送的重新路由选择。这样,整个网络的弹性恢复能力从全局上得到极大提高,不仅可以根据业务等级重点迅速恢复被保护的数据,而且也可以快速恢复保护级别低的和无保护的业务数据。通过这种基于不同等级业务的自动保护切换机制,RPR可以实现多等级可靠的QoS服务。
当RPR自动保护启动时,进入保护状态,该保护状态是指,包括节点故障和手工配置在内的节点实际状态,这些状态包括FS(force switch,强制切换)/SF(signal failure信号失败)/SD(signaldeterioration信号劣化)/MS(manual switch,手工切换)/WTR(waitfor restart,等候恢复)/IDLE(空闲),其中优先级为从高到低。其中,环上每个节点的两侧都有独立的保护状态,实际保护状态为远程最高保护状态、邻居保护状态、本地保护状态三者的计算结果。
为了提供弹性、快速的保护恢复能力,在弹性分组环上节点的拓扑发生变化、保护状态发生变化、或边状态发生变化时,需要计算本地的保护状态、邻居的保护状态、或远程的最高保护状态,从而正确地进行本地的保护升级,并进而导致整环拓扑正确收敛。对此,RFC802.17-2004规定了有关远程最高保护状态的计算方法。
RFC802.17-2004规定了有关远程最高保护状态的计算方法,但该方法存在以下问题:(1)该计算方法不能正确返回远程的最高保护状态;(2)未能取得边节点的保护状态;(3)存在无效语句。
另外IEEE 802.17Maintenance Request 0009、0046、0054分别对该计算方法做了改进。但是IEEE 802.17Maintenance Request0009、0046、0054的改进存在以下问题(1)效率比较低;(2)在某些情况下例如报文乱序到达时,仍然存在不能返回正确状态的问题。
下面根据图5来说明相关技术的远程最高保护状态的计算方法。
图5示出了相关技术的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的原理的流程图。
从图5中可以看到,在相关技术中,取得分组交换环上远处节点的最高保护状态是根据环向(0环和1环)来分别进行的(步骤S102、S104、S106、和S108),其中,拓扑的学习依赖于TP(拓扑和保护)报文的接受,而TP报文则根据环向分别地接收,从而分别形成0环和1环的拓扑;0环和1环单独进行保护状态计算,彼此依赖、互相影响;而且TP报文有可能乱序到达,例如离本节点1跳的节点的TP报文可能比离本节点2跳的TP收到的还要晚,这样,在计算时,可能只要遇到节点1跳就认为已经是无效节点而终止,从而不能正确地取得弹性分组环在保护升级中远处节点最高保护状态。
因此,需要一种计算方法,能够正确取得弹性分组环保护升级中远处节点最高保护状态。
发明内容
本发明旨在提供一种用于取得弹性分组环保护升级中远处节点最高保护状态的方法和装置,其基本上解决了由于现有技术的局限和缺陷而造成的一个或多个问题。
为了实现上述目的,根据本发明的一个方面,提供了一种用于取得包括多个节点的弹性分组环在保护升级中的最高保护状态的方法,其中,多个节点同时处于方向相反的第一环和第二环上;该方法包括以下步骤:步骤a,在第一环上顺序地遍历节点,直到遇到处于保护升级中的第一节点,读取第一节点的第一保护状态;步骤b,在第二环上顺序地遍历节点,直到遇到处于保护升级中的第二节点,读取第二节点的第二保护状态;步骤c,将第一保护状态和第二保护状态进行比较,以确定第一保护状态和第二保护状态中较高的保护状态;以及步骤d,将在步骤c中确定的保护状态确定为弹性分组环的最高保护状态。
步骤a可以包括以下步骤:步骤a1,将多个节点中的一个节点确定为第一起始节点,使第一变量等于级别最低的正常状态,在第一环上从第一起始节点开始遍历;步骤a2,对正在遍历的当前节点依次地判断从第一预设条件组中选择的至少一个条件,如果任一条件判断为是,则进行到步骤b,否则执行步骤a3;以及步骤a3,如果当前节点具有保护状态,则使第一变量等于当前节点的保护状态,并进行到步骤b,否则将当前节点在第一环上的下一节点设置为用于遍历的当前节点,然后回到步骤a2。
第一预设条件组可以包括以下条件:当前节点是否非法、当前节点是否为第一起始节点、当前节点是否为第一起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、和当前节点是否有边。
在步骤a中对正在遍历的当前节点依次地判断从第一预设条件组中选择的至少一个条件可以包括以下次序:判断当前节点是否非法;判断当前节点是否为第一起始节点;判断当前节点是否为第一起始节点在另一个环上的邻居;判断当前节点在当前环上是否有IDLE边;判断当前节点是否为不可用节点;判断遍历节点数是否等于预设的阈值;以及判断当前节点是否有边。
步骤b可以包括以下步骤:步骤b1,将节点中的一个节点确定为第二起始节点,使第二变量等于正常状态,在第二环上从第二起始节点开始遍历;步骤b2,对正在遍历的当前节点依次地判断从第二预设条件组中选择的至少一个条件,如果任一条件判断为是,则进行到步骤c,否则执行步骤b3;以及步骤b3,如果当前节点具有保护状态,则使第二变量等于当前节点的保护状态,并进行到步骤c,否则将当前节点在第一环上的下一节点设置为用于遍历的当前节点,然后回到步骤b2。
第二预设条件组可以包括以下条件:当前节点是否非法、当前节点是否为第二起始节点、当前节点是否为第二起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、当前节点是否有边。
在步骤b2中对正在遍历的当前节点依次地判断从第二预设条件组中选择的至少一个条件可以包括以下次序:判断当前节点是否非法;判断当前节点是否为第二起始节点;判断当前节点是否为第二起始节点在另一个环上的邻居;判断当前节点在当前环上是否有IDLE边;判断当前节点是否为不可用节点;判断遍历节点数是否等于预设的阈值;以及判断当前节点是否有边。
步骤c可以包括以下步骤:将第一变量与第二变量比较,使第一变量等于第一变量与第二变量中较大的一个。
第二起始节点与第一起始节点可以是同一个节点。
第二起始节点可以是当前节点。
第一环可以是弹性分组环的顺时针方向的0环,第二环可以是弹性分组环的逆时针方向的1环。
第一环可以是弹性分组环的逆时针方向的1环,第二环可以是弹性分组环的顺时针方向的0环。
遍历可以是在拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
拓扑数据库遵守弹性分组环协议。
根据本发明的另一个方面,提供了一种用于取得包括多个节点的弹性分组环在保护升级中的最高保护状态的装置,其中,多个节点同时处于相反方向的第一环和第二环上;该装置包括:第一环遍历模块,其连接至第二环遍历模块,用于在第一环上顺序地遍历节点,直到遇到处于保护升级中的第一节点,读取第一节点的第一保护状态;第二环遍历模块,其连接至比较模块,用于在第二环上顺序地遍历节点,直到遇到处于保护升级中的第二节点,读取第二节点的第二保护状态;比较模块,其连接至级别确定模块,用于将第一保护状态和第二保护状态进行比较,以确定第一保护状态和第二保护状态中较高的保护状态;以及级别确定模块,用于将比较模块所确定的保护状态确定为弹性分组环的最高保护状态。
第一环遍历模块可以包括:第一初始化模块,其连接至第一判断模块,用于将多个节点中的一个节点确定为第一起始节点,使第一变量等于级别最低的正常状态,在第一环上从第一起始节点开始遍历;第一判断模块,其连接至第一读取模块,用于对正在遍历的当前节点依次地判断从第一预设条件组中选择的至少一个条件,如果任一条件判断为是,则进行到第二环遍历模块,否则执行第一读取模块;以及第一读取模块,用于当前节点具有保护状态,则使第一变量等于当前节点的保护状态,并进行到第二环遍历模块,否则将当前节点在第一环上的下一节点设置为用于遍历的当前节点,然后回到第一判断模块。
第一预设条件组可以包括以下条件:当前节点是否非法、当前节点是否为第一起始节点、当前节点是否为第一起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、和当前节点是否有边。
第一判断模块对正在遍历的当前节点依次地判断从第一预设条件组中选择的至少一个条件可以包括以下次序:判断当前节点是否非法;判断当前节点是否为第一起始节点;判断当前节点是否为第一起始节点在另一个环上的邻居;判断当前节点在当前环上是否有IDLE边;判断当前节点是否为不可用节点;判断遍历节点数是否等于预设的阈值;以及判断当前节点是否有边。
第二环遍历模块可以包括:第二初始化模块,其连接至第二判断模块,用于将多个节点中的一个节点确定为第二起始节点,使第二变量等于正常状态,在第二环上从第二起始节点开始遍历;第二判断模块,其连接至第二读取模块,用于对正在遍历的当前节点依次地判断从第二预设条件组中选择的至少一个条件,如果任一条件判断为是,则进行到比较模块,否则执行第二读取模块;以及第二读取模块,用于如果当前节点具有保护状态,则使第二变量等于当前节点的保护状态,并进行到比较模块,否则将当前节点在第一环上的下一节点设置为用于遍历的当前节点,然后回到第二环遍历模块。
第二预设条件组可以包括以下条件:当前节点是否非法、当前节点是否为第二起始节点、当前节点是否为第二起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、当前节点是否有边。
第二判断模块对正在遍历的当前节点依次地判断从第二预设条件组中选择的至少一个条件可以包括以下次序:判断当前节点是否非法;判断当前节点是否为第二起始节点;判断当前节点是否为第二起始节点在另一个环上的邻居;判断当前节点在当前环上是否有IDLE边;判断当前节点是否为不可用节点;判断遍历节点数是否等于预设的阈值;以及判断当前节点是否有边。
比较模块可以包括:比较器,用于将第一变量与第二变量比较,使第一变量等于第一变量与第二变量中较大的一个。
第二起始节点与第一起始节点可以是同一个节点。
第二起始节点可以是当前节点。
第一环可以是弹性分组环的顺时针方向的0环,第二环可以是弹性分组环的逆时针方向的1环。
第一环可以是弹性分组环的逆时针方向的1环,第二环可以是弹性分组环的顺时针方向的0环。
遍历可以是在拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
拓扑数据库可以遵守弹性分组环协议。
通过上述技术方案,本发明实现了如下技术效果:
本发明对RFC802.17-2004有关远程最高保护状态的计算方法做了改进,使之在各种负载情况下都可以正确地取得远程最高保护状态,同时优化了算法和判断,提高了效率。
通过本发明,可以保证各种情况下都能取得远处节点的最高保护状态,而不依赖于报文接受顺序;从而保证可以在故障发生时,环上每个节点都能正确地计算保护状态,从而进行保护升级,保证整个环网收敛。本算法效率高:用通用算法完成了计算,无须对每种特殊情况单独处理。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种典型的弹性分组环的拓扑结构;
图2示出了RPR实现单播数据传送的示意图;
图3示出了RPR中链路出现故障时的处理;
图4示出了RPR的数据帧格式;
图5示出了相关技术的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的原理的流程图;
图6示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的原理的流程图;
图7示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的流程图;
图8示出了根据本发明的一个典型实施例的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的流程图;
图9示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置的原理的框图;
图10示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置的框图;以及
图11示出了根据本发明的一个典型实施例的用于计算弹性分组环保护升级中远处节点最高保护状态的装置的框图。
具体实施方式
现在将参考附图详细说明本发明。
图6示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的原理的流程图。
参照图6,在根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法中,取得分组交换环上远处节点的最高保护状态是根据遍历两个环向(0环和1环)来整体进行的(步骤S202、S204、和S206),其中,可以保证各种情况下都能取得远处节点的最高保护状态,而不依赖于报文接受顺序;从而保证可以在故障发生时,环上每个节点都能正确地计算保护状态,从而进行保护升级,保证整个环网收敛。
具体来说,该方法开始:
在步骤S202中,遍历0环,直到处于保护状态的一个节点,令Status1=该节点的保护状态;
在步骤S204中,遍历1环,直到处于保护状态的一个节点,令Status2=该节点的保护状态;
在步骤S206中,令Status=Max(Status1,Status2),即将Status1与Status2中保护级别较高的一个赋值给Status,然后进行到步骤S208;以及
在步骤S208中,确定Status作为弹性分组环的最高保护状态,然后该方法结束。
很明显的是,0环和1环的次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
很明显的是,遍历可以是在遵守弹性分组环协议的拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
下面将参照图7、图8来具体说明根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法。
图7示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的流程图。
具体来说,该方法开始:
在步骤S302中,将多个节点中的一个节点确定为第一起始节点,使Status1=正常状态,在0环上从第一起始节点开始遍历,然后进行到步骤S304;
在步骤S304中,对正在遍历的当前节点依次地判断以下条件中的一个或多个:当前节点是否非法、当前节点是否为第一起始节点、当前节点是否为第一起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、和当前节点是否有边,如果任一条件判断为是,则进行到步骤S308,否则执行步骤S306;
在步骤S306中,如果当前节点具有保护状态,则令Status1=当前节点在0环上的保护状态,然后进行到步骤S308,否则将当前节点在0环上的下一节点设置为用于遍历的当前节点,然后回到步骤S304;
在步骤S308中,将多个节点中的一个节点确定为第二起始节点,使Status2=正常状态,在1环上从第二起始节点开始遍历,然后进行到步骤S304;其中,第二起始节点与第一起始节点可以是同一个节点,也可以是当前节点。
在步骤S310中,对正在遍历的当前节点依次地判断以下条件中的一个或多个:当前节点是否非法、当前节点是否为第二起始节点、当前节点是否为第二起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、和当前节点是否有边,如果任一条件判断为是,则进行到步骤S314,否则将当前节点在1环上的下一节点设置为用于遍历的当前节点,然后回到步骤S312;
在步骤S312中,如果当前节点具有保护状态,则令Status2=当前节点在1环上的保护状态,然后进行到步骤S314,否则将当前节点在1环上的下一节点设置为用于遍历的当前节点,然后回到步骤S310;
在步骤S314中,令Status=Max(Status1,Status2),然后进行到步骤S316;以及
在步骤S316中,确定Status作为弹性分组环的最高保护状态,然后该方法结束。
很明显的是,0环和1环的次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
很明显的是,遍历可以是在遵守弹性分组环协议的拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
图8示出了根据本发明的一个典型实施例的用于计算弹性分组环保护升级中远处节点最高保护状态的方法的流程图。
在本实施例中,用循环嵌套的方式来实现图6以及图7中的遍历步骤。
具体来说,该方法开始:
在步骤S402中,进入本节点,然后进行到步骤S404;
在步骤S404中,设置本节点为当前节点,然后进行到步骤S406;
在步骤S406中,令Status_temp=当前节点在1环上的保护状态,然后进行到步骤S408;
在步骤S408中,令Status=Status_temp,然后进行到步骤S410;
在步骤S410中,将当前环向设置为0环,然后进行到步骤S412;
在步骤S412中,开始遍历当前环,然后进行到步骤S414;
在步骤S414中,开始遍历当前节点,然后进行到步骤S416;
在步骤S416中,判断当前节点是否非法,如果为“否”则进行到步骤S418,如果为“是”则进行到步骤S436;
在步骤S418中,判断当前节点是否为本节点,如果为“否”则进行到步骤S420,如果为“是”则进行到步骤S436;
在步骤S420中,判断当前节点是否为本节点在另一个环上的邻居,如果为“否”则进行到步骤S422,如果为“是”则进行到步骤S436;
在步骤S422中,判断当前节点是否为不可用节点,如果为“否”则进行到步骤S424,如果为“是”则进行到步骤S436;
在步骤S424中,判断遍历节点数是否等于阈值,如果为“否”则进行到步骤S426,如果为“是”则进行到步骤S436;
在步骤S426中,判断当前节点在当前环向上是否有IDLE边,如果为“否”则进行到步骤S428,如果为“是”则进行到步骤S436;
在步骤S428中,判断当前节点是否有边,如果为“否”则进行到步骤S430,如果为“是”则进行到步骤S436;
在步骤S430中,令Status_temp=当前节点的保护状态,然后进行到步骤S432;
在步骤S432中,令Status=Max(Status,Status_temp),然后进行到步骤S434;
在步骤S434中,设置当前节点在当前环向上的下一节点为当前节点,然后返回到步骤S414;
在步骤S436中,判断当前环向是否为1环,如果为“否”则进行到步骤S438,如果为“是”则进行到步骤S440;
在步骤S438中,将当前环向设置为1环,然后返回到步骤S412;以及
在步骤S440中,输出Status作为弹性分组环的最高保护状态,然后该方法结束。
即,该计算方法为:首先保存另一个环上本地的保护状态;然后进行双环遍历,先0环,后1环;不遍历边上游的保护状态,每环遍历时,遍历节点直到遇到不可用节点,或者回到原节点跳出循环;计算邻居远端区间的保护状态;如果到达IDLE边,则由邻居节点的报告决定保护状态;如果遇不可用节点或者遍历节点数目超过上限,则跳出循环;如果遇到边节点,则跳出循环,同时取得边的保护状态;取出对应的保护状态(可能SD);两个节点的环上立即发现IDLE边的情况,遍历IDLE边的边区间的另一环上的保护状态;根据遍历结果输出远端最高优先级的保护状态;如果得到的最高优先级的保护状态不是WTR,则返回FS;避免MS配置被WTR状态屏蔽。
很明显的是,0环和1环的次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
此外,很显然的是,步骤S416至步骤S428的次序根据要求,可以有其他的组合,这不会超出本发明的精神范围,例如先S418,再S416,对于其他各种可能的组合,出于简明说明的目的,这里不再赘述。
很明显的是,遍历可以是在遵守弹性分组环协议的拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
此外,很显然的是,步骤S416至步骤S428列举了部分判断条件,根据要求,可以有其它判断条件的加入或取消其中的一个或多个判断条件,这不会超出本发明的精神范围,对于其他各种可能的判断条件,出于简明说明的目的,这里不再赘述。
图9示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置的框图。
参照图9,根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置100包括:
第一环遍历模块102,其连接至第二环遍历模块104,用于在第一环上顺序地遍历节点,直到遇到处于保护升级中的第一节点,读取第一节点的第一保护状态;
第二环遍历模块104,其连接至比较模块106,用于在第二环上顺序地遍历节点,直到遇到处于保护升级中的第二节点,读取第二节点的第二保护状态;
比较模块106,其连接至级别确定模块108,用于将第一保护状态和第二保护状态进行比较,以确定第一保护状态和第二保护状态中较高的保护状态;以及
级别确定模块108,用于将比较模块106所确定的保护状态确定为弹性分组环的最高保护状态。
很明显的是,0环和1环的次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
很明显的是,遍历可以是在遵守弹性分组环协议的拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
下面将参照图10、图11来具体说明根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的方法。
图10示出了根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置的框图。
参照图10,根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置200包括:
第一初始化模块202,将多个节点中的一个节点确定为第一起始节点,使Status1=正常状态,在0环上从第一起始节点开始遍历,然后进行到第一判断模块204;
第一判断模块204,对正在遍历的当前节点依次地判断以下条件中的一个或多个:当前节点是否非法、当前节点是否为第一起始节点、当前节点是否为第一起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、和当前节点是否有边,如果任一条件判断为是,则进行到第二初始化模块208,否则执行第一读取模块;
第一读取模块206,如果当前节点具有保护状态,则令Status1=当前节点在0环上的保护状态,然后进行到第二初始化模块,否则将当前节点在0环上的下一节点设置为用于遍历的当前节点,然后回到第一判断模块204;
第二初始化模块208,将多个节点中的一个节点确定为第二起始节点,使Status2=正常状态,在1环上从第一起始节点开始遍历,然后进行到第二判断模块210;其中,第二起始节点与第一起始节点可以是同一个节点,也可以是当前节点。
第二判断模块210,对正在遍历的当前节点依次地判断以下条件中的一个或多个:当前节点是否非法、当前节点是否为第二起始节点、当前节点是否为第二起始节点在另一个环上的邻居、当前节点是否为不可用节点、遍历节点数是否等于预设的阈值、当前节点在当前环上是否有IDLE边、和当前节点是否有边,如果任一条件判断为是,则进行到比较模块214,否则执行第二读取模块212;
第二读取模块212,如果当前节点具有保护状态,则令Status1=当前节点在0环上的保护状态,然后进行到比较模块214,否则将当前节点在1环上的下一节点设置为用于遍历的当前节点,然后回到第二判断模块210;
比较模块214,令Status=Max(Status1,Status2),然后进行到级别确定模块216;以及
级别确定模块216,确定Status作为弹性分组环的最高保护状态。
很明显的是,0环和1环的次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
很明显的是,遍历可以是在遵守弹性分组环协议的拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
图11示出了根据本发明的一个典型实施例的用于计算弹性分组环保护升级中远处节点最高保护状态的装置的框图。
参照图11,根据本发明的用于计算弹性分组环保护升级中远处节点最高保护状态的装置300包括:
第一初始化模块302,其用于进入本节点,并连接至第二初始化模块304;
第二初始化模块304,其用于设置本节点为当前节点,并连接至第三初始化模块306;
第三初始化模块306,其用于今当前最高保护状态Status_temp=当前节点在第二环上的保护状态,并连接至第四初始化模块308;
第四初始化模块308,其用于令最高保护状态Status=Status_temp,并连接至第五初始化模块310;
第五初始化模块310,其用于将当前环设置为第一环,并连接至环遍历模块312;
环遍历模块312,其用于开始遍历当前环,并连接至节点遍历模块314;
节点遍历模块314,其用于开始遍历当前节点,并连接至第一判断模块316;
第一判断模块316,其连接至第二判断模块318和第八判断模块336,用于判断当前节点是否非法,如果为否则执行第二判断模块318,如果为是则执行第八判断模块336;
第二判断模块318,其连接至第三判断模块320和第八判断模块336,用于判断当前节点是否为本节点,如果为否则执行第三判断模块320,如果为是则执行第八判断模块336;
第三判断模块320,其连接至第四判断模块322和第八判断模块336,用于判断当前节点是否为本节点在另一个环上的邻居,如果为否则执行第四判断模块322,如果为是则执行第八判断模块336;
第四判断模块322,其连接至第五判断模块324和第八判断模块336,用于判断当前节点是否为不可用节点,如果为否则执行第五判断模块324,如果为是则执行第八判断模块336;
第五判断模块324,其连接至第六判断模块326和第八判断模块336,用于判断遍历节点数是否等于阈值,如果为否则执行第六判断模块326,如果为是则执行第八判断模块336;
第六判断模块326,其连接至第七判断模块328和第八判断模块336,用于判断当前节点在当前环上是否有IDLE边,如果为否则执行第七判断模块328,如果为是则执行第八判断模块336;
第七判断模块328,其连接至读取模块330和第八判断模块336,用于判断当前节点是否有边,如果为否则执行读取模块330,如果为是则执行第八判断模块336;
读取模块330,其用于令当前最高保护状态Status_temp=当前节点的保护状态,并连接至比较模块332;
比较模块332,其用于令最高保护状态Status=Max(Status,Status_temp),并连接至节点步进模块334;
节点步进模块334,其用于设置当前节点在当前环上的下一节点为当前节点,并连接至节点遍历模块314;
第八判断模块336,其连接至环步进模块338和输出模块340,用于判断当前环是否为第二环,如果为否则执行环步进模块338,如果为是则执行输出模块340;
环步进模块338,其用于将当前环设置为第二环,并连接至环遍历模块312;以及
以及输出模块340,用于输出最高保护状态Status作为弹性分组环的最高保护状态。
很明显的是,0环和1环的次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
很明显的是,遍历可以是在遵守弹性分组环协议的拓扑数据库上进行的,拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示节点的名称,所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有IDLE边、是否有边的信息。
此外,很显然的是,第一判断模块、第二判断模块、第三判断模块、第四判断模块、第五判断模块、第六判断模块、和第七判断模块中的一个或多个的执行次序可以互换,这并不超出本发明的精神范围,对于其他可能的次序,本文中不再赘述。
此外,很显然的是,第一判断模块、第二判断模块、第三判断模块、第四判断模块、第五判断模块、第六判断模块、和第七判断模块可以根据要求取消其中一个或多个,或加入其他的判断模块,这并不超出本发明的精神范围,本文中对此不再赘述。
本发明对RFC802.17-2004有关远程最高保护状态的计算方法做了改进,使之在各种负载情况下都可以正确地取得远程最高保护状态,同时优化了算法和判断,提高了效率。
通过本发明,可以保证各种情况下都能取得远处节点的最高保护状态,而不依赖于报文接受顺序;从而保证可以在故障发生时,环上每个节点都能正确地计算保护状态,从而进行保护升级,保证整个环网收敛。本算法效率高:用通用算法完成了计算,无须对每种特殊情况单独处理。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种用于取得包括多个节点的弹性分组环在保护升级中的最高保护状态的方法,其中,所述多个节点同时处于方向相反的第一环和第二环上;所述方法的特征在于包括以下步骤:
步骤a,在所述第一环上顺序地遍历所述多个节点,直到遇到处于所述保护升级中的第一节点,读取所述第一节点的第一保护状态;
步骤b,在所述第二环上顺序地遍历所述多个节点,直到遇到处于所述保护升级中的第二节点,读取所述第二节点的第二保护状态;
步骤c,将所述第一保护状态和所述第二保护状态进行比较,以确定所述第一保护状态和所述第二保护状态中较高的保护状态;以及
步骤d,将在所述步骤c中确定的保护状态确定为所述弹性分组环的所述最高保护状态。
2.根据权利要求1所述的方法,其特征在于,所述步骤a包括以下步骤:
步骤a1,将所述多个节点中的一个节点确定为第一起始节点,使第一变量等于级别最低的正常状态,在所述第一环上从所述第一起始节点开始遍历;
步骤a2,对正在遍历的当前节点依次地判断从第一预设条件组中选择的至少一个条件,如果任一所述条件判断为是,则进行到所述步骤b,否则执行步骤a3;以及
所述步骤a3,如果所述当前节点具有保护状态,则使所述第一变量等于所述当前节点的保护状态,并进行到所述步骤b,否则将所述当前节点在所述第一环上的下一节点设置为用于遍历的所述当前节点,然后回到所述步骤a2;
其中,所述第一预设条件组包括以下条件:所述当前节点是否非法、所述当前节点是否为所述第一起始节点、所述当前节点是否为所述第一起始节点在另一个环上的邻居、所述当前节点是否为不可用节点、所述遍历节点数是否等于预设的阈值、所述当前节点在所述当前环上是否有空闲边、和所述当前节点是否有边。
3.根据权利要求2所述的方法,其特征在于,在所述步骤a2中对正在遍历的当前节点依次地判断从第一预设条件组中选择的至少一个条件包括以下次序:
判断所述当前节点是否非法;
判断所述当前节点是否为所述第一起始节点;
判断所述当前节点是否为所述第一起始节点在另一个环上的邻居;
判断所述当前节点在所述当前环上是否有空闲边;
判断所述当前节点是否为不可用节点;
判断所述遍历节点数是否等于预设的阈值;以及
判断所述当前节点是否有边。
4.根据权利要求2所述的方法,其特征在于,所述步骤b包括以下步骤:
步骤b1,将所述多个节点中的一个节点确定为第二起始节点,使第二变量等于所述正常状态,在所述第二环上从所述第二起始节点开始遍历;
步骤b2,对正在遍历的当前节点依次地判断从第二预设条件组中选择的至少一个条件,如果任一所述条件判断为是,则进行到所述步骤c,否则执行步骤b3;以及
所述步骤b3,如果所述当前节点具有保护状态,则使所述第二变量等于所述当前节点的保护状态,并进行到所述步骤c,否则将所述当前节点在所述第二环上的下一节点设置为用于遍历的所述当前节点,然后回到所述步骤b2;
其中,所述第二预设条件组包括以下条件:所述当前节点是否非法、所述当前节点是否为所述第二起始节点、所述当前节点是否为所述第二起始节点在另一个环上的邻居、所述当前节点是否为不可用节点、所述遍历节点数是否等于预设的阈值、所述当前节点在所述当前环上是否有空闲边、所述当前节点是否有边。
5.根据权利要求4所述的方法,其特征在于,在所述步骤b2中对正在遍历的当前节点依次地判断从第二预设条件组中选择的至少一个条件包括以下次序:
判断所述当前节点是否非法;
判断所述当前节点是否为所述第二起始节点;
判断所述当前节点是否为所述第二起始节点在另一个环上的邻居;
判断所述当前节点在所述当前环上是否有空闲边;
判断所述当前节点是否为不可用节点;
判断所述遍历节点数是否等于预设的阈值;以及判断所述当前节点是否有边。
6.根据权利要求4或5所述的方法,其特征在于,所述步骤c包括以下步骤:
将所述第一变量与所述第二变量比较,使所述第一变量等于所述第一变量与所述第二变量中较大的一个。
7.根据权利要求4所述的方法,其特征在于,所述第二起始节点与所述第一起始节点是同一个节点。
8.根据权利要求4所述的方法,其特征在于,所述第二起始节点是所述当前节点。
9.根据权利要求1至5、7、8中任一项所述的方法,其特征在于,所述第一环是所述弹性分组环的顺时针方向的0环,所述第二环是所述弹性分组环的逆时针方向的1环;或者所述第一环是所述弹性分组环的逆时针方向的1环,所述第二环是所述弹性分组环的顺时针方向的0环。
10.根据权利要求6所述的方法,其特征在于,所述第一环是所述弹性分组环的顺时针方向的0环,所述第二环是所述弹性分组环的逆时针方向的1环;或者所述第一环是所述弹性分组环的逆时针方向的1环,所述第二环是所述弹性分组环的顺时针方向的0环。
11.根据权利要求1至5、7、8中任一项所述的方法,其特征在于,所述遍历是在遵守弹性分组环协议的拓扑数据库上进行的,所述拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示所述节点的名称、所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有空闲边、是否有边的信息。
12.根据权利要求6所述的方法,其特征在于,所述遍历是在遵守弹性分组环协议的拓扑数据库上进行的,所述拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示所述节点的名称、所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有空闲边、是否有边的信息。
13.根据权利要求10所述的方法,其特征在于,所述遍历是在遵守弹性分组环协议的拓扑数据库上进行的,所述拓扑数据库包括多个数据项,每个数据项对应一个节点,其包括指示所述节点的名称、所处环向、地址、保护状态、是否非法、是否为不可用节点、是否有空闲边、是否有边的信息。
14.一种用于取得包括多个节点的弹性分组环在保护升级中的最高保护状态的装置,其中,所述多个节点同时处于相反方向的第一环和第二环上;所述装置的特征在于包括:
第一环遍历模块,其连接至第二环遍历模块,用于在所述第一环上顺序地遍历所述多个节点,直到遇到处于所述保护升级中的第一节点,读取所述第一节点的第一保护状态;
所述第二环遍历模块,其连接至比较模块,用于在所述第二环上顺序地遍历所述多个节点,直到遇到处于所述保护升级中的第二节点,读取所述第二节点的第二保护状态;
所述比较模块,其连接至级别确定模块,用于将所述第一保护状态和所述第二保护状态进行比较,以确定所述第一保护状态和所述第二保护状态中较高的保护状态;以及
所述级别确定模块,用于将所述比较模块所确定的保护状态确定为所述弹性分组环的所述最高保护状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100586418A CN100407681C (zh) | 2006-03-02 | 2006-03-02 | 用于取得rpr的最高保护状态的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100586418A CN100407681C (zh) | 2006-03-02 | 2006-03-02 | 用于取得rpr的最高保护状态的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1937563A CN1937563A (zh) | 2007-03-28 |
CN100407681C true CN100407681C (zh) | 2008-07-30 |
Family
ID=37954839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100586418A Expired - Fee Related CN100407681C (zh) | 2006-03-02 | 2006-03-02 | 用于取得rpr的最高保护状态的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100407681C (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479455A (zh) * | 2002-08-29 | 2004-03-03 | 华为技术有限公司 | 弹性分组环网的快速倒换方法 |
US20050249233A1 (en) * | 2003-01-15 | 2005-11-10 | Fujitsu Limited | Method for making effective use of bandwidth in multicast communication on ring network |
-
2006
- 2006-03-02 CN CN2006100586418A patent/CN100407681C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479455A (zh) * | 2002-08-29 | 2004-03-03 | 华为技术有限公司 | 弹性分组环网的快速倒换方法 |
US20050249233A1 (en) * | 2003-01-15 | 2005-11-10 | Fujitsu Limited | Method for making effective use of bandwidth in multicast communication on ring network |
Non-Patent Citations (2)
Title |
---|
弹性分组环保护倒换策略的研究. 柳立峰,韩冰,张雷,程时端.电子与信息学报,第27卷第6期. 2005 |
弹性分组环保护倒换策略的研究. 柳立峰,韩冰,张雷,程时端.电子与信息学报,第27卷第6期. 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN1937563A (zh) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7619987B2 (en) | Node device | |
US5495471A (en) | System and method for restoring a telecommunications network based on a two prong approach | |
US6011780A (en) | Transparant non-disruptable ATM network | |
CN104067577B (zh) | 用于网络路由的技术 | |
CN100391191C (zh) | 由于故障链路的检测而重新路由业务的交换机以及方法 | |
JP4167072B2 (ja) | リング・トポロジーに対する選択的保護 | |
JPWO2004095779A1 (ja) | リング間接続装置、及びデータ転送制御方法 | |
CN105978741A (zh) | 一种网络故障处理方法和处理系统 | |
CN100563145C (zh) | Rpr中的捆绑接口及其实现方法和装置 | |
CN100461739C (zh) | Rpr桥冗余保护方法及rpr桥环设备 | |
Lee et al. | Efficient ethernet ring mesh network design | |
CN106789521B (zh) | 一种环网故障倒换方法及环节点 | |
CN101674217B (zh) | 一种在mesh网络中实现永久环网保护的方法 | |
CN101808045B (zh) | 防止多生成树协议中老信息报文循环的方法及交换设备 | |
CN100403731C (zh) | 在堆叠设备域中通信传输路径的控制方法 | |
CN110417564A (zh) | 全网状的链路保护方法、装置、设备及存储介质 | |
US7342893B2 (en) | Path discovery in a distributed network management architecture | |
CN114024969B (zh) | 一种负载均衡方法、装置和系统 | |
CN100407681C (zh) | 用于取得rpr的最高保护状态的方法和装置 | |
Huynh et al. | RRR: Rapid ring recovery submillisecond decentralized recovery for ethernet ring | |
CN101110752B (zh) | 一种弹性分组环上感知邻居连通性的方法和装置 | |
JP5089363B2 (ja) | 通信システムおよびリングノード装置 | |
CN100426774C (zh) | 用于弹性分组环的闭环确定方法及其装置 | |
CN108322375A (zh) | 一种以太网环保护倒换方法、节点及系统 | |
US7301912B2 (en) | Method and apparatus for determining communication path over network by using spanning tree and circuit detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080730 Termination date: 20120302 |