一种rrpp与局部stp组网故障恢复时防止环路的方法和装置的制作方法

文档序号:7966354阅读:307来源:国知局
专利名称:一种rrpp与局部stp组网故障恢复时防止环路的方法和装置的制作方法
技术领域
本发明涉及网络管理领域,特别涉及一种RRPP与局部STP组网故障恢复时防止环路的方法和装置。
背景技术
RRPP(Rapid Ring Protection Protocol快速环保护协议)是一个专门应用于以太网环的链路层协议。它在以太网环完整时能够防止数据环路引起广播风暴,而当以太网环上一条链路断开时能迅速启用备份链路以恢复环网上各个节点之间的通信通路。RRPP链路故障检测恢复机制主要依赖于Polling机制和链路状态变化通知机制。
Polling机制是RRPP环的主节点主动检测环网健康状态的机制。主节点周期性地从其主端口发送HELLO报文,依次经过各传输节点在环上传播,如果主节点能够从副端口收到自己发送的HELLO报文,说明环网链路完整,与此同时为了防止环路的出现,主节点的副端口会阻塞,副端口只允许协议HELLO报文通过,对其它的报文进行阻塞;如果在规定时间内主节点的副端口收不到HELLO报文,就认为环网发生链路故障,放开副端口;故障链路恢复时,故障链路上传输节点重新启动,并且临时阻塞故障端口,处于Failed状态的主节点从副端口收到自己发送的HELLO报文,立即迁移到Complete状态,重新阻塞副端口并刷新FDB(MAC地址转发表),而且还会从主端口发送COMPLETE_FLUSH_FDB报文通知故障链路上的传输节点放开当故障链路恢复时临时阻塞的故障端口和刷新FDB。
链路状态变化通知机制提供了比Polling机制更快环网拓扑改变的处理机制,这一机制的发起者是传输节点。传输节点总是在监测自己的端口链路状态,一旦状态发生改变,它就会通过发送通知报文把这种变化通知主节点,然后由主节点来决定如何处理。传输节点检测到端口UP时,将会从配对的RRPP端口向环上发送LINK-UP报文;如果传输节点检测到端口Down时,将会从配对的RRPP端口向环上发送LINK-DOWN报文。
在由二层交换机/网桥构成的网络中,以太网的生成树协议(STP-Spanning TreeProtocol)用来生成源到宿的唯一路径,同时防止路径成环,避免数据帧在环中无限循环(特别是广播帧的循环发送,以至形成广播风暴)。STP还支持在网络拓扑发生改变时,计算生成新的路径,以完成业务的恢复。STP是IEEE 802.1D网桥协议的一部分,其算法基本思想就是生成“一棵树”,树的根是一个被称为根桥的交换节点。根据设置不同,不同的节点会被选为根桥,但任意时刻只能有一个根桥。当网络启动后,各节点之间互发桥接协议数据单元(Bridge Protocol Data Unit BPDU)消息以确认谁是根节点,找到本节点到根节点的最短路径,阻塞到根节点的其它路径(端口)。这样由根桥开始,逐级形成一棵树。网络稳定以后,根桥定时发送配置报文,当某个端口长时间不能接收到配置报文的时候,根节点认为该端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。
如图1所示,在RRPP和局部STP组网时,为了防止环路的出现,设备6的副端口和设备3的左侧端口都处于阻塞状态,设备6、设备3上的其它端口以及其它传输节点上的端口都处于放开状态,设备6的副端口只允许协议HELLO报文通过,对其它的报文进行阻塞,设备3的左侧端口只允许STP配置报文通过,对其它的报文进行阻塞。RRPP环上的主节点设备6从其主端口周期性的向RRPP环上发送HELLO报文,用于检测RRPP环上各条链路的状态。HELLO报文从设备6的主端口发出,经过设备5、设备4、设备1、设备2、设备7,最后通过设备6的副端口完成HELLO报文的发送,进而完成RRPP环上链路的检测;局部STP的根节点设备3从其右侧端口向混合组网上发送STP配置报文,用于监测STP链路的状态,由于在混合组网正常情况下,主节点设备6的副端口对STP配置报文阻塞,所以STP配置报文只能经过设备2、设备1,最后通过根节点设备3的左侧端口完成STP配置报文的发送,进而完成STP链路的检测。
如图2所示,如果设备4与设备5之间的链路,设备1与设备2之间的链路出现了故障,设备4、设备5、设备1、设备2将向设备6发送LINK-DOWN通知报文,设备6收到LINK-DOWN通知报文后知道RRPP环上出现了链路故障,设备6会放开自己的副端口,设备3的左侧端口因为没有收到自己发送的STP配置报文,所以设备3会放开自己的左侧端口,设备6、设备3上的其它端口以及其它传输节点上的端口还都处于链路正常时的放开状态。
如图3所示,当设备4与设备5之间的故障链路恢复,设备1和设备2之间的故障链路未恢复时,故障节点设备5和设备4向设备6发送LINK-UP通知报文,并且同时临时阻塞其左侧端口和上端口一段时间,一般情况下阻塞时间为HELLO报文发送时间间隔的3倍,并且设备5的左侧端口和设备4的上端口会在阻塞时间里只允许协议HELLO报文通过,对其它的报文进行阻塞,因为设备1和设备2之间的链路未恢复,设备6的副端口收不到自己发送的HELLO报文,所以设备6的副端口还维持放开状态。设备5的左侧端口和设备4的上端口在经过3倍的HELLO报文发送时间间隔后会自动放开,从放开到设备3的左侧端口收到自己发送的STP配置报文这段时间内,由于形成环路的端口都是放开的,所以就造成了环路的出现,严重时会引起广播风暴,至使网络瘫痪。
如图4所示,当设备1与设备2之间的故障链路恢复,设备5与设备4之间的故障链路未恢复时,故障节点设备1和设备2向设备6发出LINK-UP通知报文,并且同时临时阻塞其右侧端口和左侧端口一段时间,一般情况下阻塞时间为HELLO报文发送时间间隔的3倍,并且设备1的右侧端口和设备2的左侧端口在阻塞时间里只允许协议HELLO报文通过,对其它的报文进行阻塞,因为设备4和设备5之间的链路未恢复,设备6的副端口收不到自己发送的HELLO报文,所以设备6的副端口还维持放开状态。设备1的右侧端口和设备2的左侧端口在经过3倍的HELLO报文发送时间间隔后会自动放开,从放开到设备3的左侧端口收到自己发送的STP配置报文这段时间内,由于形成环路的端口都是放开的,所以就造成了环路的出现,严重时也会引起广播风暴,至使网络瘫痪。
对于上述组网故障链路恢复时环路出现的问题,目前现有技术中还没有一个行之有效的解决方法。

