专利名称::环网路由方法及环网节点的制作方法
技术领域:
:本发明涉及环网技术,尤其涉及环网路由方法及环网节点。技术背景环网由若干个串联在一起形成环状结构的节点组成,具有保护倒换迅速、故障自愈能力强等优点,在金融、教育等很多行业网络结构中得到了广泛应用。网络组建后,为了保证报文的正常转发,需要在网络中的各个节点之间运行路由协议,使节点学习到用来指导转发的路由信息。但是,目前现有技术中并没有专门针对环形组网的路由协议,现有的各种路由协议如开放式最短^各径优先协议(OSPF)、路由信息协议(RIP)、中间系统和中间系统通信协议(ISIS)等都是通用路由协议,它们适用于各种不同的组网环境,而非专门针对环网设计的。如果将这些通用路由协议应用在环网中,则不仅实现起来比较复杂,并且在环网链路发生故障时也不能够实现快速收敛。
发明内容有鉴于此,本发明的目的在于提供一种环网路由方法及环网节点,为环网提供一种简便的路由实现方式,且在链路发生故障时实现快速收敛。为达到上述目的,本发明提供的技术方案如下一种环网路由方法,所述环网由多个连接在一起的节点组成,该方法包括环上各节点获取环网拓朴信息,并获取环上其它节点从非环上学习到的环下路由信息,然后根据获取的环网拓朴信息及环下路由信息计算去往各路由的主备路径,并进一步生成FRR切换表;当环网链路出现故障时,根据FRR切换表进行主备路径切换。所述环上各节点获取环网拓朴信息的过程包括从环上主节点的一侧开始发送环路发现报文,环上从节点收到后将自身信息加入环路发现报文中并进行转发,当该报文从另一侧返回主节点时,主节点根据报文中携带的信息确定环网拓朴,并通过环路公告报文将环网拓朴信息发送给各从节点。所述环路发现报文中携带发送者标识、跳数和该报文经过的节点信息。所述通过环路公告报文将环网拓朴信息发送给各从节点的过程包括主节点从一侧发送环路公告报文,其中携带发送者标识、总跳数、跳数和环上所有节点信息;各从节点收到环路公告报文后,记录其中携带的信息,并将报文跳数加l后发送给下一个节点,直到该报文重新回到主节点为止。该方法进一步包括主节点周期性发送环路公告报文,从节点收到后判断自身是否包含在该报文携带的节点信息中,若否,则将收到的环路公告报文增加刷新标记后发送出去;主节点收到携带刷新标记的环路公告^艮文后,重新开始发送环路发现报文获取环网拓朴信息。所述环上各节点获取环网拓朴信息的过程包括环上各节点分别双向发送携带自身标识和跳数的第一公告报文,并在收到来自环上其它节点的第一公告报文后,将报文中的跳数加1并转发给下一个节点,直到该报文回到最初发出该报文的节点为止,然后,环上各节点根据收到的来自其它各节点的第一公告报文中携带的信息确定环网拓朴。所述获取环上其它节点爿t人非环上学习到的环下路由信息的过程包括环上各节点均从自身一侧发送路由通告报文,其中携带本节点标识和本节点从非环上学习到的环下路由信息;收到路由通告报文的节点记录其中携带的环下路由信息,并将收到的路由通告报文转发给下一个节点,直到路由通告报文回到最初发出该报文的节点为止。所述根据获取的环网拓朴信息及环下路由信息计算生成去往各路由的主备路径的过程包括针对各其它节点所对应的环下路由,环上各节点分别计算从左手连接到达该环下路由所对应间接下一跳的跳数和从右手连接到达该环下路由所对应间接下一跳的跳数,并从中选取跳数较少的作为去往该路由的主用路径,另一个作为备份路径;若二者跳数相等,则按照预先设定的规则从中选择一个作为主用路径,另一个作为备份路径。所述生成FRR切换表的过程包括针对环上的各条链路,节点分别判断该链路是否包含在本节点去往各间接下一跳的主用路径上,如果是,则在FRR切换表中标记当该链路出现故障时需执行主备路径切换;否则,标记不切换。该方法进一步包括环上各节点实时检测自身链路状态,当检测到一侧链路发生故障时,通过另一侧正常链路发送故障通告报文,通知其它节点环上存在故障链路;获知环上存在故障链路的节点根据FRR切换表进行主备路径切换。环上各节点根据第一公告报文的接收情况判断环网链路是否出现故障,如果只能从一个方向上收到同一节点的第一公告报文,则确定环网链路出现故障,并根据FRR切换表进行主备路径切换。方法进一步包括环上主节点定期从一侧发送环路通告报文,当故障恢复,主节点可以从另一侧回收到自己发出的环路通告报文时,主节点向外发送链路恢复报文,通知环上其它节点链路恢复正常;或者,环上各节点实时检测自身所连接的链路状态,并在检测到链路恢复正常后,向环上其它节点发送故障恢复报文,通知其它节点链路恢复正常。该方法进一步包括环上各节点判断是否能够从两个方向上收到同一节点的第一公告报文,如果是,则确定环网链路恢复正常。该方法进一步包括当环网链路恢复正常后,环上各节点恢复切换的主备路径。一种环网节点,位于由多个连接在一起的节点组成的环网中,该节点包括拓朴信息获取模块、路由信息获取模块、FRR产生模块、路由切换模块以及用于控制各模块的控制单元,其中,拓朴信息获取模块,用于获取环网拓朴信息;路由信息获取模块,用于获取环上其它节点从非环上学习到的环下路由信息;FRR产生模块,用于根据拓朴信息获取模块获取的环网拓朴信息及路由信息获取模块获取的环下路由信息计算生成去往各路由的主备路径,并进一步生成FRR切换表;路由切换模块,用于在环网链路出现故障时,根据FRR产生模块中的FRR切换表进行主备路径切换。所述FRR产生模块包括主备路径生成模块和FRR切换表生成模块,其中,主备路径生成模块,用于针对各其它节点所对应的环下路由,分别计算从左手连接到达该环下路由所对应间接下一跳的跳数和从右手连接到达该环下路由所对应间接下一跳的跳数,并从中选取跳数较少的作为去往该鴻^由的主用路径,另一个作为备份路径;若二者跳数相等,则按照预先设定的规则从中选择一个作为主用路径,另一个作为备份路径;FRR切换表生成模块,用于针对环上的各条链路,分别判断该链路是否包含在自身所在节点去往各间接下一跳的主用路径上,如果是,则在FRR切换表中标记当该《连路出现故障时需执行主备路径切换;否则,标记不切换。所述路由切换模块进一步用于在环网链路恢复正常时恢复切换的主备路径。由此可见,本发明结合环网拓朴的特点,提供了一种筒便有效的路由实现方式。并且,当环网链路出现故障时,采用本发明所提供的技术方案还能够实现快速收敛,将倒换时间控制在毫秒级。图1为本发明实施例中的环网结构示意图;图2为本发明实施例中的环网节点结构示意图。具体实施方式本发明的基本思想是结合环网拓朴的特殊性,提供一种简便的路由实现方式,并且根据环网拓朴计算出快速重路由(FRR)切换表,当环网链路发生故障时,根据FRR切换表迅速执行路由切换。为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。参见图1所示的环网结构,节点Rl、R2、R3、R4串联在一起构成一个环,连接各节点之间的链路分别为Ll、L2、L3、L4,且节点Rl、R2、R3、R4分别与各自的因特网协议(IP,InternetProtocol)网络IP1、IP2、IP3、IP4相连。为后续描述方便,下面首先明确几个概念。1)节点环路上每个路由器构成一个节点。每个节点都有两个连接,每个连接都有一个IP地址。2)节点标识(ID):环上每个节点都有一个独一无二的标识,用来唯一表示节点。图1中,环上各个节点的标识分别为Rl、R2、R3、R4,可以用各节点的IP地址来表示。3)连接环上各节点之间的链路称为连接,一个环网中有多少个节点,就有多少条连接,且每个节点对应两条连接,分别称为左手连接和右手连接。如图l中,共有4条连接Ll、L2、L3、L4,其中,L1既是R1的左手连接,也是R2的右手连接。一个连接两侧的节点所拥有的IP地址一般在一个网段内,如L1两侧的IP地址分别为202.10.1.1和202.10.1.2。3)主节点(Master):同一时刻,一个环上只有一个主节点,其余的节点称为从节点(Slave)。本发明提供的环网路由方法主要包括以下几个部分1、拓朴建立过程,主要用来使环上每个节点都获知整个环网拓朴;2、路由发布过程,主要用来在环上扩散各个节点的环下路由;3、FRR产生过程,主要是计算形成FRR保护通路,并生成FRR切换表;4、故障切换过程,主要是用来检测链路或节点故障,并迅速扩展到整个环路,环上节点根据FRR切换表,迅速切换路由;5、故障恢复过程,主要是故障恢复后,重新恢复切换路由。以上各个部分的具体实现方法都不只一种,本文只列出其中常见的一种或几种。具体介绍如下一、拓朴建立过程拓朴建立过程主要是为了让环上所有的节点都获知完整的环路情况,包括环上各个节点的标识和所在的位置。一种实现方法是从环上的主节点开始发送环路发现报文,沿途的从节点收到这种报文后,把自己的信息加入到其中,最终这个报文返回主节点,主节点就获知了完整的环信息,并把这种完整的信息通过环路公告报文再发送出来,沿途的从节点就可以和主节点一样获知了完整的环信息。参考图1,假设主节点为Rl。Rl从自身的左手连接发送环路发现报文,内容包括(Rl,1,R1},其中,第一个Rl代表发送者即主节点,1表示跳数,后面列出了主节点自己的ID:Rl。R2收到Rl发出的环路发现才艮文后,将报文中的跳数加1,并将自身标识也加入到报文中,然后将修改后的报文《R1,2,Rl、R2)发送给下一个节点R3;R3、R4对环路发现报文的处理同R2。最终,环i各发现才艮文从R1的右手连接回到Rl,其中携带的内容变更为(R1,4,Rl、R2、R3、R4},这样R1就可获知环上一共有4个节点,且依次为R1、R2、R3、R4。然后,Rl从左手连接发送环^各公告报文,内容包括(Rl,4,1,Rl、R2、R3、R4},其中,第一个Rl表示发送者即主节点,4表示环上一共4个节点,1表示跳数,后面的R1R4依次表示环上各个节点。R2收到该报文后,记录其中携带的信息,并将报文跳数加l后,形成(R1,4,2,Rl、R2、R3、R4},发送给下一个节点R3;R3、R4对该报文的处理同R2;最终回到Rl的环路/>告报文为{111,4,4,Rl、R2、R3、R4}。经过该处理过程后,环上的所有节点就都获知了图1所示的环网拓朴信息。由以上描述可见,由于环网的环形特性,主节点只需通过单向发送环路发现报文便可获取到整个环网的拓朴信息,实现起来非常简便;并且进一步地,主节点在获取了环网拓朴信息后,还可通过单向发送环路公告报文将整个环网拓朴信息迅速扩散到各个从节点,从而使环上的所有节点都能够很方便地获取到整个环网拓朴信息。另外,为了及时发现网络拓朴发生变化,主节点周期性发送环路公告报文,环上的各个节点根据该报文检查网络状况,如果网络拓朴发生变化(如某节点的ID发生改变或者环上存在新加入的节点),导致某节点发现环路公告报文携带的节点信息中没有自身的节点标识,则该节点就会在收到的环路公告报文中增加一个刷新标记再转发,主节点收到携带刷新标记的环路公告报文后,发起环路发现报文重新进行环路发现,直到环网拓朴稳定。比如,图l中,假设R3的ID发生改变,变为R3*,贝'jR3收到主节点Rl发出的环路公告报文后,就会将报文修改为(R1,4,3,Rl、R2、R3、R4,Flag=刷新},然后将修改后的报文发送给R4,最终该报文通过R4回到主节点Rl,Rl收到携带刷新标记的报文后,重新进行环路发现,直到拓朴稳定。拓朴建立过程的另一种实现方法是不必区分环上的主节点或从节点,环上的每个节点都定期地分别从左手连接和右手连接发送携带自身标识和跳数的第一公告报文,并在收到来自环上其它节点的第一公告报文后,将报文中的跳数加1并转发给下一个节点,直到该报文回到最初发出该报文的节点为止,然后,环上各节点根据收到的来自其它各节点的第一公告报文中携带的信息确定环网拓朴。下面结合图l举例进行说明。以R2为例,它会从右手发送(R2,1}这样的第一公告报文,Rl从左手到这种报文时,将其中携带的跳数加1形成(R2,2},然后再将(R2,2}从右手转发出去;R4、R3对该报文的处理同Rl。最终,该报文从R3返回到R2,形如《R2,4},R2从左手回收到该报文后,不再继续转发,直接丢弃。另外,R2也会从左手发送第一公告报文(R2,1},该报文在环上的传递过程与上述过程同理,只不过方向相反。环上其它节点发送第一公告报文的处理同R2,这里不再——赘述。对于环上的任意一个节点来说,在收到了环上其它各节点发出的第一公告报文后,它就可以根据这些报文中携带的信息构建出完整的环网拓朴。比如,以R3为例,R3会从右手收到(R2,1},从左手收到(R2,3},这样R3就可获知环上一共有1+3=4跳,即共有4个节点,且R2在距离自己右手l跳、左手3跳的位置;并且,R3会从右手收到(R1,2},从左手收到(Rl,2},这样R3同样可获知环上共有2+2=4跳,且R1在距离自己右手2跳,左手2跳的位置;另外,R3还会从右手收到(R4,1},从左手收到(R4,3},这样R3同样可获知环上共有3+1=4跳,且R4在距离自己右手3跳,左手1跳的位置。最终,可以在R3上形成一张如表1所示的环上节点跳数表。环上节点左手跳数右手跳数<table>tableseeoriginaldocumentpage13</column></row><table>表1二、3各由发布过程获取了环网拓朴信息后,就可以开始路由发布过程。路由发布过程实际上就是环上各个节点把自己从非环上获取的环下路由信息(可能是从非环上接口上运行的其他路由协议获取的路由信息)发布到环的各个节点上,使各个节点都能够获取完整的路由信息。一种实现方法是,环上各个节点发送自己的路由通告报文。比如,图l中,R2从自己左手连接向外发送路由通告报文,其中携带的内容包括(R2,IP2},其中,R2代表发送者,表示后面的这些路由都是R2发布的;IP2代表R2从非环路径上学习到的所有路由信息的集合,一般IP/Mask形式保存,具体如图1的组网时,可以表示为122.0.0.0/8,135.110.0.0/16,135.120.0.0/16,...这样一个列表,如果路由信息太多,一个报文装不下时,可以使用多个路由通告报文。R3收到R2发出的路由通告报文后,记录R2发布的路由信息,然后将报文发送给下一个节点R4;R4对该报文的处理同R3。最后,R2发出的路由通告报文经过R3、R4、Rl后又回到R2,这样R2就知道自身的路由信息已经成功发布给环上的其它节点了。同理,节点Rl、R3、R4也可以像R2—样发布自身的路由信息,这样环上的所有节点就都可以很方便地学习到其它节点上所存在的路由信息。关于获取的全部路由信息,如图1的组网情况下,环上的各个节点可以采取表2所示基础路由信息表的形式来保存。<table>tableseeoriginaldocumentpage14</column></row><table>表2其中,第一列R1R4代表第2列相应路由的间接下一跳。例如,R2上收到了一个到达目的地为55.1.1.1的报文时,根据上表,就可以知道,这个报文应该首先发送给R4,因为它对应的路由是R4发布的。以上信息就构成了完整的基础路由信息表,为后面的FRR产生以及路由快速切换奠定基础。三、FRR产生过程有了上述完整的基础路由信息表,就可以通过规则产生最终的FRR切换表,最终达到当故障发生时,进行快速切换的目的。由于环网的特点,从环上的一个节点到达另一个节点,实际上是有两条路径的,如何选择路径就成为了一个需要解决的问题。一种实现方法是,环上各节点分别计算从左手连接到目的网络的跳数和从右手连接到目的网络的跳数,并从中选取跳数较少的作为去往目的网络的主用路径,剩下的作为备份路径。在收到报文后,节点优先选择主用路径进行报文转发,当主用路径发生故障时,切换到备份路径转发。参考图1,以R2为例,假设目的地为IPl,R2则分别计算从左手连接到IP1的跳数和从右手连接到IP1的跳数,得到的结果分别为3和1,显然右手经过的跳数较少,故R2将右手连接L1作为去往IP1的主用路径,将左手连接L2作为去往IP1的备份路径。从R2去往IP3、IP4的主用和备Y分路径的确定同IP1,如果从左手连接和从右手连接转发所经过的跳数相等,则可以根据预先设定的规则(如左手优先)从中选择一条连接作为主用路径,剩下的作为备用路径。比如,图1中,R2从左手连接或右手连接去往IP4所经过的跳数都是2,如果采用左手优先的规则,则R2会选择左手连接L2作为主用路径,而右手连接L1则作为备份路径。关于计算出的主用及备份路径,R2可采取表3所示路由下一跳备份关系表的形式来保存。对于从非环上学来的路由IP2,R2保持原来的路由信息不变,只有本地链路,没有备份。<table>tableseeoriginaldocumentpage15</column></row><table>表3从表3可以看出,当外部引入的路由比较稳定时,表3也是基本不变的。对于由同一个节点发布的所有路由,它们对应的间接下一跳、主用路径、备用路径其实都是一样的。当环上的链路发生故障时,实际上间接下一跳并没有变化,只需考虑根据当前的路径状况,选择走哪条路径而已,也就是说,当链路故障时,只需根据表2进行主备路径切换即可,这样速度较快。为便于说明,表3中用[R1]、[R2]、[R3]、[R4]标记间接下一跳。在有N个节点的网络中,对于其中的一个节点来说,就会有N个间接下一跳,且其中一个是本地下一跳,代表下环路径。举例说明,表4以节点R2为例,示出了LI~L4中任一条链路发生故障时R2上的FRR切换表。结合表3,由于R2到[R1]的主路径是L1,故当Ll发生故障时,需执行主备切换,将去往[R1]的主路径切换到L2上;R2到[R3]的主路径是L2,当L2发生故障时,R2需要将去往[R3]的主路径切换到Ll上;R2到[R4]的主路径经过L2、L3,当L2或L3发生故障时,R2需要将去往[R4]的主路径切换到Ll上。经过上述倒换过程后,所有报文都将不再经过故障链路,网络连通性得到了保证。<table>tableseeoriginaldocumentpage16</column></row><table>表4环上其它节点的处理同R2,这里不再赘述。四、故障切换过程为了保证环网的正常运行,环上的各个节点实时检测自身所连接的链路状态,如果某个节点发现自身连接的一侧链路发生故障,则该节点通过另一侧正常链路向相反方向发送故障通告报文,通知其它节点环上存在故障链路。比如,图1中,如果R2发现L2出现故障,则R2通过L1发送故障通告报文,其中携带的内容包括(R2,R3),表示R2发现故障,故障的链路是R2通往R3的连接,也就是L2。然后,R2按照表4的切换关系,将去往间接下一跳[R3]的路径由L2切换到Ll,并将去往间接下一跳[R4]的路径由L2切换到Ll。Rl收到故障通告报文后,将该报文转发给下一个节点R4,同样根据自己的类似表4的FRR切换表,完成FRR切换;R4收到故障通告4艮文的处理同Rl,最终该报文被一直传递到R3。同理,当L2发生故障时,R3同样也可以检测到,此时R3也执行与R2类似的处理,通过正常的连接L3发送故障通告报文,该报文携带的内容包括(R3,R2),最终,R3发出的故障通告报文经过R4、Rl到达R2。另外,在拓朴建立过程中,如果环上各节点是通过双向发送第一公告报文来获取环网拓朴的,则在环网链路发生故障时,也可以不发送故障通告报文,而是根据第一公告报文的接收情况来确定链路是否发生故障,因为一旦一条链路坏了,环上所有节点就都只能从一个方向上收到同一节点的第一公告报文,通过对比各节点第一公告报文的接收情况就可获知是哪条链路出现了故障。以图1为例,假设L2出现故障,则Rl就会发现从左手只能收到R2的第一公告报文,从右手只能收到R3、R4的第一公告报文,结合环网拓朴,R1就可确定是R2、R3之间的链路L2发生了故障。五、故障恢复过程在环网链路故障恢复后,环上各节点应将故障时切换的路由重新切换回去。其中,判断链路故障是否恢复可通过以下方式进行一、主节点定期从一侧发送环路通告报文,当环路出现故障时,主节点显然不可能再从另一侧回收到自己发出的环路通告报文;而一旦故障恢复,则主节点就又可以从另一侧回收到自己发出的环路通告报文,此时,主节点向外发送链路恢复报文,通知环上其它节点链路恢复正常。获知链路恢复正常后,环上各节点恢复倒换的路由,使网络恢复到正常状态。二、环上各节点实时检测自身所连接的链路状态,并在检测到链路恢复正常后,向环上其它节点发送故障恢复报文,通知其它节点原先发生故障的链路重新恢复了正常。三、在拓朴建立过程中,如果环上各节点是通过双向发送第一公告报文来获取环网拓朴的,则也可以采取以下方式进行故障恢复由于环上每个节点都会定期向两边发送第一公告报文,因此,环上的任一节点都可以通过判断是否能够从两个方向上收到同一节点的第一公告报文来确定环网链路故障是否恢复,如果能够从两个方向上收到同一节点的第一公告报文,则确定环网链路恢复正常,将故障时切换的路由重新切换回去。通过以上描述可见,当环网出现单点故障时,最终的倒换时间主要由故障才企测时间、故障传播时间和FRR倒换时间决定。在实际应用中,故障4企测一般通过硬件来完成,通常可控制在毫秒级;故障传播时间受转发行为和环的大小影响,一般可认为小于Kl*N/2,其中,Kl代表单跳传播时间,一般也是毫秒级,N代表环上的节点个数;鉴于发生单点故障时,发生FRR主备切换的次数要小于等于(N/2+l),故FRR倒换时间可认为小于K2*(N/2+l),K2代表单条FRR切换表项时间,也是毫秒级。最终,网络出现单点故障时的倒换时间依然可以控制在毫秒级,且通常控制在50ms以内是很容易做到的。综上,本发明提供的路由方法不仅实现起来较为简便,并且还能够在环路发生故障时实现快速收敛。相应地,本发明还提供了一种环网节点,该节点位于由多个连接在一起的节点组成的环网中,其示例性结构参见图2所示,包括拓朴信息获取模块、路由信息获取模块、FRR产生模块、路由切换模块以及用于控制各模块的控制单元,其中,拓朴信息获取模块,用于获取环网拓朴信息;路由信息获取模块,用于获取环上其它节点从非环上学习到的环下路由信息;FRR产生模块,用于根据拓朴信息获取模块获取的环网拓朴信息及路由信息获取模块获取的环下路由信息计算生成去往各路由的主备路径,并进一步生成FRR切换表;路由切换模块,用于在环网链路出现故障时,根据FRR产生模块中的FRR切换表进行主备路径切换。其中,FRR产生模块包括主备路径生成模块和FRR切换表生成模块。主备路径生成模块,用于针对各其它节点所对应的环下路由,分别计算从左手连接到达该环下路由所对应间接下一跳的跳数和从右手连接到达该环下路由所对应间接下一跳的跳数,并从中选取跳数较少的作为去往该路由的主用路径,另一个作为备份路径;若二者跳数相等,则按照预先设定的规则从中选择一个作为主用路径,另一个作为备份路径。FRR切换表生成模块,用于针对环上的各条链路,分别判断该链路是否包含在自身所在节点去往各间接下一跳的主用路径上,如果是,则在FRR切换表中标记当该链路出现故障时需执行主备路径切换;否则,标记不切换。其中,路由切换模块进一步用于在环网链路恢复正常时恢复切换的主备路径。以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种环网路由方法,所述环网由多个连接在一起的节点组成,其特征在于,该方法包括环上各节点获取环网拓扑信息,并获取环上其它节点从非环上学习到的环下路由信息,然后根据获取的环网拓扑信息及环下路由信息计算去往各路由的主备路径,并进一步生成FRR切换表;当环网链路出现故障时,根据FRR切换表进行主备路径切换。2、根据权利要求1所述的方法,其特征在于,所述环上各节点获取环网拓朴信息的过程包括从环上主节点的一侧开始发送环路发现报文,环上从节点收到后将自身信息加入环路发现报文中并进行转发,当该报文从另一侧返回主节点时,主节点根据报文中携带的信息确定环网拓朴,并通过环路公告报文将环网拓朴信息发送给各从节点。3、根据权利要求2所述的方法,其特征在于,所述环路发现报文中携带发送者标识、跳数和该报文经过的节点信息。4、根据权利要求2所述的方法,其特征在于,所述通过环路公告报文将环网拓朴信息发送给各从节点的过程包括主节点从一侧发送环路公告报文,其中携带发送者标识、总跳数、跳数和环上所有节点信息;各从节点收到环路公告报文后,记录其中携带的信息,并将报文跳数力。l后发送给下一个节点,直到该净艮文重新回到主节点为止。5、根据权利要求2所述的方法,其特征在于,该方法进一步包括主节点周期性发送环路公告报文,从节点收到后判断自身是否包含在该报文携带的节点信息中,若否,则将收到的环路公告报文增加刷新标记后发送出去;主节点收到携带刷新标记的环路公告报文后,重新开始发送环路发现报文获取环网拓朴信息。6、根据权利要求1所述的方法,其特征在于,所述环上各节点获取环网拓朴信息的过程包括环上各节点分别双向发送携带自身标识和跳数的第一公告报文,并在收到来自环上其它节点的第一公告报文后,将报文中的跳数力口1并转发给下一个节点,直到该报文回到最初发出该报文的节点为止,然后,环上各节点根据收到的来自其它各节点的第一公告报文中携带的信息确定环网拓朴。7、根据权利要求1所述的方法,其特征在于,所述获取环上其它节点从非环上学习到的环下路由信息的过程包括环上各节点均从自身一侧发送^f各由通告报文,其中携带本节点标识和本节点从非环上学习到的环下路由信息;收到路由通告报文的节点记录其中携带的环下路由信息,并将收到的路由通告报文转发给下一个节点,直到路由通告报文回到最初发出该报文的节点为止。8、根据权利要求1所述的方法,其特征在于,所述根据获取的环网拓朴信息及环下路由信息计算生成去往各3各由的主备^4圣的过程包括针对各其它节点所对应的环下路由,环上各节点分别计算从左手连接到达该环下路由所对应间接下一跳的跳数和乂人右手连接到达该环下路由所对应间接下一跳的跳数,并从中选取跳数较少的作为去往该路由的主用路径,另一个作为备份路径;若二者跳数相等,则按照预先设定的规则从中选择一个作为主用路径,另一个作为备份路径。9、根据权利要求8所述的方法,其特征在于,所述生成FRR切换表的过程包括针对环上的各条链路,节点分别判断该链路是否包含在本节点去往各间接下一跳的主用路径上,如果是,则在FRR切换表中标记当该链路出现故障时需执4亍主备^各径切换;否则,标记不切换。10、根据权利要求1所述的方法,其特征在于,该方法进一步包括环上各节点实时检测自身链路状态,当检测到一侧链路发生故障时,通过另一侧正常链路发送故障通告报文,通知其它节点环上存在故障链路;获知环上存在故障链路的节点根据FRR切换表进行主备路径切换。11、根据权利要求6所述的方法,其特征在于,环上各节点根据第一公告报文的接收情况判断环网链路是否出现故障,如果只能从一个方向上收到同一节点的第一公告报文,则确定环网链路出现故障,并根据FRR切换表进行主备路径切换。12、根据权利要求1所述的方法,其特征在于,该方法进一步包括环上主节点定期从一侧发送环路通告报文,当故障恢复,主节点可以从另一侧回收到自己发出的环路通告报文时,主节点向外发送链路恢复报文,通知环上其它节点链路恢复正常;或者,环上各节点实时检测自身所连接的链路状态,并在检测到链路恢复正常后,向环上其它节点发送故障恢复报文,通知其它节点链路恢复正常。13、根据权利要求6所述的方法,其特征在于,该方法进一步包括环上各节点判断是否能够从两个方向上收到同一节点的第一公告报文,如果是,则确定环网链路恢复正常。14、根据权利要求l、12或13所述的方法,其特征在于,该方法进一步包括当环网链路恢复正常后,环上各节点恢复切换的主备路径。15、一种环网节点,位于由多个连接在一起的节点组成的环网中,其特征在于,该节点包括拓朴信息获取模块、路由信息获取模块、FRR产生模块、路由切换模块以及用于控制各模块的控制单元,其中,拓朴信息获取模块,用于获取环网拓朴信息;路由信息获取模块,用于获取环上其它节点从非环上学习到的环下路由信自&、FRR产生模块,用于根据拓朴信息获取模块获取的环网拓朴信息及路由信息获取模块获取的环下路由信息计算生成去往各路由的主备路径,并进一步生成FRR切换表;路由切换模块,用于在环网链路出现故障时,根据FRR产生模块中的FRR切换表进行主备路径切换。16、根据权利要求15所述的节点,其特征在于,所述FRR产生模块包括主备路径生成模块和FRR切换表生成模块,其中,主备路径生成模块,用于针对各其它节点所对应的环下路由,分别计算从左手连接到达该环下路由所对应间接下一跳的跳数和从右手连接到达该环下路由所对应间接下一跳的跳数,并从中选取跳数较少的作为去往该路由的主用路径,另一个作为备份路径;若二者跳数相等,则按照预先设定的规则从中选择一个作为主用路径,另一个作为备份路径;FRR切换表生成模块,用于针对环上的各条链路,分别判断该链路是否包含在自身所在节点去往各间接下一跳的主用路径上,如果是,则在FRR切换表中标记当该链路出现故障时需执行主备路径切换;否则,标记不切换。17、根据权利要求15所述的节点,其特征在于,所述路由切换模块进一步用于在环网链路恢复正常时恢复切换的主备路径。全文摘要本发明提供了一种环网路由方法,所述环网由多个连接在一起的节点组成,该方法包括环上各节点获取环网拓扑信息,并获取环上其它节点从非环上学习到的环下路由信息,然后根据获取的环网拓扑信息及环下路由信息计算生成去往各路由的主备路径,并进一步生成FRR切换表;当环网链路出现故障时,根据FRR切换表进行主备路径切换。相应地,本发明还提供了一种环网节点。采用本发明提供的技术方案,能够为环网提供一种简便的路由实现方式,且在链路发生故障时实现快速收敛。文档编号H04L12/42GK101272352SQ20081011198公开日2008年9月24日申请日期2008年5月20日优先权日2008年5月20日发明者飓王申请人:杭州华三通信技术有限公司