背景技术
随着IP数据网的发展,IP网络本身的可拓展、可升级以及兼容互通能力非常强,而传统的通信网络的升级、扩展、互通的灵活性则相对比较差,受限于传输的方式和业务的类型,并且新建的网络共用性也较差,不宜于互通管理。因此在传统的通信网面临升级,拓展应用的过程中,是各自建立重复的网络,还是充分利用现有或公共的资源达到升级网络和扩展应用的目的,而且如何才能够达到这个目标,是大家都在考虑的问题。PWE3(Pseudowire Emulation Edgeto Edge,端到端伪线仿真)正是为解决传统通信网络与现有分组网络结合而提出的方法之一。
PWE3是一种端到端的二层业务承载技术,属于点到点方式的L2VPN(Layer 2 Virtual Private Networks,2层虚拟私有网络)。在PSN(Packet SwitchedNetwork,分组交换网络)的两台PE(Provider Edge,提供商边缘)设备中,它以LDP/RSVP(Label Distribution Protocal/Resource ReserVation Protocal,标签分布协议/资源预留协议)作为信令,通过隧道(可能是MPLS(Multiple ProtocalLabel Switching,多协议标签交换)隧道、GRE、L2TPv3或其他)模拟CE(Customer Edge,客户边缘)端的各种二层业务,如ATM(Asynchronous TransferMode,异步传输模式)、TDM(Time Division Multiplexing,时分复用)、FR(Frame Relay,帧中继)等,使CE端的二层数据在PSN网络中透明传递。
伪线可以分为单跳伪线和多跳伪线。SS-PW(Single Segment Pseudowires,单跳伪线),是指在两个PE之间直接建立PW,中间不通过其它的交换节点,如图1中,在PE1和PE2之间建立的一条PW。MS-PW(Multi-SegmentPseudowires,多段伪线),是在两个PE(T-PE,Terminating Provider Edge,终结PE)之间创建的PW需要经过一个或多个中间节点(称为交换PE,即S-PE,Switching PE),如图1中所示在PE1和PE3之间建立一条MS-PW,在PE1和PE3之间经过一个中间节点PE2,称为交换节点S-PE,PE1和PE3称为终端节点T-PE。
目前,在PWE3工作组中定义了单跳PW OAM(Operation Administration andMaintenance,操作管理维护)的实现机制,主要用于PW故障的检测、通告。这些机制有PW OAM message mapping、ethernet和PW OAM的互通、VCCV(Virtual Circuit Connectivity Verification,虚电路连通性确认)。前面两种技术方案规定了二层业务OAM和PW OAM之间如何实现映射和互通,VCCV则是PW的连通性检测机制。如图1所示,VCCV是在PW的入口和出口节点之间提供了一条控制信道,在该控制信道上传输连通性确认消息,用于PW的故障检测。单跳伪线的VCCV机制定义了3种VCCV报文:ICMP Ping、BFD和LSP Ping。下面简单介绍一下具体如何实施的。
BFD检测方法是一个PE在协商好的发送间隔内向对端PE发送BFD控制报文,如果对端PE在一定的时间内没有接收到BFD报文,则表示PEs之间的路径出现了故障,否则,表示路径正常。如图1所示,如果PE2在一定时间内没有接收到PE1发送的BFD报文,则认为PE1和PE2之间的路径发生了某种故障。而Ping检测方法是一个PE(PE1)向对端PE(PE2)发送Ping request报文,PE2接收到request报文后将其环回作为响应报文。如果在给定的时间内PE1没有收到环回的响应报文,则表示PE1和PE2之间的路径出现故障,否则,表示路径正常。
PE1和PE2之间通过上述方法检测到故障时,可以上报告警或者执行保护倒换。
VCCV也可以用来实现多段伪线的OAM,通过设置合适的TTL值,可以进行端到端的连通性检测,也可以是对检测T-PE到某个S-PE之间的伪线段的连通性。多段伪线VCCV定义的报文和单段伪线是相同的,但是,这就得需要S-PE节点也得做一些本地处理,比如,在VCCV能力协商过程中需要对报文进行检查,去除本地不支持的VCCV能力参数,然后继续向下游PE转发。如图2所示,PW标签每经过一个交换PE节点,TTL值就要减1,当TTL为0时,将VCCV报文送至控制平面处理。这样,通过设置合适的TTL值就可以进行端到端伪线的连通性检测或者部分伪线段的检测。这种MS-PW VCCV方案存在着一定的限制,就是所有的PE节点都得支持VCCV能力。另外,ping和BFD都依赖于IP的,如果PSN网络不支持IP转发机制,比如MPLS-TP(TransportProfile for MPLS,多协议标签交换传输框架)(MPLS-TP需求中第47条指出:MPLS-TP数据平面的转发不依赖于IP),那么上述方法就不适用了。
目前,核心网主要是MPLS类型的网络,MPLS-TP作为一种分组传送网技术,存在和MPLS网络互联互通的场景;在这种场景下,需要跨越不同类型PSN网络的多段伪线来承载各种不同的二层业务,其中,一种是MPLS-TP网络,另一种是MPLS网络。由于MPLS-TP网络不支持IP转发能力,上述制定的MS-PW VCCV机制就不能实现端到端的连通性检测。并且,现有的技术方案也未解决这种多段伪线场景下故障的端到端通告。如果没有这种端到端的故障通告,就会导致对端PE和/或CE无法获知转发出现故障,用户流量可能会一直在发送,而对端节点由于故障接收不到用户流量,导致流量传输中断和带宽资源的浪费。
本发明就是为了解决上述问题,实现不能端到端完全支持IP转发的多段伪线场景下故障的端到端通告。当PE或CE节点接收到故障通告消息时,可以上报告警,或者是执行保护倒换,从而确保流量的可靠传输。
发明内容
有鉴于此,本发明的主要目的在于提供一种多段伪线故障的端到端通告方法及系统。用于解决上述多段伪线的端到端故障通告问题,尤其是承载在不同类型PSN网络上、且不能支持端到端的IP能力的多跳伪线上的端到端故障通告问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种多段伪线故障的端到端通告方法,包括:
所述多段伪线承载在不同类型分组交换网络PSN上,使用基于每段伪线段的操作管理维护OAM机制进行每段独立的连通性检测;
当故障产生时,进行端到端的故障通告,在故障通告消息中携带检测到故障的节点地址以及用于标识故障是否为本伪线段故障的标识。
进一步地,所述不同类型分组交换网络包括多协议标签交换传输框架MPLS-TP网络和多协议标签交换MPLS网络;MPLS-TP网络采用MPLS-TP伪线OAM连通性检测机制检测网络的连通性及进行故障通告,MPLS网络使用虚电路连通性确认双向转发检测VCCV BFD进行连通性检测及故障通告。
进一步地,所述方法在多协议标签交换传输框架的后向故障指示MPLS-TPBDI报文、多协议标签交换传输框架的前向故障指示MPLS-TP FDI报文及虚电路连通性确认双向转发检测VCCV BFD报文中携带检测到故障的提供商边缘PE设备地址;在MPLS-TP BDI和MPLS-TP FDI报文中携带标识所述故障是否为本伪线段故障的标识;所述故障的节点地址及是否为本伪线段故障的标识用于进行故障定位以及判断是否需要执行相应的故障处理程序。
进一步地,所述方法使用基于每段伪线的OAM机制进行每段独立的连通性检测,所述伪线的故障可以是伪线的OAM机制检测到的故障,也可以是关联的标签交换路径LSP通告的低层故障。
进一步地,当由MPLS-TP网络向MPLS网络通告故障时,将MPLS-TP FDI报文或MPLS-TP BDI报文映射到VCCV BFD报文中,添加故障节点的地址到VCCV BFD报文中;当由MPLS网络向MPLS-TP网络通告故障时,将VCCVBFD报文映射到MPLS-TP BDI报文,添加故障节点的地址及标识故障是否为本伪线段故障的标识。
基于上述方法,本发明还提出一种多段伪线故障的端到端通告系统,包括终结提供商边缘T-PE、交换提供商边缘S-PE、客户边缘CE:
T-PE和S-PE之间的多段伪线承载在不同类型分组交换网络PSN上,使用基于每段伪线的操作管理维护OAM机制进行每段独立的连通性检测,当故障产生时,进行端到端的故障通告,在故障通告消息中携带检测到故障的节点地址以及用于标识故障是否为本伪线段故障的标识。
基于上述系统,进一步地,所述不同类型分组交换网络包括多协议标签交换传输框架MPLS-TP网络和多协议标签交换MPLS网络;MPLS-TP网络采用MPLS-TP伪线OAM连通性检测机制检测网络的连通性及进行故障通告,MPLS网络使用虚电路连通性确认双向转发检测VCCV BFD进行连通性检测及故障通告。
进一步地,所述系统在多协议标签交换传输框架的后向故障指示MPLS-TPBDI报文、多协议标签交换传输框架的前向故障指示MPLS-TP FDI报文及虚电路连通性确认双向转发检测VCCV BFD报文中携带检测到故障的节点地址;在MPLS-TP BDI和MPLS-TP FDI报文中携带标识所述故障是否为本伪线段故障的标识;所述故障的节点地址及是否为本伪线段故障的标识用于进行故障定位以及判断是否需要执行相应的故障处理程序。
进一步地,所述系统使用基于每段伪线的OAM机制进行每段独立的连通性检测,所述伪线的故障可以是伪线的OAM机制检测到的故障,也可以是关联的标签交换路径LSP通告的低层故障。
基于上述系统,进一步地,当由MPLS-TP网络向MPLS网络通告故障时,将MPLS-TP FDI或MPLS-TP BDI报文映射到VCCV BFD报文中,添加故障节点的地址到VCCV BFD报文中;当由MPLS网络向MPLS-TP网络通告故障时,需将VCCV BFD报文映射到MPLS-TP BDI报文,添加故障节点的地址及标识故障是否为本伪线段故障的标识。
在本发明方案中,故障通告报文不仅携带了检测到故障的节点地址,并且通过设置P比特来表明是否为本伪线段故障,通过上述方法不仅可以达到端到端的故障通告,而且有助于进行故障定位以及判断是否需要执行相应的故障处理程序。
具体实施方式
本发明涉及到的多段伪线承载在两种不同类型的PSN网络上的,一种为MPLS-TP类型的,一种为MPLS类型的。以图3为例,其中,第一伪线段是承载在MPLS-TP网络上的,且转发不支持IP路由;第二伪线段是承载在MPLS网络上的,伪线段可以是通过LDP创建的,也可以是静态配置的。
本发明的目的在于提供一种用于承载在不同类型PSN网络(包括MPLS和MPLS-TP)上的多段伪线的端到端故障通告机制,同时在MPLS-TP PW BDI(Backward Defect Indication,后向故障指示)、MPLS TP PW FDI(ForwardDefect Indication,前向故障指示)、VCCV BFD(Virtual Circuit ConnectivityVerification Bidirectional Forwarding Detection,虚电路连通性确认双向转发检测)双向转发检测报文中携带检测到故障的PE地址,有助于进行故障定位。另外,在MPLS-TP的FDI和BDI报文中,定义了一个新的比特位P,用以指明该报文通告的故障是本伪线段的故障还是其它伪线段的故障,便于进行故障定位以及判断是否需要执行哪些相应的故障处理程序。
在本发明中,使用基于每段的OAM机制进行伪线的连通性检测,其中,PW的故障可以是PW OAM机制检测到的故障,也可以是关联的LSP通告的低层故障。每段之间的检测是相互独立的。但是,故障通告是端到端的,以便发送和接收业务的双方都了解到伪线发生了故障,并进行相应的处理,这些处理可以是上报告警,或者是执行保护倒换。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
实施例一:
本实施例中,多段伪线具有一个S-PE,见图3。T-PE 1到S-PE之间的伪线(PW seg 1)是建立在MPLS-TP PSN网络上的,目前仅支持静态配置;S-PE到T-PE 2的伪线段(PW seg 2)是建立在MPLS PSN网络上的,可以是LDP创建的,也可以是静态配置的。PW seg 1采用MPLS-TP PW OAM连通性检测机制检测该段的连通性,PW seg 2使用VCCV BFD进行连通性检测以及故障通告(连通性确认CV类型为0x08或0x20的VCCV BFD)。
BFD故障通告机制只运行在转发平面,而LDP通告消息是运行在控制平面的,然后将故障通告给转发平面,因此,这里使用BFD来实现故障通告功能。
实施例一中的所有子实施例都是CE1为源、CE2为宿的方向的。
实施例一(A)-PW seg 1故障:
PW seg 1产生故障,故障位置示意图如图4A所示,该故障会被S-PE节点检测到,需要将这个故障通告给两端的T-PEs以及CEs。
该实施例下的故障通告流程如图4B所示:
步骤401:T-PE1到S-PE间的伪线段发生故障,S-PE检测到该故障,S-PE同时向T-PE1和T-PE2发送故障通告消息。
步骤402:S-PE向T-PE 1发送MPLS-TP BDI报文,并在报文中携带S-PE的地址,P比特位设置为0表示是本伪线段的故障;
步骤403:T-PE1接收到MPLS-TP BDI报文,将其映射为AC1(AttachmentCircuit,附属电路)可以识别的NS OAM(Native service OAM,本地服务OAM)故障通告消息发送给CE1;
步骤404:CE1接收到NS OAM报文,进行相应的处理。
步骤405:S-PE同时将故障信息映射到VCCV BFD报文中、并向该报文中添加S-PE的地址,向T-PE 2通告前向故障;
步骤406:T-PE2接收到VCCV BFD报文,将其按照现有技术转化为AC2可以识别的NS OAM报文;并插入到相应的AC上;
步骤407:CE2接收到NS OAM报文,进行相应的处理。
实施例一(B)-PW seg 2故障:
PW seg 2产生故障,故障位置示意图如图5A所示,该故障会被S-PE和T-PE2检测到,并需要将这个故障通告给对端的T-PE1以及CE1和CE2。
该实施例下的故障通告流程如图5B所示,具体步骤如下:
步骤501:S-PE到T-PE2之间的伪线发生故障,S-PE和T-PE2都会检测到该故障;
步骤502:S-PE触发MPLS-TP PW OAM模块生成MPLS-TP BDI报文,并在报文中携带S-PE的地址,以及设置P比特位为1,表示不是本伪线段的故障;
步骤503:T-PE1接收到MPLS-TP BDI报文,并将其转化为AC1可以识别的NS OAM消息发送给CE1;
步骤504:CE1接收到NS OAM消息,进行相应的处理。
步骤505:T-PE2生成AC2可以识别的NS OAM报文通告给CE2;
步骤506:CE2接收到NS OAM消息,进行相应的处理。
实施例二:
在本实施例中,多段伪线由4个伪线段组成,具有3个S-PEs节点,如图6所示:
T-PE 1到S-PE1之间的PW seg1以及S-PE1到S-PE2之间的PW seg2均是静态配置在MPLS-TP PSN网络上,而S-PE2到S-PE23之间的PW seg3以及S-PE3到T-PE2之间的PW seg4均是建立在MPLS PSN网络上,可以是通过LDP信令创建或静态配置的。PW seg1和PW seg2采用MPLS-TP PW OAM机制进行连通性检测,且连通性检测是相互独立的。PW seg3和PW seg4采用VCCVBFD检测每段PW的连通性以及进行故障通告。
实施例二中的所有子实施例都是CE1为源、CE2为宿的方向的。
实施例二(A)-PW seg 1故障:
PW seg 1故障产生故障,故障位置示意图如图7A所示,该故障会被S-PE1检测到,需要将该故障通告给T-PE1和T-PE2,以及客户域的CEs。
该实施例下的故障通告流程如图7B所示:
步骤701:S-PE1检测到故障,同时向T-PE1和S-PE2发送通告消息;
步骤702:S-PE1向T-PE1发送MPLS-TP BDI,并在报文中携带S-PE1的地址,P标识为0,表示为本伪线段的故障;
步骤703:T-PE1接收到MPLS-TP BDI报文将其转化为AC1可以识别的NS OAM报文,插入到AC1上通告给CE1;
步骤704:CE1接收到NS OAM报文,进行相应的处理。
步骤705:S-PE1向S-PE2发送MPLS-TP FDI报文,并在报文中携带S-PE1的地址,P标识位设置为1,表示不是本伪线段的故障;
步骤706:S-PE2接收到MPLS-TP FDI报文,根据P标识判断不是S-PE1到S-PE2之间的故障,将该故障映射到VCCV BFD报文中,并添加S-PE1的地址到VCCV BFD报文中,将前向故障通告给对端S-PE3;
步骤707:S-PE3接收到MPLS-TP BFD报文,将其映射到下游VCCV BFD报文将前向故障通告给对端T-PE2;
步骤708:T-PE2接收到VCCV BFD报文,将其转换为AC2可以识别的NS OAM报文,并插入到AC2上通告给CE2;
步骤709:CE2接收到NS OAM报文,进行相应的处理。
实施例二(B)-PW seg 2故障:
PW seg 2故障,故障位置示意图如图8A所示,该故障会被S-PE2检测到,需要将该故障通告给T-PE1和T-PE2,以及客户域的CEs。
该实施例下的故障通告流程如图8B所示:
步骤800:S-PE2检测到故障,同时向S-PE1和S-PE3发送故障通告消息;
步骤801:S-PE2向S-PE1发送MPLS-TP BDI报文,并在报文中携带S-PE2地址,以及设置P比特位为0指明是本伪线段的故障;
步骤802:S-PE1接收到MPLS-TP BDI报文,进行分析后,发现是下游伪线段的故障,因此将P比特位设置为1,表明非本伪线段故障,然后将BDI报文转发给T-PE1;
步骤803:T-PE1接收到MPLS-TP BDI报文将其转化为AC1可以识别的NS OAM报文,插入到AC1上通告给CE1;
步骤804:CE1接收到NS OAM报文,进行相应的处理。
步骤811:S-PE2将故障映射到VCCV BFD报文中,并将S-PE2的地址填充到该报文中,将前向故障通告给对端S-PE3;
步骤812:S-PE3接收到VCCV BFD报文,将其映射到下游VCCV BFD报文中将前向故障通告给对端T-PE2;
步骤813:T-PE2接收到VCCV BFD报文,将其转换为AC2可以识别的NS OAM报文,并插入到AC2上通告给CE2;
步骤814:CE2接收到NS OAM报文,进行相应的处理。
实施例二(C)-PW seg 3故障:
PW seg 3故障发生故障,故障位置示意图如图9A所示,由于S-PE2和S-PE3之间采用的双向故障检测机制,所以故障会同时被S-PE2和S-PE3检测到,需要将该故障通告给T-PE1和T-PE2,以及客户域的CEs。
该实施例下的故障通告流程如图9B所示:
步骤900:S-PE2和S-PE3之间发生故障,S-PE2和S-PE3检测到故障;
步骤901:触发S-PE2PW OAM模块向S-PE1发送MPLS-TP BDI报文,在该报文中携带S-PE的地址,P标识位置1表示不是本段伪线的故障;
步骤902:S-PE1接收到MPLS-TP BDI报文,根据P标识分析发现不是本伪线段的故障,将BDI报文透传到T-PE1;
步骤903:T-PE1接收到MPLS-TP BDI报文将其转化为AC1可以识别的NS OAM报文,插入到AC1上通告给CE1;
步骤904:CE2接收到NS OAM报文,进行相应的处理;
步骤911:S-PE3将该故障映射到VCCV BFD报文中,并将S-PE3的地址填充到该报文中,将前向故障通告给对端T-PE2;
步骤912:T-PE2接收到VCCV BFD报文,将其转换为AC2可以识别的NS OAM报文,并插入到AC2上通告给CE2;
步骤913:CE2接收到NS OAM报文,进行相应的处理。
实施例二(D)-PW seg 4故障:
PW seg 4故障之间产生故障,故障位置示意图如图10A,该故障会被S-PE3和T-PE2检测到,需要将该故障通告给T-PE1,以及客户域的CEs。
该实施例下的故障通告流程如图10B所示:
步骤1000:S-PE3和T-PE2之间的伪线段发生故障,S-PE3和T-PE2检测到故障;
步骤1001:S-PE3将该故障通过VCCV BFD报文通告给S-PE2,并将S-PE3的地址填充到该报文中;注意,本发明在VCCV协议段的BFD报文中,不需要添加P标识位;
步骤1002:S-PE2接收到VCCV BFD报文,将其映射为MPLS-TP BDI报文发送给S-PE1;,在报文中携带S-PE3的地址,P标识位置1表明是对端伪线段的故障;
步骤1003:S-PE1接收到MPLS-TP BDI报文,转发给T-PE1;
步骤1004:T-PE1接收到MPLS-TP BDI报文将其转化为AC1可以识别的NS OAM报文,插入到AC1上通告给CE1;
步骤1005:CE1接收到NS OAM报文,进行相应的处理;
步骤1011:T-PE2生成NS OAM报文,将其插入到AC2上通告给CE2;
步骤1012:CE 2接收到NS OAM报文,进行相应的处理。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。