发明内容
为了避免上述RRPP和局部STP组网,故障链路恢复时出现环路的问题,本发明提出了一种设置故障链路上传输节点的故障端口的临时阻塞时间大于STP的配置报文和HELLO报文的发送间隔,并且故障端口在处于临时阻塞状态时不阻塞STP的配置报文的方法,以此来保证RRPP故障端口放开之前局部STP通过定时发送配置报文已经检测到链路恢复。所述方法包括以下步骤步骤A临时阻塞故障链路上已恢复的故障端口;步骤B设置所述故障端口的临时阻塞时间;步骤C使能所述故障端口处于临时阻塞时不阻塞STP配置报文的功能;步骤D当发送检测报文的设备收到自己发送的检测报文后,阻塞所述检测报文接收端口。
所述故障端口的临时阻塞时间大于STP配置报文的发送间隔。
所述故障端口的临时阻塞时间为STP配置报文发送间隔的2-3倍。
所述故障端口的临时阻塞时间大于RRPP主节点发送的HELLO报文的发送间隔。
所述步骤D具体包括当STP的根节点收到自己发送的STP配置报文后,阻塞所述根节点的STP配置报文接收端口。
本发明还提供了一种RRPP与局部STP组网故障恢复时防止环路的装置,所述装置包括临时阻塞故障端口模块、临时阻塞时间设置模块、故障端口使能模块、阻塞检测报文接收端口模块;所述临时阻塞故障端口模块用于临时阻塞故障链路上已恢复的故障端口;所述临时阻塞时间设置模块用于设置所述故障端口的临时阻塞时间;所述故障端口使能模块用于使能所述故障端口处于临时阻塞时不阻塞STP配置报文的功能;所述阻塞检测报文接收端口模块用于当发送检测报文的设备收到自己发送的检测报文后,阻塞所述检测报文接收端口。
所述临时阻塞时间设置模块中所述故障端口的临时阻塞时间大于STP配置报文的发送间隔。
所述故障端口的临时阻塞时间大于RRPP主节点发送的HELLO报文的发送间隔。
所述临时阻塞时间设置模块中所述故障端口的临时阻塞时间为STP配置报文发送间隔的2-3倍。
所述阻塞检测报文接收端口模块具体为STP端口阻塞单元,用于当STP的根节点收到自己发送的STP配置报文后,阻塞所述根节点的STP配置报文接收端口。
采用本发明所述技术方案有效地解决了RRPP和局部STP组网,故障链路恢复时环路出现的问题。


