故障检测方法及装置与流程

文档序号:11234414阅读:947来源:国知局
本发明涉及通信领域,具体而言,涉及一种故障检测方法及装置。
背景技术
::随着软件定义网络(softwaredefinednetwork,简称为sdn)技术和网络功能虚拟化(networkfunctionvirtualization,简称为nfv)在这些年的迅速发展,网络的部署可控性越来越强,控制复杂度也随之越来越高。尤其是像核心网络以及汇聚网络这样的中间网络,为了适配不同的业务,满足不同的部署需求,控制手段越来越繁杂。尤其是组播应用如多播虚拟专用网(multicastvirtualprivatenetwork,简称为mvpn)和交互式网络电视(internetprotocoltelevision,简称为iptv)等,需要的中间网络节点状态数量指数级增长。为此,业界提出了一种新的用于构建组播转发路径的技术,称为具有位索引的显式复制技术(bitindexedexplicitreplication,简称为bier)。bier技术,通过对转发层面的彻底改造,能极大的减轻中间网络的协议复杂度和中间状态。将网络的转发简化成只根据比特bit位进行,颠覆了传统的互联网协议(internetprotocol,简称为ip)转发,能够非常容易的实现组播流量在中间网络的传输,无需中间网络记录任何的组播流量状态,极大的方便了网络的运维。bier是基于bit位的组播复制技术,在bier域中,给每台位转发出口路由器(bit-forwardingegressrouters,简称为bfer)分配一个在整个bier子域sub-domain中全局唯一的比特位置bitposition,每台bfer将自己的bitposition使用内部网关协议(interiorgatewayprotocol,简称为igp)在bierdomain域中泛洪,所有的bitposition组成一个位串(bitstring),数据报文在bier域中的传递和路由依赖于bitstring。当其他位转发路由器(bitforwardingrouter,简称为bfr)收到了包含有bier的报文头时,根据bier报文头中携带的bitstring基于位转发表bitforwardingtable进行转发。这种基于bierbit位进行转发的原理大大减少网络的转发成本。图1是相关技术中的bier-te组网图,其中,该基于流量工程扩展的位索引显式复制(bitindexexplicitreplication-trafficenginering,简称为bier-te)与bier类似,根据报文头中的bitstring转发和复制报文,但是bier-te与bier的关键区别如下:1)使用bier-te控制器计算的显式路径替代网络内的自动路径计算。2)bitstring中的每个bitposition表示一个或多个邻接体adjacency,而不是表示一个bfer。3)bfr上只需要有bier-te转发表forwardingtable(bift),不需要有路由表。但是目前对于bier-te并没有相关的路径检测技术。针对相关技术中存在的无法实现bier-te中的路径检测的问题,目前尚未提出有效的解决方案。技术实现要素:本发明提供了一种故障检测方法及装置,以至少解决相关技术中存在的无法实现bier-te中的路径检测的问题。根据本发明的一个方面,提供了一种故障检测方法,包括:接收来自控制器的用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息;根据所述oam检测消息对所述bier-te路径进行故障检测。可选地,接收来自所述控制器的用于请求检测所述bier-te路径的所述oam检测消息包括:通过用于接收bier-te数据报文的路径接收所述oam检测消息。可选地,当接收所述oam检测消息的节点为位转发入口路由器bfir或位转发路由器bfr时,根据所述oam检测消息对所述bier-te路径进行故障检测包括:所述bfir或bfr根据所述oam检测消息中携带的位转发出口路由器bfer信息将所述oam检测消息转发给所述bfer信息对应的bfer,其中,所述oam检测消息用于指示所述bfer执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果;或者,所述bfir或bfr根据所述oam检测消息的生存时间ttl对所述bier-te路径进行故障检测,其中:当所述ttl的值为1时,所述bfir或bfr根据所述oam检测消息执行对所述bier-te路径进行故障检测的校验;当所述ttl的值为大于1的m值时,所述bfir或bfr将所述oam检测消息转发给所述bfir或bfr后的第m-1跳节点,所述oam检测消息用于指示所述bfir或bfr后的第m-1跳节点根据所述oam检测消息执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果。可选地,当接收所述oam检测消息的节点为位转发出口路由器bfer时,接收来自所述控制器的所述oam检测消息包括:所述bfer接收位转发入口路由器bfir或位转发路由器bfr转发的来自所述控制器的所述oam检测消息;根据所述oam检测消息对所述bier-te路径进行故障检测包括:所述bfer根据所述oam检测消息执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果。可选地,当执行校验操作的为bfer时,所述bfer通过如下方式执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果:所述bfer将所述oam检测消息中携带的bier-te数据头header中的位串bitstring与所述oam检测消息中携带的bier-te响应请求echorequest中的bier-te本地解封装类型长度值local_decaptlv相校验;当所述bfer校验出所述bier-telocal_decaptlv中携带的通告节点标识advertisingnodeidentifier中填写的是所述bfer地址,并且所述bfer的邻接体标识adjacencyid与所述bitstring中相应的bit表示的索引一致时,校验成功,向所述控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向所述控制器发送携带校验失败信息的bier-te响应应答echoreply。可选地,当执行校验操作的为bfer时,所述bfer通过如下方式执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果:所述bfer将所述oam检测消息中携带的bier-te数据头header中的位串bitstring与所述oam检测消息中携带的bier-te响应请求echorequest中的目的位串类型长度值targetsi-bitstringtlv相与;当相与结果不为0时,所述bfer执行如下操作:当确定所述bier-teheader外封装的bier-多协议标签交换mpls标签lable中的bier-label-l与所述bier-teechorequest中的原始位串类型长度值originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致时,向所述控制器发送携带set-identifiermismatch的bier-te响应应答echoreply;当确定所述bier-teechorequest中存在不识别的tlv时,向所述控制器发送携带不识别的tlv的bier-te响应应答echoreply;当确定所述bier-teheader中的bitstring与所述bier-teechorequest中携带的下游映射downstreammappingtlv中的出口位串子-类型长度值egressbitstringsub-tlv不匹配时,向所述控制器发送携带不匹配信息的bier-te响应应答echoreply;当所述bfer没有匹配到bift表项时,向所述控制器发送携带不匹配表项的bier-te响应应答echoreply;当确定不存在任何问题时,若所述targetsi-bitstringtlv中还存在除所述出口bfer之外的其他bfer的本地解封装邻接体local_decapadjacency索引时,向所述控制器发送携带"replyingrouterisoneofthebferinbierheaderbitstring"信息的bier-te响应应答echoreply;若所述targetsi-bitstringtlv中不存在其他bfer的local_decapadjacency索引时,向所述控制器发送携带"replyingrouteristheonlybferinbierheaderbitstring"信息的bier-te响应应答echoreply;当相与结果为0时,所述bfer向所述控制器发送携带“replyingbfrisnotinthepathtoanytargetbfer”信息的bier-te响应应答echoreply。可选地,当执行校验操作的为bfir或bfr时,所述bfir或bfr通过如下方式执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果:所述bfir或bfr根据所述oam检测消息中携带的bier-te数据头header中的位串bitstring与所述oam检测消息中携带的bier-te响应请求echorequest中的目的转发等价类堆栈类型长度值targetfecstacktlv中的相应的邻接体adjacencyfec进行校验,并向所述控制器反馈校验结果。可选地,各adjacency索引在所述bitstring中的前后顺序与相应的fec在fec栈中的前后顺序保持一致。可选地,所述targetfecstacktlv中的相应的adjacencyfec包括前向连接forward_connectedtlv和/或前向路由forward_routedtlv,其中,当包括所述forward_connectedtlv时,当所述bfir或bfr校验出所述bier-teforward_connectedtlv中填写的是所述bfir或bfr的一条直连链路,并且所述bfir或bfr为所述直连链路分配的adjacencyid与所述bitstring中相应的bit表示的索引一致时,校验成功,向所述控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向所述控制器发送携带校验失败信息的bier-te响应应答echoreply;当包括所述forward_routedtlv时,当所述bfir或bfr校验出所述bier-teforward_routedtlv中填写的是前缀prefix信息,并且所述bfir或bfr为所述prefix分配的adjacencyid与所述bitstring中相应的bit表示的索引一致时,校验成功,向所述控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向所述控制器发送携带校验失败信息的bier-te响应应答echoreply。可选地,当所述bfir或bfr向所述控制器发送携带校验成功信息的bier-te响应应答echoreply时,所述bier-teechoreply中还携带有:下游映射downstreammappingtlv信息,其中,所述downstreammappingtlv中携带下游节点地址,及下游接口地址;以及,fecstackchangetlv,其中,所述fecstackchangetlv用于告知所述控制器弹出所述targetfecstacktlv中的相应的adjacencyfec。可选地,当执行校验操作的为bfir或bfr时,所述bfir或bfr通过如下方式执行对所述bier-te路径进行故障检测的校验,并向所述控制器反馈校验结果:bfir或bfr将所述oam检测消息中携带的bier-te数据头header中的位串bitstring与所述oam检测消息中携带的bier-te响应请求echorequest中的targetsi-bitstringtlv相与;当相与结果不为0时,所述bfir或bfr执行如下操作:当确定所述bier-teheader外封装的bier-多协议标签交换mpls标签lable中的bier-label-l与所述bier-teechorequest中的originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,向所述控制器发送携带set-identifiermismatch的bier-te响应应答echoreply;当确定所述bier-teechorequest中存在不识别的tlv时,向所述控制器发送携带不识别的tlv的bier-te响应应答echoreply;当确定所述bier-teheader中的bitstring与所述bier-teechorequest中携带的下游映射downstreammappingtlv中的egressbitstringsub-tlv不匹配时,向所述控制器发送携带不匹配信息的bier-te响应应答echoreply;当所述bfir或bfr没有匹配到bift表项时,向所述控制器发送携带不匹配表项的bier-te响应应答echoreply;当确定不存在任何问题时,向所述控制器发送携带包转发成功packet-forward-success信息的bier-te响应应答echoreply;当相与结果为0时,所述bfir或bfr向所述控制器发送携带“replyingbfrisnotinthepathtoanytargetbfer”信息的bier-te响应应答echoreply。根据本发明的另一方面,提供了一种故障检测方法,包括:向位转发入口路由器bfir发送用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息,其中,所述oam检测消息用于指示所述bfie根据所述oam检测消息对所述bier-te路径进行故障检测。可选地,向所述bfir发送用于请求检测所述bier-te路径的所述oam检测消息包括:向所述bfir发送用于请求检测所述bier-te路径的所述oam检测消息,其中,所述oam检测消息中携带位转发出口路由器bfer信息,所述bfer信息用于所述bfir根据所述bfer信息将所述oam检测消息转发给所述bfer信息对应的bfer,所述oam检测消息用于指示所述bfer执行对所述bier-te路径进行故障检测的校验,并反馈校验结果;或者,向所述bfir发送用于请求检测所述bier-te路径的携带有生存时间ttl的所述oam检测消息,其中:当所述ttl的值为1时,所述oam检测消息用于指示所述bfir根据所述oam检测消息执行对所述bier-te路径进行故障检测的校验;当所述ttl的值为大于1的m值时,所述oam检测消息用于指示所述bfir将所述oam检测消息转发给所述bfir后的第m-1跳节点,所述oam检测消息用于指示所述bfir后的第m-1跳节点根据所述oam检测消息执行对所述bier-te路径进行故障检测的校验,并反馈校验结果。可选地,当向所述bfir发送用于请求检测所述bier-te路径的携带有生存时间ttl的所述oam检测消息时,所述oam检测消息中携带的bier-te响应请求echorequest中的目的转发等价类堆栈类型长度值targetfecstacktlv中压入与位串bitstring中所有邻接体adjacency相应的转发等价类fec,其中,所述bitstring位于所述oam检测消息中携带的bier-te数据头header中。可选地,在向所述bfir发送用于请求检测所述bier-te路径的所述oam检测消息之后,所述方法还包括:接收所述bfir或待检测路径上所述bfir后的位转发路由器bfr反馈的携带校验成功信息的bier-te响应应答echoreply消息,其中,所述bier-teechoreply消息中携带有下游映射downstreammappingtlv信息以及转发等价类堆栈变更类型长度值fecstackchangetlv;根据所述downstreammappingtlv信息设置待发送oam检测消息的ttl,以及,根据所述fecstackchangetlv弹出所述待发送oam检测消息中携带的bier-te响应请求echorequest中的targetfecstacktlv中的相应的adjacency相应的fec;向所述bfir发送所述待发送oam检测消息。根据本发明的另一方面,提供了一种故障检测装置,包括:接收模块,用于接收来自控制器的用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息;检测模块,用于根据所述oam检测消息对所述bier-te路径进行故障检测。根据本发明的另一方面,提供了一种故障检测装置,包括:发送模块,用于向位转发入口路由器bfir发送用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息,其中,所述oam检测消息用于指示所述bfie根据所述oam检测消息对所述bier-te路径进行故障检测。通过本发明,采用接收来自控制器的用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息;根据所述oam检测消息对所述bier-te路径进行故障检测。解决了相关技术中存在的无法实现bier-te中的路径检测的问题,进而达到了实现bier-te中的路径检测,保证bier-te中的报文的可靠传输的效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是相关技术中的bier-te组网图;图2是根据本发明实施例的第一种故障检测方法的流程图;图3是根据本发明实施例的第二种故障检测方法的流程图;图4是根据本发明实施例的bier-teoam消息格式示意图;图5是根据本发明实施例的echorequest/replyheaderformat示意图;图6是根据本发明实施例的originalbitstringtlv的格式图;图7是根据本发明实施例的targetbitstringtlv的格式图;图8是根据本发明实施例的downstreammappingtlv的格式图;图9是根据本发明实施例的bier-teforward_connectedtlv的格式图;图10是根据本发明实施例的bier-telocal_decaptlv的格式图;图11是根据本发明实施例的bier-teforward_routedtlv的一种格式图;图12是根据本发明实施例的bier-teforward_routedtlv的另外一种格式图;图13是根据本发明具体实施例一的故障检测示意图;图14根据本发明具体实施例二的故障检测示意图一;图15根据本发明具体实施例二的故障检测示意图二;图16根据本发明具体实施例二的故障检测示意图三;图17根据本发明具体实施例二的故障检测示意图四;图18是根据本发明具体实施例三的故障检测示意图一;图19是根据本发明具体实施例三的故障检测示意图二;图20是根据本发明具体实施例三的故障检测示意图三;图21是根据本发明实施例的第一种故障检测装置的结构框图;图22是根据本发明实施例的第二种故障检测装置的结构框图。具体实施方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。在本实施例中提供了一种故障检测方法,图2是根据本发明实施例的第一种故障检测方法的流程图,如图2所示,该流程包括如下步骤:步骤s202,接收来自控制器的用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护(operationadministrationandmaintenance,简称为oam)检测消息;步骤s204,根据上述oam检测消息对bier-te路径进行故障检测。其中,执行上述步骤的可以是位转发入口路由器(bit-forwardingingressrouter,简称为bfir),可以是bfer,还可以是其他的bfr。通过上述步骤,可以接收控制器发送的bier-teoam检测消息的方式,进而可以根据该oam检测消息完成对bier-te路径的检测,解决了相关技术中存在的无法实现bier-te中的路径检测的问题,进而达到了实现bier-te中的路径检测,保证bier-te中的报文的可靠传输的效果。在一个可选的实施例中,接收来自上述控制器的用于请求检测bier-te路径的oam检测消息包括:通过用于接收bier-te数据报文的路径接收上述oam检测消息。即,在该实施例中,oam检测消息与bier数据面可以走相同的路径,无需增加其他的传输oam检测消息的路径,从而节省了资源。在一个可选的实施例中,在对bier-te路径进行故障检测时,有两种检测方案,一种是基于ping技术进行检测,一种是基于traceroute技术进行检测,下面分别对两种检测技术进行说明:当采用的是ping技术对路径进行检测时,当接收上述oam检测消息的节点为位转发入口路由器bfir或位转发路由器bfr时,根据该oam检测消息对bier-te路径进行故障检测包括:bfir或bfr根据oam检测消息中携带的位转发出口路由器bfer信息将oam检测消息转发给bfer信息对应的bfer,其中,该oam检测消息用于指示bfer执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果。由此可知,bier-teping技术中主要是通过发起节点(对应于上述的控制器)验证bier-te路径发送请求消息,在出节点(对应于上述的bfer)进行上送处理。出节点验证需要校验fec,向发起节点回应响应应答消息,从而实现bier-te的故障检测。进一步地,可以在bier请求消息中制定bfer出口信息(对应于上述的bfer信息),来控制哪些bfer节点回复reply。当采用的是traceroute技术对路径进行检测时,bfir或bfr根据oam检测消息的生存时间(timetolive,简称为ttl)对bier-te路径进行故障检测,其中:当ttl的值为1时,bfir或bfr根据oam检测消息执行对bier-te路径进行故障检测的校验;当ttl的值为大于1的m值时,bfir或bfr将oam检测消息转发给bfir或bfr后的第m-1跳节点,该oam检测消息用于指示bfir或bfr后的第m-1跳节点根据oam检测消息执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果。在该实施例中,ttl可以携带在控制器发出的oam检测消息中的bier-mpls(多协议标签交换,multi-protocollabelswitching)标签lable中,且控制器发出的oam检测消息中的ttl可以从1开始递增,实现对故障的准确定位。在该实施例中,当控制器收到所有bfer的reply回复的returncode均为"replyingrouteristheonlybferinbierheaderbitstring"时可以停止发送echorequest。进一步地,控制器可以在echorequest中包含出口bfer信息,以控制向哪些bfer做路径trace。其中,接收设备(即,上述的bfir、bfer或者bfr)将检测结果上送给控制器的条件包括以下至少之一:接收设备是bfer,bier-mplslable中的ttl超时。在一个可选的实施例中,当接收上述oam检测消息的节点为位转发出口路由器bfer时,接收来自控制器的oam检测消息包括:bfer接收位转发入口路由器bfir或位转发路由器bfr转发的来自控制器的oam检测消息;根据该oam检测消息对bier-te路径进行故障检测包括:bfer根据oam检测消息执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果。在该实施例中,bfer接收bfir或bfr转发的oam检测消息也可以是在采用上述的ping技术或traceroute技术下接收的。在一个可选的实施例中,在采用ping技术对bier-te路径进行检测时,当执行校验操作的为bfer时,bfer可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfer将oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的bier-te本地解封装类型长度值local_decaptlv相校验;当bfer校验出bier-telocal_decaptlv中携带的通告节点标识advertisingnodeidentifier中填写的是bfer地址,并且bfer的邻接体标识adjacencyid与bitstring中相应的bit表示的索引一致时,校验成功,向控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向控制器发送携带校验失败信息的bier-te响应应答echoreply。在一个可选的实施例中,在采用traceroute技术对bier-te路径进行检测时,当执行校验操作的为bfer时,bfer可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfer将oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的目的位串类型长度值targetsi-bitstringtlv相与;当相与结果不为0时,bfer执行如下操作:当确定bier-teheader外封装的bier-多协议标签交换mpls标签lable中的bier-label-l与bier-teechorequest中的原始位串类型长度值originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致时,向控制器发送携带set-identifiermismatch的bier-te响应应答echoreply;当确定bier-teechorequest中存在不识别的tlv时,向控制器发送携带不识别的tlv的bier-te响应应答echoreply;当确定bier-teheader中的bitstring与bier-teechorequest中携带的下游映射downstreammappingtlv中的出口位串子-类型长度值egressbitstringsub-tlv不匹配时,向控制器发送携带不匹配信息的bier-te响应应答echoreply;当bfer没有匹配到bift表项时,向控制器发送携带不匹配表项的bier-te响应应答echoreply;当确定不存在任何问题时,若targetsi-bitstringtlv中还存在除所述出口bfer之外的其他bfer的本地解封装邻接体local_decapadjacency索引时,向控制器发送携带"replyingrouterisoneofthebferinbierheaderbitstring"信息的bier-te响应应答echoreply;若targetsi-bitstringtlv中不存在其他bfer的local_decapadjacency索引时,向控制器发送携带"replyingrouteristheonlybferinbierheaderbitstring"信息的bier-te响应应答echoreply;当相与结果为0时,bfer向所述控制器发送携带“replyingbfrisnotinthepathtoanytargetbfer”信息的bier-te响应应答echoreply。在一个可选的实施例中,在采用ping技术对bier-te路径进行检测时,当执行校验操作的为bfir或bfr时,bfir或bfr可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfir或bfr根据oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的目的转发等价类堆栈类型长度值targetfecstacktlv中的相应的邻接体adjacencyfec进行校验,并向控制器反馈校验结果。在一个可选的实施例中,各adjacency索引在bitstring中的前后顺序与相应的fec在fec栈中的前后顺序保持一致。在一个可选的实施例中,上述targetfecstacktlv中的相应的adjacencyfec包括前向连接forward_connectedtlv和/或前向路由forward_routedtlv,其中,当包括上述forward_connectedtlv时,当bfir或bfr校验出bier-teforward_connectedtlv中填写的是bfir或bfr的一条直连链路,并且bfir或bfr为所述直连链路分配的adjacencyid与bitstring中相应的bit表示的索引一致时,校验成功,向控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向控制器发送携带校验失败信息的bier-te响应应答echoreply;当包括上述forward_routedtlv时,当bfir或bfr校验出bier-teforward_routedtlv中填写的是前缀prefix信息,并且bfir或bfr为prefix分配的adjacencyid与bitstring中相应的bit表示的索引一致时,校验成功,向控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向控制器发送携带校验失败信息的bier-te响应应答echoreply。在一个可选的实施例中,当bfir或bfr向控制器发送携带校验成功信息的bier-te响应应答echoreply时,bier-teechoreply中还携带有:下游映射downstreammappingtlv信息,其中,该downstreammappingtlv中携带下游节点地址,及下游接口地址;以及,fecstackchangetlv,其中,fecstackchangetlv用于告知所述控制器弹出targetfecstacktlv中的相应的adjacencyfec。在该实施例中,adjacencyfec是对应的forward_connectedtlv或者forward_routedtlv。在一个可选的实施例中,在采用traceroute技术对bier-te路径进行检测时,当执行校验操作的为bfir或bfr时,bfir或bfr可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfir或bfr将oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的targetsi-bitstringtlv相与;当相与结果不为0时,bfir或bfr执行如下操作:当确定bier-teheader外封装的bier-多协议标签交换mpls标签lable中的bier-label-l与bier-teechorequest中的originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,向控制器发送携带set-identifiermismatch的bier-te响应应答echoreply;当确定bier-teechorequest中存在不识别的tlv时,向控制器发送携带不识别的tlv的bier-te响应应答echoreply;当确定bier-teheader中的bitstring与所述bier-teechorequest中携带的下游映射downstreammappingtlv中的egressbitstringsub-tlv不匹配时,向控制器发送携带不匹配信息的bier-te响应应答echoreply;当bfir或bfr没有匹配到bift表项时,向控制器发送携带不匹配表项的bier-te响应应答echoreply;当确定不存在任何问题时,向控制器发送携带包转发成功packet-forward-success信息的bier-te响应应答echoreply;当相与结果为0时,bfir或bfr向所述控制器发送携带“replyingbfrisnotinthepathtoanytargetbfer”信息的bier-te响应应答echoreply。在本实施例中还提供了一种故障检测方法,图3是根据本发明实施例的第二种故障检测方法的流程图,如图3所示,该流程包括如下步骤:步骤s302,向位转发入口路由器bfir发送用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息,其中,该oam检测消息用于指示bfie根据oam检测消息对bier-te路径进行故障检测。其中,执行上述步骤的可以是控制器。通过上述步骤,可以向bfir发送bier-teoam检测消息的方式,指示bfie根据该oam检测消息完成对bier-te路径的检测,解决了相关技术中存在的无法实现bier-te中的路径检测的问题,进而达到了实现bier-te中的路径检测,保证bier-te中的报文的可靠传输的效果。在一个可选的实施例中,在对bier-te路径进行故障检测时,有两种检测方案,一种是基于ping技术进行检测,一种是基于traceroute技术进行检测,下面分别对两种检测技术进行说明:当采用的是ping技术对路径进行检测时,向bfir发送用于请求检测bier-te路径的oam检测消息包括:向bfir发送用于请求检测bier-te路径的oam检测消息,其中,该oam检测消息中携带位转发出口路由器bfer信息,该bfer信息用于bfir根据bfer信息将oam检测消息转发给bfer信息对应的bfer,上述oam检测消息用于指示bfer执行对bier-te路径进行故障检测的校验,并反馈校验结果;当采用的是traceroute技术对路径进行检测时,向bfir发送用于请求检测bier-te路径的携带有生存时间ttl的oam检测消息,其中:当该ttl的值为1时,oam检测消息用于指示bfir根据oam检测消息执行对bier-te路径进行故障检测的校验;当ttl的值为大于1的m值时,oam检测消息用于指示bfir将oam检测消息转发给所述bfir后的第m-1跳节点,oam检测消息用于指示bfir后的第m-1跳节点根据oam检测消息执行对bier-te路径进行故障检测的校验,并反馈校验结果。其中,控制器发出的oam检测消息中的ttl可以从1开始递增,即,控制器可以先发送ttl=1的oam检测消息,在收到反馈后,再发送ttl=2的检测消息,以此类推,以实现对故障的准确定位。在一个可选的实施例中,当向上述bfir发送用于请求检测bier-te路径的携带有生存时间ttl的oam检测消息时,该oam检测消息中携带的bier-te响应请求echorequest中的目的转发等价类堆栈类型长度值targetfecstacktlv中压入与位串bitstring中所有邻接体adjacency相应的转发等价类fec,其中,该bitstring位于oam检测消息中携带的bier-te数据头header中。在一个可选的实施例中,在向bfir发送用于请求检测bier-te路径的oam检测消息之后,上述方法还包括:接收bfir或待检测路径上bfir后的位转发路由器bfr反馈的携带校验成功信息的bier-te响应应答echoreply消息,其中,该bier-teechoreply消息中携带有下游映射downstreammappingtlv信息以及转发等价类堆栈变更类型长度值fecstackchangetlv;根据downstreammappingtlv信息设置待发送oam检测消息的ttl,以及,根据fecstackchangetlv弹出所述待发送oam检测消息中携带的bier-te响应请求echorequest中的targetfecstacktlv中的相应的adjacency相应的fec;向bfir发送上述待发送oam检测消息。下面结合具体实施例对本发明进行说明:图4是根据本发明实施例的bier-teoam消息格式示意图。其中消息类型messagetype包括如下两种类型:1bier-teechorequest(bier-te响应请求)2bier-teechoreply(bier-te响应回复)图5是根据本发明实施例的echorequest/replyheaderformat示意图,其中replymode:默认设置为21donotreply2replyviaipv4/ipv6udppacket3replyviabier-tepacket本发明实施例中引入的tlv,具体格式见图6-图12。在下述的具体实施例中,具体实施例一至具体实施例三用的tlv,包括图6-图12,而具体实施例四用的tlv仅包含图6-图8。下面从具体的实施例具体介绍一种基于流量工程扩展的位索引显式复制的故障检测方法。具体实施例一图1中描述了相关技术中的bier-te组网图,图中bier-te域内的所有节点均与控制器相连。图13是根据本发明具体实施例一的故障检测示意图,下面结合图13对本实施例进行说明:在本实施例中提供了一种基于流量工程扩展的位索引显式复制的故障检测方法,主要是利用ping技术,bier-teping技术中主要是通过发起节点(即,图13中的控制器)验证bier-te路径发送请求消息,在出节点(即,图13中的bfer1和/或bfer2)进行上送处理。出节点验证需要校验fec,向发起节点回应响应应答消息,从而实现bier-te的故障检测,如图13所示,在纯bier-te网络中,假设从控制器发起一个bier-te故障检测消息到bfer1及bfer2节点,其具体过程如下:步骤s1301,bier-te控制器发起故障检测消息。故障检测消息中:包括bier-teheader及bier-teechorequest消息,其中bier-teechorequest在bier-teheader的后面,bierheader中proto字段为5表示是bier-teoam报文。bier-teheader的外层继续封装bier-mplslabel。ping模式时bier-mplslabel的ttl设为255。bier-teechorequest中封装本发明实施例中提出的bier-telocal_decaptlv。还可以包含targetsi-bitstringtlv,控制哪些bfer要回复reply。步骤s1302,bfir1接收到控制器发起的故障检测消息,根据bier-teheader转发故障检测消息通过bfr1、bfr2、bfr3转发至bfer1及bfer2节点。步骤s1303,bfer1及bfer2节点接收到故障检测消息后,进行fec校验。其中fec的格式见图6所示的bier-telocal_decaptlv格式,bfer(即,上述的bfer1和/或bfer2)节点将bier-teheader中的bitstring与bier-telocal_decaptlv相校验。该tlv中,校验成功的情况如下:bfer1节点收到的advertisingnodeidentifier(该advertisingnodeidentifier携带在bier-telocal_decaptlv中)中填写的是bfer1节点地址,并且bfer1adjacencyid与bitstring中相应的bit表示的索引一致;bfer2节点收到的advertisingnodeidentifier中填写的是bfer2节点地址,并且bfer2adjacencyid与bitstring中相应的bit表示的索引一致。步骤s1304,若校验成功,bfer1及bfer2节点分别回应一个bier-teechoreply消息给控制器。步骤s1305,若校验失败,bfer1及bfer2节点分别回应一个携带fec校验失败的echoreply消息给控制器。步骤s1306,若链路出现故障,则bfer节点无法收到bier-teechorequest消息,将不会回复任何bier-teechoreply消息。具体实施例二图14-17是根据本发明具体实施例二的故障检测示意图,该实施例中主要是介绍纯bier-te网络中的traceroute模式,traceroute模式时可以从ttl=1递增并且收到所有bfer的reply回复的returncode均为"replyingrouteristheonlybferinbierheaderbitstring"时停止发送echorequest。当然,可以包含targetsi-bitstringtlv,控制器控制向哪些bfer做路径trace。如图14-17所示,该流程包括如下步骤:步骤s1401,bier-te控制器发起ttl=1的故障检测消息。该故障检测消息中:包括bier-teheader及bier-teechorequest消息,其中bier-teechorequest在bier-teheader的后面,bierheader中proto字段为5表示该故障检测消息是bieroam报文。bierheader的外层继续封装bier-mplslabel。traceroute时bier-mplslabel的ttl递增。bier-teechorequest在targetfecstacktlv中压入bitstring中所有adjacency相应的fec。各adjacency索引在bitstring中的前后顺序与相应的fec在fec栈中的前后顺序保持一致。步骤s1402,bfir1接收到控制器发起的ttl=1的故障检测消息后,根据bierheader中的bitstring与targetfecstacktlv中的相应的bier-teforward_connectedtlv进行校验。验证成功的情况如下:bfir1节点收到的bier-teforward_connectedtlv中填写的是bfir1的一条直连链路,并且bfir1为该链路分配的adjacencyid与bitstring中相应的bit表示的索引一致。步骤s1403,若校验成功,bfir1回应bier-teechoreply消息给控制器。该bier-teechoreply消息中需要携带downstreammappingtlv给控制器,downstreammappingtlv中携带下游节点地址,及下游接口地址,还可以包括fecstackchangetlv,以告知控制器弹出bier-tetargetfecstacktlv中的相应的forward_connectedtlv。步骤s1404,若校验失败,bfir1回应一个携带fec校验失败的echoreply消息给控制器。步骤s1405:控制器发起ttl=2的故障检测消息。步骤s1406:bfir1接收到ttl=2的报文,将ttl减1,然后转发这个报文给bfr1。步骤s1407,报文到达bfr1节点时,ttl=1,bfr1根据bierheader中的bitstring与targetfecstacktlv中的相应的bier-teforward_connectedtlv进行校验。校验成功的情况如下:bir1节点收到的bier-teforward_connectedtlv中填写的是bfr1的一条直连链路,并且bfir1为该链路分配的adjacencyid与bitstring中相应的bit表示的索引一致。步骤s1408,若校验成功,bfr1回应bier-teechoreply消息给控制器。echoreply消息中携带fecstackchangetlv,告知控制器弹出bier-tetargetfecstacktlv中的相应的forward_connectedtlv,bier-teechoreply消息需要携带downstreammappingtlv给控制器,downstreammappingtlv中携带下游节点地址,及下游接口地址。步骤s1409,若校验失败,bfr2回应一个携带fec校验失败的echoreply消息给控制器。步骤s1410:控制器发起ttl=3的故障检测消息。步骤s1411:报文通过bfir1及bfr1节点时,ttl分别减1,并按照bierheader转发这个报文给bfr2。步骤s1412,报文到达bfr2节点时,ttl=1,bfr2根据bierheader中的bitstring与targetfecstacktlv中的相应的bier-teforward_connectedtlv进行校验。校验成功的情况如下:bfr2节点收到的bier-teforward_connectedtlv中填写的是bfr2的一条直连链路,并且bfir1为该链路分配的adjacencyid与bitstring中相应的bit表示的索引一致。步骤s1413,若校验成功,bfr2回应bier-teechoreply消息给控制器。该echoreply消息中携带fecstackchangetlv,告知控制器弹出bier-tetargetfecstacktlv中的相应的forward_connectedtlv,bier-teechoreply消息需要携带downstreammappingtlv给控制器,downstreammappingtlv中携带下游节点地址,及下游接口地址。步骤s1414,若校验失败,bfr2回应一个携带fec校验失败的echoreply消息给控制器。步骤s1415:控制器发起ttl=4的故障检测消息。步骤s1416:报文通过bfir1、bfr1及bfr2节点时,ttl分别减1,并按照bierheader转发这个报文给bfer。步骤s1417,报文到达bfer节点时,ttl=1,bfer根据bierheader中的bitstring与targetfecstacktlv中的相应的bier-telocal_decaptlv进行校验。校验成功的情况如下:bfer节点收到的advertisingnodeidentifier中填写的是bfer节点地址,并且分配的bfer的节点地址的adjacencyid与bitstring中相应的bit表示的索引一致。步骤s1418,若校验成功,bfer回应bier-teechoreply消息给控制器。步骤s1419,若校验失败,bfer回应一个携带fec校验失败的echoreply消息给控制器。具体实施例三图18-20是根据本发明具体实施例三的故障检测示意图,该实施例中主要是介绍纯bier-te网络中的traceroute模式,traceroute模式时从ttl=1递增并且收到所有bfer的reply回复的returncode均为"replyingrouteristheonlybferinbierheaderbitstring"时停止发送echorequest。当然,可以包含targetsi-bitstringtlv,控制向哪些bfer做路径trace。如图18-20所示,假设bfr2出现故障,该流程包括如下步骤:步骤s1501-s1509同步骤s1401-1409相同,这里不多做介绍。步骤s1510:控制器发起ttl=3的故障检测消息。步骤s1511:报文通过bfir1及bfr1节点时,ttl分别减1,并按照bierheader转发这个报文给bfr2。步骤s1512,报文到达bfr2节点时,由于bfr2节点出现故障,将不会向控制器回复bier-teechoreply消息,控制器等待特定的时间后,未收到回复报文,认为bfr1与bfr2之间的链路或者bfr2节点出现故障。具体实施例四本实施例中,介绍纯bier-te网络中的traceroute模式,traceroute模式时从ttl=1递增并且收到所有bfer的reply回复的returncode均为"replyingrouteristheonlybferinbierheaderbitstring"时停止发送echorequest。该实施例中引入originalsi-bitstringtlv、targetsi-bitstringtlv。如图13所示,该流程包括如下步骤:步骤s1601,bier-te控制器发起ttl=1的故障检测消息。该故障检测消息中可以包括bier-teheader及bier-teechorequest消息,其中bier-teechorequest在bier-teheader的后面,bier-teheader中proto字段为5表示是bier-teoam报文。bier-teheader的外层继续封装bier-mplslabel。traceroute时bier-mplslabel的ttl递增。bier-teechorequest可以包含targetsi-bitstringtlv,控制向哪些bfer做路径trace,也可以包含下游节点及接口的一些信息。步骤s1602,bfir1接收到控制器发起的ttl=1的故障检测消息后,将bierheader中的bitstring与targetsi-bitstringtlv相与。步骤s1603,若相与结果不为0,bfir节点需要做其他的检查。如果bier-label-l与本地为originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,则回复的报文中携带:set-identifiermismatch。如果echorequest消息中存在任何不理解(同上述的不识别)的tlv,则回复:不理解的tlv。如果bierheader中的bitstring与接收echorequest报文的入接口对应的echorequest报文中的ddmaptlv中的egressbitstringsub-tlv不匹配,需要回复不匹配信息。如果该节点没有匹配到bift表项,则回复:不匹配表项。如果没有任何问题,则回复code5:packet-forward-success给控制器。步骤s1604:控制器发起ttl=2的故障检测消息。步骤s1605:bfir1接收到ttl=2的报文,将ttl减1,转发这个报文给bfr1。步骤s1606,报文到达bfr1节点时,ttl=1,bfr1根据bierheader中的bitstring与targetsi-bitstringtlv相与。步骤s1607,若相与结果不为0,bfr1节点需要做其他的检查。bier-teechoreply消息需要携带downstreammappingtlv给控制器,downstreammappingtlv中携带下游节点地址,及下游接口地址。如果bier-label-l与本地为originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,则回复的报文中携带:set-identifiermismatch。如果echorequestmessage中存在任何不理解的tlv,则回复:不理解的tlv。如果bierheader中的bitstring与接收echorequest报文的入接口对应的echorequest报文中的ddmaptlv中的egressbitstringsub-tlv不匹配,需要回复不匹配信息。如果该节点没有匹配到bift表项,则回复:不匹配表项。如果没有任何问题,则回复code5:packet-forward-success给控制器。步骤s1608:控制器发起ttl=3的故障检测消息。步骤s1609:报文通过bfir1及bfr1节点时,ttl分别减1,并按照bierheader转发这个报文给bfr2。步骤s1610,报文到达bfr2节点时,ttl=1,bfr2根据bierheader中的bitstring与targetsi-bitstringtlv相与。步骤s1611,若相与结果不为0,bfr2节点需要做其他的检查。如果bier-label-l与本地为originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,则回复的报文中携带:set-identifiermismatch。如果echorequestmessage中存在任何不理解的tlv,则回复:不理解的tlv。如果bierheader中的bitstring与接收echorequest报文的入接口对应的echorequest报文中的ddmaptlv中的egressbitstringsub-tlv不匹配,需要回复不匹配信息。如果该节点没有匹配到bift表项,则回复:不匹配表项。如果没有任何问题,则回复报文转发成功信息给控制器。步骤s1612:控制器发起ttl=4的故障检测消息。步骤s1613:报文通过bfir1、bfr1及bfr2节点时,ttl分别减1,并按照bierheader转发这个报文给bfer。步骤s1614,报文到达bfer节点时,ttl=1,bfer根据bierheader中的bitstring与targetsi-bitstringtlv相与。步骤s1615,若相与结果不为0,节点需要做其他的检查。如果bier-label-l与本地为originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,则回复的报文中携带:set-identifiermismatch。如果echorequestmessage中存在任何不理解的tlv,则回复:不理解的tlv。如果bierheader中的bitstring与入接口对应的echorequest报文中ddmaptlv中的egressbitstringsub-tlv不匹配,需要回复不匹配信息。如果该节点没有匹配到bift表项,则回复:不匹配表项。如果没有任何问题,即会匹配到bfer的local_decapadjacency对应的bift表项,则根据targetsi-bitstringtlv若还存在其它bfer的local_decapadjacency索引回复"replyingrouterisoneofthebferinbierheaderbitstring"信息给控制器,或者根据targetsi-bitstringtlv若不存在其它bfer的local_decapadjacency索引回复"replyingrouteristheonlybferinbierheaderbitstring"信息给控制器。步骤s1617,若相与结果为0,则会回复“code10:replyingbfrisnotinthepathtoanytargetbfer”。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。在本实施例中还提供了一种故障检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图21是根据本发明实施例的第一种故障检测装置的结构框图,如图21所示,该装置包括接收模块212和检测模块214,下面对该装置进行说明。接收模块212,用于接收来自控制器的用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息;检测模块214,连接至上述接收模块212,用于根据上述oam检测消息对bier-te路径进行故障检测。在一个可选的实施例中,上述接收模块212可以通过如下方式接收bier-teoam检测消息:通过用于接收bier-te数据报文的路径接收oam检测消息。在一个可选的实施例中,当接收上述oam检测消息的节点为位转发入口路由器bfir或位转发路由器bfr时,上述检测模块214可以通过如下方式对bier-te路径进行故障检测:bfir或bfr根据oam检测消息中携带的位转发出口路由器bfer信息将oam检测消息转发给bfer信息对应的bfer,其中,oam检测消息用于指示bfer执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果;或者,bfir或bfr根据oam检测消息的生存时间ttl对bier-te路径进行故障检测,其中:当ttl的值为1时,bfir或bfr根据oam检测消息执行对bier-te路径进行故障检测的校验;当ttl的值为大于1的m值时,bfir或bfr将oam检测消息转发给bfir或bfr后的第m-1跳节点,oam检测消息用于指示bfir或bfr后的第m-1跳节点根据oam检测消息执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果。在一个可选的实施例中,当接收oam检测消息的节点为位转发出口路由器bfer时,上述接收模块212可以通过如下方式接收bier-teoam检测消息:bfer接收位转发入口路由器bfir或位转发路由器bfr转发的来自控制器的oam检测消息;上述检测模块214可以通过如下方式根据oam检测消息对bier-te路径进行故障检测:bfer根据oam检测消息执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果。在一个可选的实施例中,当执行校验操作的为bfer时,上述检测模块214可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfer将oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的bier-te本地解封装类型长度值local_decaptlv相校验;当bfer校验出bier-telocal_decaptlv中携带的通告节点标识advertisingnodeidentifier中填写的是bfer地址,并且bfer的邻接体标识adjacencyid与bitstring中相应的bit表示的索引一致时,校验成功,向控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向控制器发送携带校验失败信息的bier-te响应应答echoreply。在一个可选的实施例中,当执行校验操作的为bfer时,上述检测模块214可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfer将oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的目的位串类型长度值targetsi-bitstringtlv相与;当相与结果不为0时,bfer执行如下操作:当确定bier-teheader外封装的bier-多协议标签交换mpls标签lable中的bier-label-l与bier-teechorequest中的原始位串类型长度值originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致时,向控制器发送携带set-identifiermismatch的bier-te响应应答echoreply;当确定bier-teechorequest中存在不识别的tlv时,向控制器发送携带不识别的tlv的bier-te响应应答echoreply;当确定bier-teheader中的bitstring与bier-teechorequest中携带的下游映射downstreammappingtlv中的出口位串子-类型长度值egressbitstringsub-tlv不匹配时,向控制器发送携带不匹配信息的bier-te响应应答echoreply;当bfer没有匹配到bift表项时,向控制器发送携带不匹配表项的bier-te响应应答echoreply;当确定不存在任何问题时,若targetsi-bitstringtlv中还存在除出口bfer之外的其他bfer的本地解封装邻接体local_decapadjacency索引时,向控制器发送携带"replyingrouterisoneofthebferinbierheaderbitstring"信息的bier-te响应应答echoreply;若targetsi-bitstringtlv中不存在其他bfer的local_decapadjacency索引时,向控制器发送携带"replyingrouteristheonlybferinbierheaderbitstring"信息的bier-te响应应答echoreply;当相与结果为0时,bfer向控制器发送携带“replyingbfrisnotinthepathtoanytargetbfer”信息的bier-te响应应答echoreply。在一个可选的实施例中,当执行校验操作的为bfir或bfr时,上述检测模块214可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfir或bfr根据oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的目的转发等价类堆栈类型长度值targetfecstacktlv中的相应的邻接体adjacencyfec进行校验,并向控制器反馈校验结果。在一个可选的实施例中,各adjacency索引在bitstring中的前后顺序与相应的fec在fec栈中的前后顺序保持一致。在一个可选的实施例中,targetfecstacktlv中的相应的adjacencyfec包括前向连接forward_connectedtlv和/或前向路由forward_routedtlv,其中,当包括forward_connectedtlv时,当bfir或bfr校验出bier-teforward_connectedtlv中填写的是bfir或bfr的一条直连链路,并且bfir或bfr为直连链路分配的adjacencyid与bitstring中相应的bit表示的索引一致时,校验成功,向控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向控制器发送携带校验失败信息的bier-te响应应答echoreply;当包括forward_routedtlv时,当bfir或bfr校验出bier-teforward_routedtlv中填写的是前缀prefix信息,并且bfir或bfr为prefix分配的adjacencyid与bitstring中相应的bit表示的索引一致时,校验成功,向控制器发送携带校验成功信息的bier-te响应应答echoreply,否则,校验失败,向控制器发送携带校验失败信息的bier-te响应应答echoreply。在一个可选的实施例中,当bfir或bfr向控制器发送携带校验成功信息的bier-te响应应答echoreply时,bier-teechoreply中还携带有:下游映射downstreammappingtlv信息,其中,downstreammappingtlv中携带下游节点地址,及下游接口地址;以及,fecstackchangetlv,其中,fecstackchangetlv用于告知控制器弹出targetfecstacktlv中的相应的adjacencyfec。在一个可选的实施例中,当执行校验操作的为bfir或bfr时,上述检测模块214可以通过如下方式执行对bier-te路径进行故障检测的校验,并向控制器反馈校验结果:bfir或bfr将oam检测消息中携带的bier-te数据头header中的位串bitstring与oam检测消息中携带的bier-te响应请求echorequest中的targetsi-bitstringtlv相与;当相与结果不为0时,bfir或bfr执行如下操作:当确定bier-teheader外封装的bier-多协议标签交换mpls标签lable中的bier-label-l与bier-teechorequest中的originalsi-bitstringtlv中给出的{sub-domain,bitstringlen,si}分配的标签不一致,向控制器发送携带set-identifiermismatch的bier-te响应应答echoreply;当确定bier-teechorequest中存在不识别的tlv时,向控制器发送携带不识别的tlv的bier-te响应应答echoreply;当确定bier-teheader中的bitstring与bier-teechorequest中携带的下游映射downstreammappingtlv中的egressbitstringsub-tlv不匹配时,向控制器发送携带不匹配信息的bier-te响应应答echoreply;当bfir或bfr没有匹配到bift表项时,向控制器发送携带不匹配表项的bier-te响应应答echoreply;当确定不存在任何问题时,向控制器发送携带包转发成功packet-forward-success信息的bier-te响应应答echoreply;当相与结果为0时,bfir或bfr向控制器发送携带“replyingbfrisnotinthepathtoanytargetbfer”信息的bier-te响应应答echoreply。图22是根据本发明实施例的第二种故障检测装置的结构框图,如图22所示,该装置包括发送模块222,下面对该装置进行说明:发送模块222,用于向位转发入口路由器bfir发送用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息,其中,oam检测消息用于指示bfie根据oam检测消息对bier-te路径进行故障检测。在一个可选的实施例中,上述发送模块222可以通过如下方式向bfir发送用于请求检测bier-te路径的oam检测消息:向bfir发送用于请求检测bier-te路径的oam检测消息,其中,oam检测消息中携带位转发出口路由器bfer信息,bfer信息用于bfir根据bfer信息将oam检测消息转发给bfer信息对应的bfer,oam检测消息用于指示bfer执行对bier-te路径进行故障检测的校验,并反馈校验结果;或者,向bfir发送用于请求检测bier-te路径的携带有生存时间ttl的oam检测消息,其中:当ttl的值为1时,oam检测消息用于指示bfir根据oam检测消息执行对bier-te路径进行故障检测的校验;当ttl的值为大于1的m值时,oam检测消息用于指示bfir将oam检测消息转发给bfir后的第m-1跳节点,oam检测消息用于指示bfir后的第m-1跳节点根据oam检测消息执行对bier-te路径进行故障检测的校验,并反馈校验结果。在一个可选的实施例中,当向bfir发送用于请求检测bier-te路径的携带有生存时间ttl的oam检测消息时,oam检测消息中携带的bier-te响应请求echorequest中的目的转发等价类堆栈类型长度值targetfecstacktlv中压入与位串bitstring中所有邻接体adjacency相应的转发等价类fec,其中,bitstring位于oam检测消息中携带的bier-te数据头header中。在一个可选的实施例中,上述装置还包括处理模块,用于在向bfir发送用于请求检测bier-te路径的oam检测消息之后,接收bfir或待检测路径上bfir后的位转发路由器bfr反馈的携带校验成功信息的bier-te响应应答echoreply消息,其中,bier-teechoreply消息中携带有下游映射downstreammappingtlv信息以及转发等价类堆栈变更类型长度值fecstackchangetlv;根据downstreammappingtlv信息设置待发送oam检测消息的ttl,以及,根据fecstackchangetlv弹出待发送oam检测消息中携带的bier-te响应请求echorequest中的targetfecstacktlv中的相应的adjacency相应的fec;向bfir发送待发送oam检测消息。需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:s1,接收来自控制器的用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的oam检测消息;s2,根据上述oam检测消息对bier-te路径进行故障检测。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:s1,向位转发入口路由器bfir发送用于请求检测基于流量工程扩展的位索引显示复制bier-te路径的运行管理和维护oam检测消息,其中,该oam检测消息用于指示bfie根据oam检测消息对bier-te路径进行故障检测。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述各方法实施例中的步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1