发明内容
本发明实施例提供一种链路故障上报方法、处理方法、传输节点及主节点,用于减少主节点检测到链路故障的时间。
第一方面提供一种链路故障上报方法,包括:
环网上的传输节点监听所述传输节点的主端口,以等待接收报文;
如果所述传输节点在预设的接收时间内未在所述主端口上接收到任何报文,从与所述主端口配对的副端口向所述环网上的主节点发送第一链路故障报文,以使所述主节点根据所述第一链路故障报文判定所述环网发生链路故障;其中,所述接收时间小于所述环网的整条链路的传输时间。
在第一方面的第一种可能的实现方式中,所述链路故障上报方法还包括:
如果所述传输节点向所述主节点发送所述第一链路故障报文之后在所述主端口上接收到所述传输节点的上游节点发送的第二链路故障报文,向所述主节点转发所述第二链路故障报文,以使所述主节点同时根据所述第一链路故障报文和所述第二链路故障报文判定所述环网发生链路故障。
在第一方面的第二种可能的实现方式中,所述链路故障上报方法还包括:如果所述传输节点在所述接收时间内在所述主端口上接收到所述传输节点的上游节点发送的第二链路故障报文,向所述主节点转发所述第二链路故障报文,以使所述主节点根据所述第二链路故障报文判定所述环网发生链路故障。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述环网上的传输节点监听所述传输节点的主端口,以等待接收报文包括:
所述传输节点在所述主端口上开启故障检测定时器,在所述故障检测定时器定时结束前监听所述主端口,以等待接收报文;所述故障检测定时器的定时时长为所述接收时间。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述链路故障上报方法还包括:
如果所述传输节点在所述故障检测定时器定时结束前在所述主端口上接收到报文,将所述故障检测定时器关闭;
如果所述传输节点在所述故障检测定时器定时结束后未在所述主端口上接收到任何报文,重新启动所述故障检测定时器以继续监听所述主端口,直到重新启动所述故障检测定时器的次数达到预设的次数阈值为止。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一链路故障报文包括:所述传输节点的标识信息和所述主端口的标识信息,以使所述主节点根据所述传输节点的标识信息和所述主端口的标识信息确定所述环网上故障点的位置。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第二链路故障报文包括:所述传输节点的上游节点的标识信息和所述传输节点的上游节点上的主端口的标识信息,以使所述主节点根据所述传输节点的上游节点的标识信息和所述传输节点的上游节点上的主端口的标识信息确定所述环网上故障点的位置。
第二方面提供一种链路故障上报方法,包括:
环网上的传输节点监测所述传输节点的第一端口的状态;
当监测到所述第一端口故障时,所述传输节点从与所述第一端口配对的第二端口向所述环网上的主节点发送链路故障报文,所述链路故障报文包括:所述传输节点的标识信息和所述第一端口的标识信息,以使所述主节点判定所述环网发生链路故障并确定所述环网上的故障点的位置。
第三方面提供一种链路故障处理方法,包括:
环网上的主节点接收所述环网上的传输节点发送的链路故障报文,所述链路故障报文包括:所述传输节点的标识信息和所述传输节点上故障端口的标识信息;
所述主节点根据所述链路故障报文判定所述环网发生链路故障,并确定所述环网上故障点的位置。
在第三方面的第一种可能的实现方式中,所述链路故障处理方法还包括:
所述主节点向网管***发送链路故障告警信息,所述链路故障告警信息包括标识所述故障点的位置的信息。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述环网上的主节点接收所述环网上的传输节点发送的链路故障报文包括:
所述环网上的主节点接收所述环网上多个传输节点分别发送的链路故障报文;
所述主节点根据所述链路故障报文判定所述环网发生链路故障,并确定所述环网上故障点的位置包括:
所述主节点根据所述多个链路故障报文中第一个接收到的链路故障报文,判定所述环网发生链路故障;
所述主节点同时根据所述多个链路故障报文,确定所述环网上的故障点的位置。
第四方面提供一种传输节点,包括:
接收模块,用于监听处于环网上的所述传输节点的主端口,以等待接收报文;
发送模块,用于在所述接收模块在预设的接收时间内未在所述主端口上接收到任何报文时,从与所述主端口配对的副端口向所述环网上的主节点发送第一链路故障报文,以使所述主节点根据所述第一链路故障报文判定所述环网发生链路故障;其中,所述接收时间小于所述环网的整条链路的传输时间。
在第四方面的第一种可能的实现方式中,所述传输节点还包括:
第一转发模块,用于在所述接收模块在所述发送模块向所述主节点发送所述第一链路故障报文之后在所述主端口上接收到所述传输节点的上游节点发送的第二链路故障报文时,向所述主节点转发所述第二链路故障报文,以使所述主节点同时根据所述第一链路故障报文和所述第二链路故障报文判定所述环网发生链路故障。
在第四方面的第二种可能的实现方式中,所述传输节点还包括:
第二转发模块,用于在所述接收模块在所述接收时间内在所述主端口上接收到所述传输节点的上游节点发送的第二链路故障报文时,向所述主节点转发所述第二链路故障报文,以使所述主节点根据所述第二链路故障报文判定所述环网发生链路故障。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述接收模块具体用于在所述主端口上开启故障检测定时器,在所述故障检测定时器定时结束前监听所述主端口,以等待接收报文;所述故障检测定时器的定时时长为所述接收时间。
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述传输节点还包括:
定时器关闭模块,用于在所述接收模块在所述故障检测定时器定时结束前在所述主端口上接收到报文时,将所述故障检测定时器关闭;
定时器重启模块,用于在所述接收模块在所述故障检测定时器定时结束后未在所述主端口上接收到任何报文时,重新启动所述故障检测定时器以继续监听所述主端口,直到重新启动所述故障检测定时器的次数达到预设的次数阈值为止。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第五种可能的实现方式中,所述第一链路故障报文包括:所述传输节点的标识信息和所述主端口的标识信息,以使所述主节点根据所述传输节点的标识信息和所述主端口的标识信息确定所述环网上故障点的位置。
结合第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式,在第四方面的第六种可能的实现方式中,所述第二链路故障报文包括:所述传输节点的上游节点的标识信息和所述传输节点的上游节点上的主端口的标识信息,以使所述主节点根据所述传输节点的上游节点的标识信息和所述传输节点的上游节点上的主端口的标识信息确定所述环网上故障点的位置。
第五方面提供一种传输节点,包括:
监测模块,用于监测处于环网上的所述传输节点的第一端口的状态;
发送模块,用于在所述监测模块监测到所述第一端口故障时,从与所述第一端口配对的第二端口向所述环网上的主节点发送链路故障报文,所述链路故障报文包括:所述传输节点的标识信息和所述第一端口的标识信息,以使所述主节点判定所述环网发生链路故障并确定所述环网上的故障点的位置。
第六方面提供一种主节点,包括:
接收模块,用于接收处于环网上的传输节点发送的链路故障报文,所述链路故障报文包括:所述传输节点的标识信息和所述传输节点上故障端口的标识信息;
故障位置确定模块,用于根据所述链路故障报文判定所述环网发生链路故障,并确定所述环网上故障点的位置。
在第六方面的第一种可能的实现方式中,所述主节点还包括:
发送模块,用于向网管***发送链路故障告警信息,所述链路故障告警信息包括标识所述故障点的位置的信息。
结合第六方面或第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述接收模块具体用于接收所述环网上多个传输节点分别发送的链路故障报文;
所述故障位置确定模块具体用于根据所述多个链路故障报文中第一个接收到的链路故障报文,判定所述环网发生链路故障,同时根据所述多个链路故障报文,确定所述环网上的故障点的位置。
本发明提供的链路故障上报方法及传输节点,传输节点通过为其主端口设置小于环网整条链路的传输时间的接收时间,如果在预设的接收时间内在主端口上未接收到任何报文,则认为主端口发生故障,故主动从与主端口配对的副端口向主节点发送链路故障报文,使得主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间。
本发明提供的链路故障上报方法及传输节点,传输节点在监测到其某一端口发生故障时,从与该端口配对的另一端口主动向主节点发送链路故障报文,并在链路故障报文中携带传输节点自身的标识信息和发生故障的端口的标识信息,使得主节点根据链路故障报文既能够及时获知环网发生链路故障,又能够精确确定环网上故障点的位置,有利于精确定位故障点的位置。
本发明实施例提供的链路故障处理方法及主节点,主节点接收环网上的传输节点发送的链路故障报文,链路故障报文携带传输节点的标识信息和传输节点上故障端口的标识信息,然后根据链路故障报文确定环网发生链路故障并确定环网上故障点的位置,有利于精确定位故障点的位置。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的链路故障上报方法的流程图。如图1所示,本实施例的方法包括:
步骤101、环网上的传输节点监听传输节点的主端口,以等待接收报文。
步骤102、如果传输节点在预设的接收时间内未在主端口上接收到任何报文,从与主端口配对的副端口向环网上的主节点发送第一链路故障报文,以使主节点根据第一链路故障报文判定环网发生链路故障;其中,上述预设的接收时间小于环网的整条链路的传输时间。
本实施例的环网在链路层使用RRPP技术,是一个环形连接的以太网拓扑。在环网上,每台设备都被称为一个节点,节点的角色可由用户的配置来决定。在环网上,有且只有一个节点为主节点,其他节点均为传输节点。主节点是环网状态主动检测机制的发起者,也是网络拓扑发生改变后执行操作的决策者。传输节点主要负责监测自己的直连RRPP链路的状态,并把链路变化通知主节点,然后由主节点来决策如何处理。但是,对于由物理端口故障、业务板硬件故障以及光模块收发光异常等导致的端口DOWN的情况,传输节点可能无法监测到,于是无法链路变化通知主节点,导致主节点无法及时获知环网发生链路故障。
针对上述问题,本实施例的传输节点在其主端口上预先设置接收时间,该接收时间是正常接收到来自主节点的报文所需的时间,该接收时间小于环网整条链路的传输时间。环网整条链路的传输时间是指在正常情况下,主节点从其主端口发出Hello报文到从其副端口收到Hello报文的最大时延。基于该接收时间,如果传输节点在该接收时间内未接收到任何报文,则传输节点认为其主端口发生故障,于是从与主端口配对的副端口主动向主节点发送链路故障报文(记为第一链路故障报文),以使主节点能够及时获知环网发生链路故障。
对于不同传输节点,在其主端口上预先设置的接收时间可以相同,也可以不相同。另外,在主端口上预先设置的接收时间可以根据环网情况灵活配置和调整。较为优选的,在主端口上预先设置的接收时间要略大于主节点发送Hello报文的发送周期。
本实施例尤其适用于传输节点无法监测到其直连的RRPP链路故障的情况,但同样也适用于传输节点能够监测到其直连的RRPP链路故障的情况。也就是说,无论链路故障是哪种原因引起的,传输节点通过判断在预设的接收时间内是否在主节点上接收到报文这种方式均能够成功识别出链路故障。
在本实施例中,传输节点通过为其主端口设置小于环网整条链路的传输时间的接收时间,如果在预设的接收时间内在主端口上未接收到任何报文,则认为主端口发生故障,故主动从与主端口配对的副端口向主节点发送链路故障报文,使得主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间,提高了获知环网发生链路故障的及时性。
在一可选实施方式中,如果传输节点未在预设的接收时间内在主端口上接收到任何报文,并不是因为传输节点的主端口或传输节点的主端口直连的RRPP链路发生故障,而是因为传输节点的上游节点的主端口或副端口或主端口直连的RRPP链路或副端口直连的RRPP链路发生故障引起的。在这种情况下,传输节点的上游节点也会因为在其预设的接收时间内未在主端口上接收到任何报文而主动向主节点发送链路故障报文(记为第二链路故障报文),这样传输节点的上游节点发送的第二链路故障报文就会通过传输节点向主节点转发,于是,传输节点在向主节点发送第一链路故障报文之后还会在其主端口上接收到其上游节点发送的第二链路故障报文。如果传输节点在向主节点发送第一链路故障报文之后在其主端口上接收到其上游节点发送的第二链路故障报文,则向主节点转发第二链路故障报文,以使主节点同时根据第一链路故障报文和第二链路故障报文判定环网发生链路故障。
对于主节点来说,就会先后接收到两个链路故障报文。本实施例中的链路故障报文符合RRPP协议报文的格式,也包括目的MAC地址、源MAC地址、协议类型、状态字段等信息,主节点可以根据链路状态故障报文的源MAC地址来识别出环网是在哪个节点上发生了链路故障。一种链路故障报文的格式如图2所示。对于第一链路故障报文和第二链路故障报文来说,某些字段的取值不同,但格式相同。
在此对本发明实施例中涉及的“传输节点的上游节点”进行解释说明。在本发明实施例中,将从主节点的主端口到主节点的副端口的方向作为参考方向,对于环网上的任意两个传输节点来说,将距离主节点的主端口较近的传输节点称为是距离主节点的主端口较远的传输节点的上游节点;相应的,将距离主节点的主端口较远的传输节点称为是距离主节点的主端口较近的传输节点的下游节点。
在另一可选实施方式中,如果传输节点在预设的接收时间内在其主端口上接收到报文,但并不意味着环网并未发生链路故障,还要区分还报文的类型。如果传输节点在预设的接收时间内在其主端口上接收到该传输节点的上游节点发送的第二链路故障报文,则同样可以确定环网发生链路故障,于是向主节点转发第二链路故障报文,以使主节点能够根据第二链路故障报文判定环网发生链路故障。
可选的,如果传输节点在预设的接收时间内在其主端口上接收到主节点发送的Hello报文,则说明从主节点的主端口到传输节点之间的链路未发生故障,传输节点也会继续向主节点转发Hello报文,如果主节点成功从其副端口收到Hello报文,说明整条链路是健康的,未发生故障;如果主节点接收到的是链路故障报文,说明从传输节点到主节点的副端口之间的链路可能发生了故障。
对于环网上的任何传输节点,其处理方式都是相同的,故本实施例仅以一个传输节点为例进行了说明。
传输节点通过为其主端口设置小于环网整条链路的传输时间的接收时间,无论是在预设的接收时间内在主端口上未接收到任何报文的情况,还是在预设的接收时间内接收到其上游节点发送的第二链路故障报文的情况,都可以使主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间,提高了获知环网发生链路故障的及时性。
在一可选实施方式中,环网上的传输节点监听传输节点的主端口,以等待接收报文的实施方式包括:传输节点在其主端口上开启故障检测定时器,在故障检测定时器定时结束前监听主端口,以等待接收报文;其中,该故障检测定时器的定时时长为上述预设的接收时间。
具体的,传输节点在其主端口上默认启动故障检测定时器,用以对上述预设的接收时间进行计时。如果传输节点在故障检测定时器定时结束前在主端口上接收到报文(相当于上述在预设的接收时间内在主端口上接收到报文),说明该主端口直连的RRPP链路是正常的,故关闭故障检测定时器,并向主节点转发接收到的报文。这里的报文可能是主节点从其主端口发送的Hello报文,也可能是传输节点的上游节点发送的第二链路故障报文。
如果传输节点在故障检测定时器定时结束后未在主端口上接收到任何报文(相当于上述在预设的接收时间内未在主端口上接收到任何报文),此时传输节点除了从副端口向主节点发送第一链路故障报文之外,还可以重新启动故障检测定时器以继续监听该主端口,并直到重新启动该故障检测定时器的次数达到预设的次数阈值为止。其中,传输节点重新启动故障检测定时器以继续监听主端口是为了在传输节点的上游节点发生故障的情况下,等待接收传输节点的上游节点发送的第二链路故障报文。
通常,从传输节点的上游节点到传输节点之间的传输时延通常会在某个时间范围内,因此,可以根据传输时延的最大值来设置重启故障检测定时器的次数阈值。举例说明,该次数阈值可以设置为1,也就是说,如果在两个预设的接收时间内仍未接收到传输节点的上游节点发送的第二链路故障报文,则可以直接判定是传输节点的主端口或主端口直连的RRPP链路故障,则可以不再重启故障检测定时器,也就意味着不再继续监听该主端口。
在此说明,在上述重启故障检测定时器的情况下,如果传输节点在故障检测定时器定时结束后在主端口上也未接收到任何报文,则可以不用向主节点发送第一链路故障报文,只有在接收到其上游节点发送的第二链路故障报文时,将第二链路故障报文转发给主节点。
本实施方式可以结合上述各实施方式实现,在本实施方式中,第一链路故障报文可以包括:传输节点的标识信息和传输节点的主端口的标识信息。传输节点的标识信息除了是传输节点的MAC地址外,还可以是其它更有利于定位故障点位置的信息,例如可以包括传输节点的IP地址、传输节点的名称等。相应的,传输节点的主端口的标识信息也可以是便于定位故障点的位置的信息,例如可以包括主端口的名称、主端口的端口号、主端口的端口类型等。
另外,第二链路故障报文也可以包括:传输节点的上游节点的标识信息和传输节点的上游节点上的主端口的标识信息。同理,传输节点的上游节点的标识信息除了是传输节点的上游节点的MAC地址外,还可以是其它更有利于定位故障点位置的信息,例如可以包括传输节点的上游节点的IP地址、传输节点的上游节点的名称等。相应的,传输节点的上游节点的主端口的标识信息也可以是便于定位故障点的位置的信息,例如可以包括主端口的名称、主端口的端口号、主端口的端口类型等。
基于上述,对主节点来说,如果仅接收到第一链路故障报文,则可以直接根据第一链路故障报文包括的传输节点的标识信息和传输节点的主端口的标识信息,确定出环网上故障点的位置,该故障点的位置即为传输节点的主端口或主端口直连的RRPP链路;如果先后接收到第一链路故障报文和第二链路故障报文,则可以先根据每个链路故障报文中携带的传输节点的标识信息确定出传输节点的上下游关系,然后根据上下游关系中处于最上游的传输节点的链路故障报文携带的标识信息确定环网故障点的位置。对于第一链路故障报文和第二链路故障报文来说,主节点可以判断出需要根据第二链路故障报文确定环网故障点的位置。
结合图2所示链路故障报文的格式,第一链路故障报文可以使用图2所示任何一个预留字段来携带传输节点的标识信息和传输节点的主端口的标识信息,同理,第二链路故障报文可以使用图2所示任何一个预留字段来携带传输节点的上游节点的标识信息和传输节点的上游节点上的主端口的标识信息。或者,传输节点或其上游节点也可以通过对链路故障报文进行扩展,添加新的字段来携带上述信息。
在本实施方式中,环网上的各个传输节点通过在其主端口预先设置接收时间,在预设的接收时间内未在主端口上接收到任何报文时主动向主节点发送链路故障报文,并在链路故障报文中携带传输节点的标识信息和主端口的标识信息,不仅能够使主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间,同时还能够使主节点准确定位出环网上的故障点,有利于进行故障排查,有利于提升环网的可维护性。
图3为本发明一实施例提供的环网的结构示意图。如图3所示,该环网包括:主节点31、传输节点32、传输节点33和传输节点34。主节点31包括主端口P1和副端口P2;传输节点32包括主端口P3和副端口P4;传输节点33包括主端口P5和副端口P6;传输节点34包括主端口P7和P8。
对于任何一个传输节点都在其主端口上默认启动故障检测定时器。正常情况下,主节点31从其主端口P1发出的Hello报文会依次经过传输节点32、传输节点33和传输节点34到达其副端口P2。对于每个传输节点来说,如果在故障检测定时器定时结束前收到Hello报文,会将故障检测定时器关闭。
假设由于硬件故障或光模块异常等导致传输节点32和传输节点33之间无法上报链路故障事件,故障点如图3中“×”所示。传输节点33在故障检测定时器定时结束后不会在其主端口P3上收到任何报文,于是生成链路故障报文,从配对的副端口P4向主节点发送链路故障报文并重新启动故障检测定时器。如果传输节点33在故障检测定时再次定时结束后在主端口P3上未接收到任何报文,则不再重新启动故障检测定时器。传输节点33发出的链路故障报文首先到达传输节点34。如果传输节点34是在其故障检测定时器首次定时结束前在主端口P5的收到传输节点33发送的链路故障报文,则关闭其故障检测定时器,并从其副端口P6转发给主节点31。如果传输节点34在其故障检测定时器首次定时结束前未在主端口P5上收到任何报文,则生成链路故障报文,从其副端口P6向主节点31发送链路故障报文并重新启动其故障检测定时器。如果传输节点34在其故障检测定时器再次定时结束前在主端口P5的收到的传输节点33发送的链路故障报文,则关闭其故障检测定时器并从其副端口P6向主节点31转发该链路故障报文。上述传输节点33生成的链路故障报文包括传输节点33和主端口P3的信息;传输节点34生成的链路故障报文包括传输节点34和主端口P5的信息。如果主节点31仅收到包括传输节点33和主端口P3的信息的链路故障报文,一方面可以确定环网发生链路故障,并且确定故障点的位置为传输节点33的主端口P3或主端口P3直连的RRPP链路。如果主节点31同时收到包括传输节点33和主端口P3的信息的链路故障报文以及包括传输节点34和主端口P5的信息的链路故障报文,则主节点31可以根据最先接收到的链路故障报文(这里应该是包括传输节点34和主端口P5的信息的链路故障报文)确定环网发生链路故障,并且最后接收到的链路故障报文(这里应该是包括传输节点33和主端口P3的信息的链路故障报文)确定故障点的位置为传输节点33的主端口P3或主端口P3直连的RRPP链路。在确定出环网发生链路故障后,主节点31可以向网管***上报故障告警信息并携带故障点的位置信息,同时,可以将其副端口P2放开使其正常转发。
在本实施方式中,主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间,同时还能够使主节点准确定位出环网上的故障点,有利于进行故障排查,有利于提升环网的可维护性。
图4为本发明另一实施例提供的链路故障上报方法的流程图。如图3所示,本实施例的方法包括:
步骤401、环网上的传输节点监测传输节点的第一端口的状态。
步骤402、当监测到第一端口故障时,传输节点从与第一端口配对的第二端口向环网上的主节点发送链路故障报文,该链路故障报文包括:传输节点的标识信息和第一端口的标识信息,以使主节点判定环网发生链路故障并确定环网上的故障点的位置。
本实施例的环网在链路层使用RRPP技术,是一个环形连接的以太网拓扑。在环网上,每台设备都被称为一个节点,节点的角色可由用户的配置来决定。在环网上,有且只有一个节点为主节点,其他节点均为传输节点。主节点是环网状态主动检测机制的发起者,也是网络拓扑发生改变后执行操作的决策者。传输节点主要负责监测自己的直连RRPP链路的状态,并把链路变化通知主节点,然后由主节点来决策如何处理。
主节点和传输节点各自有两个端口接入环网,其中一个端口为主端口,另一个端口为副端口,端口的角色可由用户的配置来决定。在本实施例中,无论是主端口还是副端口,传输节点对其处理方式都是相同的,因此,在本实施例中,将传输节点上接入环网的两个端口称为第一端口和第二端口。如果第一端口是主端口,则第二端口是副端口;如果第一端口是副端口,则第二端口就是主端口。
本实施例以第一端口为例进行说明。具体的,传输节点监测传输节点的第一端口的状态,当监测到第一端口故障时,传输节点从与第一端口配对的第二端口向主节点发送链路故障报文,并在链路故障报文中携带传输节点的标识信息和第一端口的标识信息。其中,第一端口实际上是发生故障的端口。这样主节点一方面可以根据链路故障报文获知环网上发生了链路故障,另一方面可以根据链路故障报文中携带的传输节点的和第一端口的标识信息,确定出环网上故障点的位置,有利于准确、快速的定位故障点的位置。
上述传输节点的标识信息除了是传输节点的MAC地址外,还可以是其它更有利于定位故障点位置的信息,例如可以包括传输节点的IP地址、传输节点的名称等。相应的,传输节点的第一端口的标识信息也可以是便于定位故障点的位置的信息,例如可以包括第一端口的名称、第一端口的端口号、第一端口的端口类型等。
另外,本实施例的链路故障报文的格式也可以如图2所示。传输节点也可以使用图2所示任何一个预留字段来携带传输节点的标识信息和传输节点的第一端口的标识信息。或者,传输节点也可以通过对链路故障报文进行扩展,添加新的字段来携带上述信息。
图5为本发明另一实施例提供的环网的结构示意图。如图5所示,该环网包括:主节点51、传输节点52、传输节点53和传输节点54。主节点51包括主端口S1和副端口S2;传输节点52包括主端口S3和副端口S4;传输节点53包括主端口S5和副端口S6;传输节点54包括主端口S7和S8。
正常情况下,主节点51从其主端口S1发出的Hello报文会依次经过传输节点52、传输节点53和传输节点54到达其副端口S2。
假设传输节点52与传输节点53之间的链路故障,则传输节点52会监测到其副端口S4发生故障,于是从其配对的主端口S3向主节点51发送链路故障报文;相应的,传输节点53会监测到其主端口S5发生故障,于是从配对的副端口S6向主节点51发送链路故障报文。在本实施例中,传输节点52会在其发送的链路故障报文中携带传输节点52和副端口S4的信息;传输节点53也会在其发送的链路故障报文中携带传输节点53和主端口S5的信息。这样主节点收到传输节点52和传输节点53发送的链路故障报文后,可以确定出环网发生链路故障,另外还可以根据链路故障报文中携带的信息,确定出环网上故障点的位置,既保证了确定环网发生链路故障的及时性,又能够及时、准确的定位出故障点的位置。可选的,主节点51可以向网管***上报故障告警信息并在其中携带故障点的位置信息,有利于环网的维护。
图6为本发明一实施例提供的链路故障处理方法的流程图。如图6所示,本实施例的方法包括:
步骤601、环网上的主节点接收环网上的传输节点发送的链路故障报文,该链路故障报文包括:传输节点的标识信息和传输节点上故障端口的标识信息。
步骤602、环网上的主节点根据接收到的链路故障报文判定环网发生链路故障,并确定环网上故障点的位置。
在本实施例中,所述传输节点是指可以判定出其某个端口发生故障的传输节点,即故障端口所在的传输节点,并不包括中间进行转发的传输节点。
本实施例提供的链路故障处理方法,可以与上述各实施例提供的链路故障上报方法相结合。基于此,步骤601可以有不同的实现方式。举例说明:
如果本实施例的传输节点是根据图1或图3所示实施例提供的方法探测到故障的,则在步骤601中,主节点具体是从其副端口接收传输节点发送的链路故障报文。可选的,主节点有可能接收到多个传输节点发送的链路故障报文,其中,每个传输节点发送的链路故障报文分别包括每个传输节点自身的标识信息和每个传输节点自身的故障端口的标识信息。本实施例所涉及的“多个”是指两个或两个以上。
如果本实施例的传输节点是根据图4或图5所示实施例提供的方法探测到故障的,则在步骤601中,主节点有可能从其主端口接收到链路故障报文,也有可能从其副端口接收到链路故障报文。并且,主节点还会接收到两个链路故障报文。
由上述可见,步骤601的一种可选实施方式包括:主节点接收环网上多个传输节点分别发送的链路故障报文。基于此,步骤602的一种实现方式包括:主节点根据多个链路故障报文中第一个接收到的链路故障报文,判定环网发生链路故障;然后,同时根据多个链路故障报文,确定环网上的故障点的位置。可选的,主节点可以根据多个链路故障报文中每个链路故障报文中的传输节点的标识信息,确定多个传输节点的上下游关系,再根据上下游关系中处于最上游的传输节点发送的链路故障报文,来确定环网上的故障点的位置。
在一可选实施方式中,如图6所示,本实施例的方法在步骤602之后还包括:
步骤603、主节点向网管***发送链路故障告警信息,该链路故障告警信息包括标识故障点的位置的信息。其中,标识故障点的位置的信息可以是某个传输节点的标识信息和该传输节点上故障端口的标识信息,或者还可以是两个传输节点的标识信息和每个传输节点上故障端口的标识信息。
本实施例通过将标识故障点的位置的信息上报给网管***,有利于维护人员及时根据标识故障点的位置的信息进行故障排查,有利于准确定位故障点,提高排查效率,利于环网的维护。
图7为本发明一实施例提供的传输节点的结构示意图。如图12所示,本实施例的传输节点包括:接收模块71和发送模块72。
接收模块71,用于监听处于环网上的本实施例的传输节点的主端口,以等待接收报文。
发送模块72,与接收模块71连接,用于在接收模块71在预设的接收时间内未在上述主端口上接收到任何报文时,从与上述主端口配对的副端口向环网上的主节点发送第一链路故障报文,以使主节点根据第一链路故障报文判定环网发生链路故障;其中,上述接收时间小于环网的整条链路的传输时间。
在一可选实施方式中,如图8所示,本实施例的传输节点还可以包括:第一转发模块73。
第一转发模块73,与接收模块71连接,用于在接收模块71在发送模块72向主节点发送第一链路故障报文之后在上述主端口上接收到本实施例的传输节点的上游节点发送的第二链路故障报文时,向主节点转发第二链路故障报文,以使主节点同时根据第一链路故障报文和第二链路故障报文判定环网发生链路故障。
在一可选实施方式中,如图8所示,本实施例的传输节点还可以包括:第二转发模块74。
第二转发模块74,与接收模块71连接,用于在接收模块71在上述接收时间内在上述主端口上接收到本实施例的传输节点的上游节点发送的第二链路故障报文时,向主节点转发第二链路故障报文,以使主节点根据第二链路故障报文判定环网发生链路故障。
在一可选实施方式中,接收模块71具体可用于在上述主端口上开启故障检测定时器,在故障检测定时器定时结束前监听上述主端口,以等待接收报文;这里故障检测定时器的定时时长为上述接收时间。
在一可选实施方式中,如图8所示,本实施例的传输节点还可以包括:定时器关闭模块75和定时器重启模块76。
定时器关闭模块75,与接收模块71连接,用于在接收模块71在故障检测定时器定时结束前在上述主端口上接收到报文时,将故障检测定时器关闭。
定时器重启模块76,与接收模块71连接,用于在接收模块71在故障检测定时器定时结束后未在上述主端口上接收到任何报文时,重新启动故障检测定时器以继续监听上述主端口,直到重新启动故障检测定时器的次数达到预设的次数阈值为止。
可选的,上述第一链路故障报文包括:本实施例的传输节点的标识信息和上述主端口的标识信息,以使主节点根据本实施例的传输节点的标识信息和上述主端口的标识信息确定环网上故障点的位置。
可选的,上述第二链路故障报文包括:本实施例的传输节点的上游节点的标识信息和本实施例的传输节点的上游节点上的主端口的标识信息,以使主节点根据本实施例的传输节点的上游节点的标识信息和本实施例的传输节点的上游节点上的主端口的标识信息确定环网上故障点的位置。
本实施例提供的传输节点的各功能模块可用于执行上述图1或图3所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的传输节点,通过为其主端口设置小于环网整条链路的传输时间的接收时间,如果在预设的接收时间内在主端口上未接收到任何报文,则认为主端口发生故障,故主动从与主端口配对的副端口向主节点发送链路故障报文,使得主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间。
图9为本发明又一实施例提供的传输节点的结构示意图。如图9所示,本实施例的传输节点包括:接收器91、发送器92和总线;接收器91和发送器92通过总线连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
接收器91,用于监听处于环网上的本实施例的传输节点的主端口,以等待接收报文。
发送器92,用于在接收器91在预设的接收时间内未在上述主端口上接收到任何报文时,从与上述主端口配对的副端口向环网上的主节点发送第一链路故障报文,以使主节点根据第一链路故障报文判定环网发生链路故障;其中,上述接收时间小于环网的整条链路的传输时间。
进一步,本实施例的传输节点还包括:处理器93和存储器94等。处理器93,用于执行程序。具体地,该程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器93可能是一个中央处理器(Central Processing Unit,简称为CPU),者是特定集成电路(Application Specific Integrated Circuit,以下简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器94,用于存储上述程序、接收器91接收到报文以及暂存发送器92发送的报文等。存储器94可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
本实施例提供的传输节点可用于执行上述图1或图3所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的传输节点,通过为其主端口设置小于环网整条链路的传输时间的接收时间,如果在预设的接收时间内在主端口上未接收到任何报文,则认为主端口发生故障,故主动从与主端口配对的副端口向主节点发送链路故障报文,使得主节点不用等到其Fail定时器定时超时即可判定环网发生链路故障,减少了主节点检测到环网发生链路故障的时间。
图10为本发明又一实施例提供的传输节点的结构示意图。如图10所示,本实施例的传输节点包括:监测模块1001和发送模块1002。
监测模块1001,用于监测处于环网上的本实施例的传输节点的第一端口的状态。
发送模块1002,与监测模块1001连接,用于在监测模块1001监测到第一端口故障时,从与第一端口配对的第二端口向环网上的主节点发送链路故障报文,该链路故障报文包括:本实施例的传输节点的标识信息和上述第一端口的标识信息,以使主节点判定环网发生链路故障并确定环网上的故障点的位置。
本实施例提供的传输节点的各功能模块可用于执行上述图4或图5所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的传输节点,在监测到其某一端口发生故障时,从与该端口配对的另一端口主动向主节点发送链路故障报文,并在链路故障报文中携带传输节点自身的标识信息和发生故障的端口的标识信息,使得主节点根据链路故障报文既能够及时获知环网发生链路故障,又能够精确确定环网上故障点的位置,有利于精确定位故障点的位置。
图11为本发明又一实施例提供的传输节点的结构示意图。如图11所示,本实施例的传输节点包括:处理器1101、发送器1102、存储器1103和总线。处理器1101、发送器1102以及存储器1103通过总线连接并完成相互间的通信。所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1103,用于存储程序。具体地,该程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
处理器1101,用于执行程序,以用于监测处于环网上的本实施例的传输节点的第一端口的状态。处理器1101可能是一个中央处理器(CPU),者是特定集成电路(ApplicationSpecific Integrated Circuit,以下简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
发送器1102,与处理器1101连接,用于在处理器1101监测到第一端口故障时,从与第一端口配对的第二端口向环网上的主节点发送链路故障报文,该链路故障报文包括:本实施例的传输节点的标识信息和上述第一端口的标识信息,以使主节点判定环网发生链路故障并确定环网上的故障点的位置。
进一步,本实施例的传输节点还可以包括:接收器1104,用于从外界接收报文。
本实施例提供的传输节点可用于执行上述图4或图5所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的传输节点,在监测到其某一端口发生故障时,从与该端口配对的另一端口主动向主节点发送链路故障报文,并在链路故障报文中携带传输节点自身的标识信息和发生故障的端口的标识信息,使得主节点根据链路故障报文既能够及时获知环网发生链路故障,又能够精确确定环网上故障点的位置,有利于精确定位故障点的位置。
图12为本发明一实施例提供的主节点的结构示意图。如图12所示,本实施例的主节点包括:接收模块1201和故障位置确定模块1202。
接收模块1201,用于接收处于环网上的传输节点发送的链路故障报文,该链路故障报文包括:上述传输节点的标识信息和上述传输节点上故障端口的标识信息。
故障位置确定模块1202,与接收模块1201连接,用于根据接收模块1201接收到的链路故障报文判定环网发生链路故障,并确定环网上故障点的位置。
在一可选实施方式中,如图12所示,本实施例的主节点还包括:发送模块1203。
发送模块1203,用于向网管***发送链路故障告警信息,该链路故障告警信息包括标识环网上故障点的位置的信息。可选的,发送模块1203与接收模块1201连接,用于在接收模块1201接收到上述链路故障报文后,向网管***发送链路故障告警信息。
在一可选实施方式中,接收模块1201具体可用于接收环网上多个传输节点分别发送的链路故障报文。相应地,故障位置确定模块1202具体可用于根据多个链路故障报文中第一个接收到的链路故障报文,判定环网发生链路故障,并同时根据多个链路故障报文,确定环网上的故障点的位置。
本实施例提供的主节点的各功能模块可用于执行图6所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的主节点,接收环网上的传输节点发送的链路故障报文,链路故障报文携带传输节点的标识信息和传输节点上故障端口的标识信息,然后根据链路故障报文确定环网发生链路故障并确定环网上故障点的位置,有利于精确定位故障点的位置。
图13为本发明另一实施例提供的主节点的结构示意图。如图13所示,本实施例的主节点包括:处理器1301、接收器1302、存储器1303和总线。处理器1301、接收器1302以及存储器1303通过总线连接并完成相互间的通信。所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
接收器1302,用于接收处于环网上的传输节点发送的链路故障报文,该链路故障报文包括:上述传输节点的标识信息和上述传输节点上故障端口的标识信息。
存储器1303,用于存储程序,以及接收器1302接收到的链路故障报文等。具体地,该程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器1303可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
处理器1301,用于执行上程序,以用于根据接收器1302接收到的链路故障报文判定环网发生链路故障,并确定环网上故障点的位置。处理器1301可能是一个中央处理器CPU,者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
进一步,本实施例的主节点还可以包括:发送器1304,用于向外界发送报文,例如可以向网管***发送链路故障告警信息,该链路故障告警信息包括标识环网上故障点的位置的信息。
本实施例提供的主节点可用于执行图6所示实施例中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的主节点,接收环网上的传输节点发送的链路故障报文,链路故障报文携带传输节点的标识信息和传输节点上故障端口的标识信息,然后根据链路故障报文确定环网发生链路故障并确定环网上故障点的位置,有利于精确定位故障点的位置。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。