图1是RRPP与局部STP组网示意图;图2是RRPP与局部STP出现两点故障示意图;图3是设备4与设备5之间链路恢复造成环路的示意图;图4是设备1与设备2之间链路恢复造成环路的示意图;图5是单链路恢复造成环路的示意图;图6是本发明所述实施例1的流程图;图7是本发明所述实施例2的流程图;图8是本发明所述实施例3的流程图;图9是RRPP与局部STP组网故障恢复时防止环路的装置结构图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
参见图2,RRPP与局部STP组网,RRPP环出现两条链路故障,假设分别是设备4与设备5之间的链路,设备1与设备2之间的链路,设置HELLO报文发送间隔为X秒,设置STP的配置报文发送间隔为Y秒。
实施例1参见图3和图6,当设备4与设备5之间的故障链路恢复,设备1与设备2之间的故障链路未恢复时,防止环路出现的方法包括以下步骤步骤101故障节点设备5和设备4向设备6发送LINK-UP通知报文,并且同时临时阻塞其左侧端口和上端口;步骤102为了防止设备5的左侧端口和设备4的上端口在超时放开到设备3的左侧端口收到自己发送的STP配置报文这段时间内形成环路,设置设备5的左侧端口和设备4的上端口临时阻塞时间应该大于Y,具体可以为(2-3)Y;步骤103为了使STP配置报文在设备5的左侧端口和设备4的上端口处于临时阻塞时,可以对链路进行检测,使能设备5的左侧端口和设备4的上端口处于临时阻塞时不阻塞STP的配置报文功能;步骤102和步骤103保证了在设备5的左侧端口和设备4的上端口处于临时阻塞时,STP的配置报文可以对链路进行检测,而且检测到了设备4与设备5之间的链路已经恢复。
步骤104设备3的右侧端口发送STP配置报文,经过设备2、设备7、设备6、到设备5的左侧端口,由于设备5的左侧端口不阻塞STP配置报文,所以STP配置报文可以透转到设备4的上端口,由于设备4的上端口不阻塞STP配置报文,所以STP配置报文可以透转到设备4的下端口,再经过设备1,设备3的左侧端口回到设备3,这样设备3的左侧端口在设备5的左侧端口和设备4的上端口处于临时阻塞时收到了自己发送的STP配置报文;步骤105设备3由于收到了自己发送的STP配置报文,检测到设备4与设备5之间的链路恢复,因而阻塞自己的左侧端口。
在设备3发送STP配置报文检测STP链路的时候,设备6从其主端口也在发送HELLO报文对RRPP环路进行检测,但是由于设备1与设备2之间的链路是断开的,设备6的副端口收不到自己发送的HELLO报文,所以设备6的副端口在STP配置报文检测STP链路过程中,由于一直没有收到自己发送的HELLO报文,其副端口一直处于放开状态。
实施例2参见图4和图7,当设备1与设备2之间的故障链路恢复,设备4与设备5之间的故障链路未恢复时,防止环路出现的方法包括以下步骤步骤201故障节点设备1和设备2向设备6发送LINK-UP通知报文,并且同时临时阻塞其右侧端口和左侧端口;步骤202为了防止设备2的左侧端口和设备1的右侧端口在超时放开到设备3的左侧端口收到自己发送的STP配置报文这段时间内形成环路,设置设备2的左侧端口和设备1的右侧端口临时阻塞时间应该大于Y,具体可以为(2-3)Y;步骤203为了使STP配置报文在设备2的左侧端口和设备1的右端口处于临时阻塞时,可以对链路进行检测,使能设备2的左侧端口和设备1的右侧端口处于临时阻塞时不阻塞STP的配置报文功能;步骤202和步骤203保证了在设备2的左侧端口和设备1的右侧端口处于临时阻塞时,STP的配置报文可以对链路进行检测,而且检测到了设备1与设备2之间的链路已经恢复。
步骤204设备3的右侧端口发送STP配置报文,经过设备2的下端口到达设备2的左侧端口,由于设备2的左侧端口不阻塞STP配置报文,所以STP配置报文可以透转到设备1的右侧端口,由于设备1的右侧端口不阻塞STP配置报文,所以STP配置报文可以透转到设备1的下端口,再经过设备3的左侧端口回到设备3,这样设备3的左侧端口在设备2的左侧端口和设备1的右侧端口处于临时阻塞时收到了自己发送的STP配置报文;步骤205设备3由于收到了自己发送的STP配置报文,检测到设备1与设备2之间的链路恢复,因而阻塞自己的左侧端口。
在设备3发送STP配置报文检测STP链路的时候,设备6从其主端口也在发送HELLO报文对RRPP环路进行检测,但是由于设备4与设备5之间的链路是断开的,设备6的副端口收不到自己发送的HELLO报文,所以设备6的副端口在STP配置报文检测STP链路过程中,由于一直没有收到自己发送的HELLO报文,其副端口一直处于放开状态。
实施例1和实施例2由于使能了处于临时阻塞状态下的故障端口不阻塞STP配置报文的功能,使得STP配置报文在故障端口处于临时阻塞时还可以进行STP链路的检测,并且由于设置了故障端口的临时阻塞时间大于STP配置报文的发送时间间隔,从而保证了STP配置报文在故障端口处于临时阻塞状态时,检测到了STP链路恢复,这样就会依据STP协议将根节点的STP配置报文接收端口阻塞,从根本上解决了现有技术中,临时阻塞的故障端口超时自动放开到根节点收到自己发送的STP配置报文这段时间内会产生环路的问题。
本发明所述方法对于单条故障链路恢复时,同样也可以防止环路的产生,下面用一个例子说明一下。
实施例3参见图5和图8,当只有一条链路出现故障,例如设备4和设备5之间的链路出现故障,当设备4和设备5之间的故障链路恢复时,防止环路出现的方法包括以下步骤步骤301故障节点设备5和设备4向设备6发送LINK-UP通知报文,并且同时临时阻塞其左侧端口和上端口;步骤302为了防止设备5的左侧端口和设备4的上端口在超时放开到设备6的副端口收到自己发送的HELLO报文这段时间内形成环路,设置设备5的左侧端口和设备4的上端口临时阻塞时间应该大于X,具体可以为3X;步骤303使能设备5的左侧端口和设备4的上端口处于临时阻塞时不阻塞STP的配置报文功能;步骤302和步骤303保证了设备5的左侧端口和设备4的上端口处于临时阻塞时,HELLO报文检测到了设备4与设备5之间的链路已经恢复,并且STP配置报文也可以对STP链路进行检测。
步骤304设备6的主端口发送HELLO报文,经过设备5、设备4、设备1、设备2、设备7,设备6的副端口回到设备6,这样设备6的副端口在设备5的左侧端口在设备4的上端口处于临时阻塞时收到了自己发送的HELLO报文;步骤305设备6的副端口收到了自己发送的HELLO报文,检测到设备4与设备5之间的链路恢复,因而阻塞自己的副端口。
在实施例3中,在设备6从其主端口发送HELLO报文检测RRPP链路时,设备3的右侧端口也一直在发送STP配置报文进行STP链路的检测,由于设备1与设备2之间的链路正常,设备3的左侧端口始终可以收到自己发送的STP配置报文,因此设备3的左侧端口一直处于阻塞状态,从而保证了STP链路不会出现环路,只要防止RRPP环出现环路就可以了。
为了防止RRPP和STP局部组网故障链路恢复时环路的出现,可以设置故障端口的临时阻塞时间为一个足够大的值,即大于HELLO报文发送间隔,同时也大于STP配置报文发送间隔,从而解决了RRPP和STP局部组网无论是单条故障链路还是多条故障链路恢复时出现环路的问题。
参见图7,本发明还提供了一种RRPP与局部STP组网故障恢复时防止环路的装置,装置包括临时阻塞故障端口模块、临时阻塞时间设置模块、故障端口使能模块、阻塞检测报文接收端口模块;临时阻塞故障端口模块用于临时阻塞故障链路上已恢复的故障端口;临时阻塞时间设置模块用于设置故障端口的临时阻塞时间;故障端口使能模块用于使能故障端口处于临时阻塞时不阻塞STP配置报文的功能;阻塞检测报文接收端口模块用于当发送检测报文的设备收到自己发送的检测报文后,阻塞检测报文接收端口。
临时阻塞时间设置模块中故障端口的临时阻塞时间大于STP配置报文的发送间隔。
故障端口的临时阻塞时间大于RRPP主节点发送的HELLO报文的发送间隔。
临时阻塞时间设置模块中故障端口的临时阻塞时间为STP配置报文发送间隔的2-3倍。
阻塞检测报文接收端口模块具体为STP端口阻塞单元,用于当STP的根节点收到自己发送的STP配置报文后,阻塞根节点的STP配置报文接收端口。
以上所述的实施例只是本发明较优选的具体实施方式
的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种RRPP与局部STP组网故障恢复时防止环路的方法,其特征在于,所述方法包括以下步骤步骤A临时阻塞故障链路上已恢复的故障端口;步骤B设置所述故障端口的临时阻塞时间;步骤C使能所述故障端口处于临时阻塞时不阻塞STP配置报文的功能;步骤D当发送检测报文的设备收到自己发送的检测报文后,阻塞所述检测报文接收端口。
2.如权利要求1所述的RRPP与局部STP组网故障恢复时防止环路的方法,其特征在于,所述故障端口的临时阻塞时间大于STP配置报文的发送间隔。
3.如权利要求2所述的RRPP与局部STP组网故障恢复时防止环路的方法,其特征在于,所述故障端口的临时阻塞时间为STP配置报文发送间隔的2-3倍。
4.如权利要求2所述的RRPP与局部STP组网故障恢复时防止环路的方法,其特征在于,所述故障端口的临时阻塞时间大于RRPP主节点发送的HELLO报文的发送间隔。
5.如权利要求1-4中任意一项权利要求所述的RRPP与局部STP组网故障恢复时防止环路的方法,其特征在于,所述步骤D具体包括当STP的根节点收到自己发送的STP配置报文后,阻塞所述根节点的STP配置报文接收端口。
6.一种RRPP与局部STP组网故障恢复时防止环路的装置,其特征在于,所述装置包括临时阻塞故障端口模块、临时阻塞时间设置模块、故障端口使能模块、阻塞检测报文接收端口模块;所述临时阻塞故障端口模块用于临时阻塞故障链路上已恢复的故障端口;所述临时阻塞时间设置模块用于设置所述故障端口的临时阻塞时间;所述故障端口使能模块用于使能所述故障端口处于临时阻塞时不阻塞STP配置报文的功能;所述阻塞检测报文接收端口模块用于当发送检测报文的设备收到自己发送的检测报文后,阻塞所述检测报文接收端口。
7.如权利要求6所述的RRPP与局部STP组网故障恢复时防止环路的装置,其特征在于,所述临时阻塞时间设置模块中所述故障端口的临时阻塞时间大于STP配置报文的发送间隔。
8.如权利要求7所述的RRPP与局部STP组网故障恢复时防止环路的装置,其特征在于,所述故障端口的临时阻塞时间大于RRPP主节点发送的HELLO报文的发送间隔。
9.如权利要求7所述的RRPP与局部STP组网故障恢复时防止环路的装置,其特征在于,所述临时阻塞时间设置模块中所述故障端口的临时阻塞时间为STP配置报文发送间隔的2-3倍。
10.如权利要求6所述的RRPP与局部STP组网故障恢复时防止环路的装置,其特征在于,所述阻塞检测报文接收端口模块具体为STP端口阻塞单元,用于当STP的根节点收到自己发送的STP配置报文后,阻塞所述根节点的STP配置报文接收端口。
全文摘要
本发明公开了一种RRPP与局部STP组网故障恢复时防止环路的方法和装置,属于网络管理领域。为了避免RRPP和局部STP组网故障链路恢复时环路的出现,本发明提出了一种设置故障链路上传输节点的故障端口的临时阻塞时间大于STP的配置报文和HELLO报文的发送间隔,并且故障端口在处于临时阻塞状态时不阻塞STP的配置报文的方法,以此来保证RRPP故障端口放开之前局部STP通过定时发送配置报文已经检测到链路恢复。本发明还提供了一种RRPP与局部STP组网故障恢复时防止环路的装置,同样也可以解决环路出现的问题。
文档编号H04L12/437GK1905490SQ20061011130
公开日2007年1月31日 申请日期2006年8月18日 优先权日2006年8月18日
发明者张义龙, 张平安, 于庆秋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1