一种BIER-TE网络检测方法、装置及系统转让专利

申请号 : CN201711329946.2

文献号 : CN109921987B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 顾敏陈然喻敬海张征

申请人 : 中兴通讯股份有限公司

摘要 :

一种BIER‑TE网络检测方法,包括:BIER‑TE网络内的控制器向BFIR发送OAM检测信息;接收BFIR或作为检测点的BFR发送的检测结果;其中,OAM检测信息包括第一标签信息,或者,检测结果包括第二标签信息。如此,通过在控制器与BFIR或控制器与BFR之间的交互信息中携带标签信息,实现在BIER‑TE网络准确定位异常的BFR。

权利要求 :

1.一种基于流量工程的位索引显示复制BIER‑TE网络检测方法,其特征在于,包括:BIER‑TE网络内的控制器向比特转发入口路由器BFIR发送操作管理维护OAM检测信息;

所述控制器接收所述BFIR或作为检测点的比特转发路由器BFR发送的检测结果;

其中,所述OAM检测信息包括第一标签信息,或者,所述检测结果包括第二标签信息;

所述第一标签信息包括所述控制器记录的检测点的标签值;

所述第二标签信息包括以下至少之一:一个或多个检测点的本地<子域标识、集标识、位串长度>三元组映射的标签值、一个或多个检测点收到的OAM回应请求报文的报文头携带的标签值。

2.根据权利要求1所述的方法,其特征在于,所述BIER‑TE网络内的控制器向BFIR发送OAM检测信息,包括:

所述控制器向所述BFIR发送携带所述OAM检测信息的网络配置协议NETCONF远程过程调用RPC请求,其中,所述OAM检测信息基于YANG模型进行配置,所述YANG模型中定义有标签信息字段。

3.根据权利要求2所述的方法,其特征在于,所述OAM检测信息通过所述YANG模型中的标签信息字段携带所述第一标签信息。

4.根据权利要求1所述的方法,其特征在于,所述控制器接收所述BFIR或作为检测点的BFR发送的检测结果,包括以下之一:所述控制器接收所述BFIR发送的携带所述检测结果的网络配置协议NETCONF远程过程调用RPC应答消息;

所述控制器接收所述BFIR发送的携带所述检测结果的NETCONF通知;

所述控制器接收所述BFR发送的携带所述检测结果的NETCONF通知。

5.根据权利要求1或4所述的方法,其特征在于,所述检测结果包括:一个或多个检测点的OAM检测返回值。

6.一种基于流量工程的位索引显示复制BIER‑TE网络检测方法,其特征在于,包括:BIER‑TE网络内的比特转发入口路由器BFIR根据控制器发送的操作管理维护OAM检测信息,构造OAM回应请求报文;

所述BFIR向作为检测点的比特转发路由器BFR发送所述OAM回应请求报文;

所述BFIR接收所述检测点返回的OAM回应应答报文;

其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息;

所述第一标签信息包括:所述控制器记录的检测点的标签值;

所述第二标签信息包括以下至少之一:所述检测点的本地<子域标识、集标识、位串长度>三元组映射的标签值、所述检测点收到的OAM回应请求报文的报文头携带的标签值。

7.根据权利要求6所述的方法,其特征在于,所述OAM检测信息由控制器发送的网络配置协议NETCONF远程过程调用RPC请求携带,所述OAM检测信息基于YANG模型配置,所述YANG模型中定义有标签信息字段。

8.根据权利要求6所述的方法,其特征在于,所述BFIR构造的OAM回应请求报文中包括一个类型长度值TLV,所述TLV携带所述第一标签信息。

9.根据权利要求6所述的方法,其特征在于,所述BFIR接收所述检测点返回的OAM回应应答报文之后,所述方法还包括:

所述BFIR根据收到的所述OAM回应应答报文,确定所述检测点的检测结果;

向所述控制器发送携带所述检测结果的网络配置协议NETCONF远程过程调用RPC应答消息,或者,向所述控制器发送携带所述检测结果的NETCONF通知。

10.根据权利要求9所述的方法,其特征在于,所述检测结果包括第二标签信息。

11.一种基于流量工程的位索引显示复制BIER‑TE网络检测方法,其特征在于,包括:BIER‑TE网络中作为检测点的比特转发路由器BFR接收操作管理维护OAM回应请求报文;

所述BFR向比特转发入口路由器BFIR发送OAM回应应答报文,或者,向控制器发送网络配置协议NETCONF通知;

其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息,或者,所述NETCONF通知携带第二标签信息;

所述第一标签信息包括所述控制器记录的所述检测点的标签值;

所述第二标签信息包括以下至少之一:所述检测点的本地<子域标识、集标识、位串长度>三元组映射的标签值、所述检测点收到的所述OAM回应请求报文的报文头携带的标签值。

12.根据权利要求11所述的方法,其特征在于,所述OAM回应应答报文或所述NETCONF通知携带所述检测点的OAM检测返回值。

13.一种基于流量工程的位索引显示复制BIER‑TE网络检测装置,其特征在于,应用于BIER‑TE网络内的控制器,包括:第一发送模块,配置为向比特转发入口路由器BFIR发送操作管理维护OAM检测信息;

第一接收模块,配置为接收所述BFIR或作为检测点的比特转发路由器BFR发送的检测结果;

其中,所述OAM检测信息包括第一标签信息,或者,所述检测结果包括第二标签信息;

所述第一标签信息包括所述控制器记录的检测点的标签值;

所述第二标签信息包括以下至少之一:一个或多个检测点的本地<子域标识、集标识、位串长度>三元组映射的标签值、一个或多个检测点收到的OAM回应请求报文的报文头携带的标签值。

14.一种基于流量工程的位索引显示复制BIER‑TE网络检测装置,其特征在于,应用于BIER‑TE网络内的比特转发入口路由器BFIR,包括:第一处理模块,配置为根据控制器发送的操作管理维护OAM检测信息,构造OAM回应请求报文;

第二发送模块,配置为向作为检测点的比特转发路由器BFR发送所述OAM回应请求报文;

第二接收模块,配置为接收所述检测点返回的OAM回应应答报文;

其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息;

所述第一标签信息包括:所述控制器记录的检测点的标签值;

所述第二标签信息包括以下至少之一:所述检测点的本地<子域标识、集标识、位串长度>三元组映射的标签值、所述检测点收到的OAM回应请求报文的报文头携带的标签值。

15.一种基于流量工程的位索引显示复制BIER‑TE网络检测装置,其特征在于,应用于BIER‑TE网络中作为检测点的比特转发路由器BFR,包括:第三接收模块,配置为接收操作管理维护OAM回应请求报文;

第三发送模块,配置为向比特转发入口路由器BFIR发送OAM回应应答报文,或者,向控制器发送网络配置协议NETCONF通知;

其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息,或者,所述NETCONF通知携带第二标签信息;

所述第一标签信息包括所述控制器记录的所述检测点的标签值;

所述第二标签信息包括以下至少之一:所述检测点的本地<子域标识、集标识、位串长度>三元组映射的标签值、所述检测点收到的所述OAM回应请求报文的报文头携带的标签值。

16.一种基于流量工程的位索引显示复制BIER‑TE控制器,其特征在于,包括:第一存储器以及第一处理器,所述第一存储器存储有BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被所述第一处理器执行时实现如权利要求1至5中任一项所述的BIER‑TE网络检测方法的步骤。

17.一种比特转发路由器BFR,其特征在于,包括:第二存储器以及第二处理器,所述第二存储器存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被所述第二处理器执行时实现如权利要求6至10中任一项所述的BIER‑TE网络检测方法的步骤。

18.一种比特转发路由器BFR,其特征在于,包括:第三存储器以及第三处理器,所述第三存储器存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被所述第三处理器执行时实现如权利要求11至12中任一项所述的BIER‑TE网络检测方法的步骤。

19.一种计算机可读介质,其特征在于,存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被处理器执行时实现如权利要求1至5中任一项所述的BIER‑TE网络检测方法的步骤。

20.一种计算机可读介质,其特征在于,存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被处理器执行时实现如权利要求6至10中任一项所述的BIER‑TE网络检测方法的步骤。

21.一种计算机可读介质,其特征在于,存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被处理器执行时实现如权利要求11至12中任一项所述的BIER‑TE网络检测方法的步骤。

说明书 :

一种BIER‑TE网络检测方法、装置及系统

技术领域

[0001] 本申请涉及但不限于组播技术领域,尤其涉及一种BIER‑TE(Bit Index Explicit Replication Traffic Engineering,基于流量工程的位索引显示复制)网络检测方法、装
置及系统。

背景技术

[0002] BIER(Bit Indexed Explicit Replication,位索引显示复制)技术是一种新的组播技术架构。支持BIER技术的路由器称为BFR(Bit‑Forwarding Router,比特转发路由器),
由BFR组成的一个组播转发域称为BIER domain(BIER域)。在BFIR(Bit‑Forwarding 
Ingress Router,比特转发入口路由器)上将一个或多个BFER(Bit‑Forwarding Egress 
Router,比特转发出口路由器)的位标识组成位串(BitString)封装在BIER报文头中,通过
BIER报文头指导报文按照IGP(Interior Gateway Protocol,内部网关协议)生成的最短路
径优先进行转发,从而实现组播报文的传输。
[0003] 由于BIER不能显式地指定报文的转发路径,所以draft‑eckert‑bier‑te‑arch提出了BIER‑TE架构来弥补这一缺憾。
[0004] BIER‑TE沿用了BIER的报文头(BIER header)封装格式,与BIER使用BitString标识BFER不同的是:BIER‑TE使用BitString标识由BIER‑TE控制器计算的显式的转发路径。报
文转发依赖BIFT(Bit Index Forwarding Table,基于位索引的转发表),转发表由控制器
生成。
[0005] 一个BIER‑TE域可能包括多个sub‑domain(子域)。每个sub‑domain具有一个取值范围为[0,255]的sub‑domain‑id(子域标识,简称SD)。BitString的长度(BSL,BitString 
Length)可以是64位、128位、256位、512位、1024位、2048位、4096位。当计算出的路径超过
BitString的长度时,可以通过一些策略分成多条路径生成多个BitString来表示,此时需
要引入Set Identifier(集标识,简称SI)来表示不同的路径。对于MPLS(Multiprotocol 
Label Switching,多协议标签交换)网络,每个三元组分配一个BIER‑MPLS标
签,封装BIER报文时,BIER报文头的BIFT‑id字段使用BIER‑MPLS标签;对于非MPLS网络,<
SD,SI,BSL>与BIFT‑id也是一一对应的映射关系。
[0006] 为了检测BIER‑TE网络中可能存在的问题,draft‑chen‑bier‑te‑ping提出了一种通过BIER‑TE OAM(Operation,Administration and Maintenance,操作管理维护)Echo 
Request(回应请求)报文和Echo Reply(回应应答)报文来进行BIER‑TE网络异常检测的方
法。OAM报文头跟在BIER报文头的后面,格式如图1所示,其中,QTF(Querier Timestamp 
Format)为查询时间戳格式,RTF(Responder Timestamp Format)为应答时间戳格式。Echo 
Request(回应请求)报文和Echo Reply(回应应答)报文是检测控制面和数据面同步异常问
题的有效工具,同时也可以作为开发者的调试工具。构造BIER OAM报文时,可以将需要检测
的信息用TLV(Type Length Value,类型长度值)表示,在图1所示的TLVs中携带。草案对标
签的检测采用了跟BIER OAM类似的方法,将信息封装在Echo Request报文中,
接收到Echo Request报文的BFR根据报文头的BIER‑MPLS标签,获取本地记录的标签与SI,BSL>三元组的映射关系,若本地的三元组与报文中的不一致,说明网络中有异常。由于
在BIER网络中,标签是由BFR各自分配,通过IGP洪泛通告给其余BFR,因此是以通告者提供
的标签作为正确标签。在BIER网络中,收到OAM Echo Request报文的BFR是分配报文头部标
签的BFR,因此如果报文携带的标签与BFR本地标签不一致,可认为是上游的BFR转发表中出
标签有问题。然而,不同于BIER网络,BIER‑TE网络中控制信息由控制器下发给BFR,标签分
配方式一般是由控制器统一分配和管理,因此收到Echo Request报文的BFR可能无法检测
出上述标签问题;或者,在检测出上述标签问题时,不能确定是报文中BIER报文头的标签有
问题(即上游BFR有问题),还是本地记录的标签有问题。

发明内容

[0007] 以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
[0008] 本申请实施例提供一种BIER‑TE网络检测方法、装置及系统,实现在BIER‑TE网络准确定位异常的BFR。
[0009] 第一方面,本申请实施例提供一种BIER‑TE网络检测方法,包括:
[0010] BIER‑TE网络内的控制器向比特转发入口路由器(BFIR)发送操作管理维护(OAM)检测信息;
[0011] 所述控制器接收所述BFIR或作为检测点的比特转发路由器(BFR)发送的检测结果;
[0012] 其中,所述OAM检测信息包括第一标签信息,或者,所述检测结果包括第二标签信息。
[0013] 第二方面,本申请实施例提供一种BIER‑TE网络检测方法,包括:
[0014] BIER‑TE网络内的BFIR根据控制器发送的OAM检测信息,构造OAM回应请求报文;
[0015] 所述BFIR向作为检测点的BFR发送所述OAM回应请求报文;
[0016] 所述BFIR接收所述检测点返回的OAM回应应答报文;
[0017] 其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息。
[0018] 第三方面,本申请实施例提供一种BIER‑TE网络检测方法,包括:
[0019] BIER‑TE网络中作为检测点的BFR接收OAM回应请求报文;
[0020] 所述BFR向BFIR发送OAM回应应答报文,或者,向控制器发送网络配置协议(NETCONF)通知;
[0021] 其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息,或者,所述NETCONF通知携带第二标签信息。
[0022] 第四方面,本申请实施例提供一种BIER‑TE网络检测装置,应用于BIER‑TE网络内的控制器,包括:
[0023] 第一发送模块,配置为向BFIR发送OAM检测信息;
[0024] 第一接收模块,配置为接收BFIR或作为检测点的BFR发送的检测结果;
[0025] 其中,所述OAM检测信息包括第一标签信息,或者,所述检测结果包括第二标签信息。
[0026] 第五方面,本申请实施例提供一种BIER‑TE网络检测装置,应用于BIER‑TE网络内的BFIR,包括:
[0027] 第一处理模块,配置为根据控制器发送的OAM检测信息,构造OAM回应请求报文;
[0028] 第二发送模块,配置为向作为检测点的BFR发送所述OAM回应请求报文;
[0029] 第二接收模块,配置为接收所述检测点返回的OAM回应应答报文;
[0030] 其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息。
[0031] 第六方面,本申请实施例提供一种BIER‑TE网络检测装置,应用于BIER‑TE网络中作为检测点的BFR,包括:
[0032] 第三接收模块,配置为接收OAM回应请求报文;
[0033] 第三发送模块,配置为向BFIR发送OAM回应应答报文,或者,向控制器发送NETCONF通知;
[0034] 其中,所述OAM回应请求报文携带第一标签信息,或者,所述OAM回应应答报文携带第二标签信息,或者,所述NETCONF通知携带第二标签信息。
[0035] 第七方面,本申请实施例提供一种BIER‑TE控制器,包括:第一存储器以及第一处理器,所述第一存储器存储有BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被所述第
一处理器执行时实现上述第一方面提供的BIER‑TE网络检测方法的步骤。
[0036] 第八方面,本申请实施例提供一种BFR,包括:第二存储器以及第二处理器,所述第二存储器存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络
检测程序被所述第二处理器执行时实现上述第二方面提供的BIER‑TE网络检测方法的步
骤。
[0037] 第九方面,本申请实施例提供一种BFR,包括:第三存储器以及第三处理器,所述第三存储器存储有基于流量工程的位索引显示复制BIER‑TE网络检测程序,所述BIER‑TE网络
检测程序被所述第三处理器执行时实现上述第三方面提供的BIER‑TE网络检测方法的步
骤。
[0038] 此外,本申请实施例还提供一种计算机可读介质,存储有BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被处理器执行时实现上述第一方面提供的BIER‑TE网络检测方
法的步骤。
[0039] 此外,本申请实施例还提供一种计算机可读介质,存储有BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被处理器执行时实现上述第二方面提供的BIER‑TE网络检测方
法的步骤。
[0040] 此外,本申请实施例还提供一种计算机可读介质,存储有BIER‑TE网络检测程序,所述BIER‑TE网络检测程序被处理器执行时实现上述第三方面提供的BIER‑TE网络检测方
法的步骤。
[0041] 在本申请实施例中,BIER‑TE网络内的控制器向BFIR发送OAM检测信息,接收BFIR或作为检测点的BFR发送的检测结果;其中,OAM检测信息包括第一标签信息,或者,检测结
果包括第二标签信息。如此,通过在控制器与BFIR或控制器与BFR之间的交互信息中携带标
签信息,实现在BIER‑TE网络准确定位异常的BFR。
[0042] 在示例性实施方式中,第一标签信息可以包括控制器记录的检测点的标签值。如此,由控制器将正确的标签值带给BFIR,再由BFIR通过OAM回应请求报文携带正确的标签值
发送给作为检测点的BFR,由BFR对标签值的一致性进行检测。如此,通过在OAM回应请求报
文携带标签信息,从而便于BFR检测出异常的标签值。
[0043] 在示例性实施方式中,BFR可以通过OAM回应应答报文或者NETCONF通知反馈对标签的检测结果;或者,BFIR可以通过远程过程调用(RPC)应答消息或者NETCONF通知向控制
器反馈检测结果。如此,通过在OAM回应应答报文或者NETCONF通知中携带标签信息,从而便
于由控制器判断出控制面与数据面标签不一致的BFR。
[0044] 在阅读并理解了附图和详细描述后,可以明白其他方面。

附图说明

[0045] 图1为BIER OAM报文头的封装格式示意图;
[0046] 图2为本申请实施例提供的一种BIER‑TE网络检测方法的流程图;
[0047] 图3为本申请实施例提供的另一种BIER‑TE网络检测方法的流程图;
[0048] 图4为本申请实施例提供的另一种BIER‑TE网络检测方法的流程图;
[0049] 图5为本申请实施例的网络拓扑示例图;
[0050] 图6为本申请实施例的BIER‑TE网络检测方法的示例图一;
[0051] 图7为本申请实施例的新增Incoming Request BIFT‑id TLV的封装格式示意图;
[0052] 图8为本申请实施例的BIER‑TE网络检测方法的示例图二;
[0053] 图9为本申请实施例的新增Local BIFT‑id TLV的封装格式的示意图;
[0054] 图10为本申请实施例的BIER‑TE网络检测方法的示例图三;
[0055] 图11为本申请实施例的新增Controller BIFT‑id TLV的封装格式的示意图;
[0056] 图12为本申请实施例的BIER‑TE网络检测方法的示例图四;
[0057] 图13为本申请实施例的BIER‑TE网络检测方法的示例图五;
[0058] 图14为本申请实施例的BIER‑TE网络检测方法的示例图六;
[0059] 图15为本申请实施例提供的一种BIER‑TE网络检测装置的示意图;
[0060] 图16为本申请实施例提供的另一种BIER‑TE网络检测装置的示意图;
[0061] 图17为本申请实施例提供的另一种BIER‑TE网络检测装置的示意图;
[0062] 图18为本申请实施例提供的一种BIER‑TE控制器的示意图;
[0063] 图19为本申请实施例提供的一种BFR的示意图;
[0064] 图20为本申请实施例提供的另一种BFR的示意图。

具体实施方式

[0065] 以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。
[0066] 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺
序执行所示出或描述的步骤。
[0067] 本申请为了方便描述,假设使用的是MPLS网络,文中的标签均可以为BIER‑MPLS标签。然而,本申请提供的方法对于非MPLS网络同样适用。
[0068] 图2为本申请实施例提供的一种BIER‑TE网络检测方法的流程图。如图2所示,本实施例提供的BIER‑TE网络检测方法应用于BIER‑TE网络中的控制器,包括以下步骤:
[0069] S201、控制器向BFIR发送OAM检测信息;
[0070] S202、控制器接收BFIR或作为检测点的BFR发送的检测结果;
[0071] 其中,OAM检测信息包括第一标签信息,或者,检测结果包括第二标签信息。
[0072] 示例性地,当OAM检测信息包括第一标签信息时,检测结果可以包括第二标签信息或者不包括第二标签信息,例如,在检测点检测到标签异常时,检测结果可以不包括第二标
签信息;当OAM检测信息不包括第一标签信息时,检测结果可以包括第二标签信息,例如,在
检测点检测到标签异常时,检测结果可以包括第二标签信息。
[0073] 本实施例中,控制器接收到检测结果后,可以根据检测结果确定BIER‑TE网络中是否存在异常的BFR以及哪些为异常的BFR。
[0074] 在本实施例中,BIER‑TE网络中,控制器和BFR之间通过NETCONF(Network Configuration Protocol,网络配置协议)进行交互,控制器和BFR之间的接口通过YANG(A 
Data Modeling Language for the Network Configuration Protocol,NETCONF的数据模
型语言)模型定义。BFR作为检测点用来进行标签的检测。
[0075] 示例性地,S201可以包括:控制器向BFIR发送携带OAM检测信息的NETCONF RPC(Remote Procedure Call,远程过程调用)请求,其中,OAM检测信息基于YANG模型进行配
置,YANG模型中定义有标签信息字段。
[0076] 其中,控制器可以计算路径,构造检测路径BitString,并向BFIR发送OAM检测信息,OAM检测信息由控制器发送RPC请求给BFIR进行操作。
[0077] 示例性地,第一标签信息可以包括控制器记录的检测点的标签值,即检测点的正确的标签值;OAM检测信息通过YANG模型中的标签信息字段携带第一标签信息。即控制器向
BFIR下发检测点的正确标签值。此时,BFIR发送携带正确的标签值的OAM回应请求报文给作
为检测点的BFR,再由BFR对标签进行一致性检测后反馈检测结果。
[0078] 示例性地,S202可以包括以下之一:
[0079] 控制器接收BFIR发送的携带检测结果的NETCONF RPC应答消息;
[0080] 控制器接收BFIR发送的携带检测结果的NETCONF通知(Notification);
[0081] 控制器接收作为检测点的BFR发送的携带检测结果的NETCONF通知。
[0082] 其中,控制器可以在OAM检测信息中配置BFR反馈检测结果的方式。比如,BFIR可以在NETCONF RPC应答消息中携带第二标签信息;或者,BFIR可以在NETCONF通知中携带第二
标签信息;或者,BFR可以在NETCONF通知中携带第二标签信息。
[0083] 示例性地,第二标签信息可以包括以下至少之一:一个或多个检测点的本地三元组映射的标签值、一个或多个检测点收到的OAM回应请求报文的报文头携带的
标签值。比如,作为检测点的BFR通过NETCONF通知携带的第二标签信息可以包括该检测点
的本地三元组映射的标签值以及该检测点收到的OAM回应请求报文的报文头
携带的标签值。比如,BFIR通过NETCONF通知或NETCONF RPC应答消息携带的第二标签信息
可以包括:多个检测点中任一检测点的本地三元组映射的标签值以及每个检
测点收到的OAM回应请求报文的报文头携带的标签值。
[0084] 示例性地,检测结果可以包括:一个或多个检测点的OAM检测返回值。比如,BFIR通过NETCONF通知或NETCONF RPC应答消息携带的检测结果可以包括:多个检测点的OAM检测
返回值;作为检测点的BFR通过NETCONF通知携带的检测结果可以包括:该检测点的OAM检测
返回值。
[0085] 比如,作为检测点的BFR通过NETCONF通知携带的检测结果可以包括:用于指示该检测点的标签存在异常的OAM检测返回值、该检测点的本地三元组映射的标签
值、该检测点收到的OAM回应请求报文的报文头携带的标签值;或者,作为检测点的BFR通过
NETCONF通知携带的检测结果可以包括:用于指示该检测点的标签正常的OAM检测返回值。
[0086] 比如,BFIR发送的NETCONF通知或NETCONF RPC应答消息携带的检测结果可以包括:一个或多个OAM检测返回值,其中,每个OAM检测返回值用于指示一个检测点的标签是否
存在异常;存在异常的检测点的本地三元组映射的标签值、存在异常的检测点
收到的OAM回应请求报文的报文头携带的标签值。或者,BFIR发送的NETCONF通知或NETCONF 
RPC应答消息携带的检测结果可以包括:一个或多个OAM检测返回值,且每个OAM检测返回值
用于指示任一个检测点的标签正常。
[0087] 图3为本申请实施例提供的一种BIER‑TE网络检测方法的流程图。如图3所示,本实施例提供的BIER‑TE网络检测方法应用于BIER‑TE网络内的BFIR,包括以下步骤:
[0088] S301、BFIR根据控制器发送的OAM检测信息,构造OAM回应请求报文;
[0089] S302、BFIR向作为检测点的BFR发送OAM回应请求报文;
[0090] S303、BFIR接收检测点返回的OAM回应应答报文;
[0091] 其中,OAM回应请求报文携带第一标签信息,或者,OAM回应应答报文携带第二标签信息。
[0092] 示例性地,当OAM回应请求报文携带第一标签信息时,OAM回应应答报文可以携带第二标签信息或者不携带第二标签信息;当OAM回应请求报文没有携带第一标签信息时,
OAM回应应答报文携带第二标签信息。
[0093] 其中,OAM检测信息可以由控制器发送的NETCONF RPC请求携带;OAM检测信息基于YANG模型配置,YANG模型中定义有标签信息字段。
[0094] 其中,第一标签信息可以包括:控制器记录的检测点的标签值,即检测点的正确的标签值。若OAM检测信息通过YANG模型中的标签信息字段携带第一标签信息,则BFIR构造的
OAM回应请求报文中包括一个类型长度值(TLV),该TLV携带第一标签信息。即BFIR通过OAM
回应请求报文向检测点发送正确的标签值。
[0095] 示例性地,S303之后,本实施例的方法还可以包括:
[0096] BFIR根据收到的OAM回应应答报文,确定检测点的检测结果;
[0097] BFIR向控制器发送携带检测结果的NETCONF RPC应答消息;或者,向控制器发送携带检测结果的NETCONF通知。
[0098] 示例性地,检测结果可以包括第二标签信息。
[0099] 其中,第二标签信息可以包括以下至少一项:检测点的本地三元组映射的标签值、检测点收到的OAM回应请求报文的报文头携带的标签值。
[0100] 其中,一个检测点返回的OAM回应应答报文携带的第二标签信息可以包括以下至少之一:该检测点的本地三元组映射的标签值、该检测点收到的OAM回应请求
报文的报文头携带的标签值。
[0101] 示例性地,BFIR可以根据多个检测点返回的OAM回应应答报文,确定多个检测点的检测结果,然后通过NETCONF RPC应答消息或者NETCONF通知向控制器返回多个检测点的检
测结果。此时,BFIR向控制器返回的检测结果携带的第二标签信息可以包括以下至少之一:
多个检测点中任一检测点的本地三元组映射的标签值、每个检测点收到的OAM
回应请求报文的报文头携带的标签值。
[0102] 图4为本申请实施例提供的一种BIER‑TE网络检测方法的流程图。如图4所示,本实施例提供的BIER‑TE网络检测方法应用于作为检测点的BFR,包括以下步骤:
[0103] S401、BFR接收OAM回应请求报文;
[0104] S402、BFR向BFIR发送OAM回应应答报文,或者,向控制器发送NETCONF通知;
[0105] 其中,OAM回应请求报文携带第一标签信息,或者,OAM回应应答报文携带第二标签信息,或者,NETCONF通知携带第二标签信息。
[0106] 示例性地,第一标签信息可以包括控制器记录的检测点的标签值。
[0107] 示例性地,第二标签信息可以包括以下至少之一:该检测点的本地三元组映射的标签值、该检测点收到的OAM回应请求报文的报文头携带的标签值。
[0108] 示例性地,OAM回应应答报文或NETCONF通知可以携带该检测点的OAM检测返回值。比如,用于指示该检测点标签异常的OAM检测返回值,或者,用于指示该检测点标签正确的
OAM检测返回值。
[0109] 示例性地,当OAM回应请求报文携带第一标签信息,则OAM回应应答报文或者NETCONF通知可以不携带第二标签信息或者携带第二标签信息;比如,当作为检测点的BFR
检测到本地三元组映射的标签值和收到的OAM回应请求报文的报文头携带的
标签值一致,且与OAM回应请求报文携带的第一标签信息匹配,则OAM回应应答报文或者
NETCONF通知可以不携带第二标签信息;当OAM回应请求报文没有携带第一标签信息,则OAM
回应应答报文或者NETCONF通知可以携带第二标签信息,比如,当作为检测点的BFR检测到
本地三元组映射的标签值和收到的OAM回应请求报文的报文头携带的标签值
不一致,则可以在OAM回应应答报文或者NETCONF通知中携带上述两个标签值,以便由控制
器进行异常BFR的判断。
[0110] 下面通过示例对本申请进行说明。
[0111] BIER‑TE OAM Echo Request(回应请求)和Echo Reply(回应应答)报文可以通过ping模式(OAM Echo Request的BIER头的TTL(Time To Live,生存周期)设置为255)进行连
通性检测。BFIR向一个或多个BFER发出Echo Request报文,若不是所有BFER都能回应检测
成功的Echo Reply报文,可以通过trace模式,对BFIR到连通性异常的BFER的路径上的异常
点进行定位;其中,trace模式是将OAM Echo Request的BIER头的TTL从1开始,每次增1,发
送不同的TTL值的报文,可以对路径上BFR逐个进行检测,以确认异常点。下面将以trace模
式为例对标签的异常检测进行说明,每次检测目的BFER可以只设置一个。
[0112] 本申请实施例采用的BIER‑TE组网拓扑如图5所示,BIER‑TE域中有一个控制器、一个BFIR、两个BFER(BFER1和BFER2)以及两个中间转发BFR(BFR1和BFR2)。控制器负责BP
(BitPosition,比特位置)的分配、标签的分配、BIFT的生成以及路径的计算。控制器通过
NETCONF向每个BFR下发计算结果或者发起请求、接收BFR的通知等。
[0113] 为方便描述,假设图5中的BFR都在子域1里,即SD为1;SI有两个,分别是0和1;BSL是64。控制器为每个BFR分配三元组和标签的映射关系。假设每个BFR都分配相
同的标签值,<1,0,64>对应标签值为100,<1,1,64>对应标签值为101。
[0114] 本实施例中,控制器分配BP如图5所示,假设SI为0,其中P1至P4均为forward_connected类型(每条链路分配一个BP),P5和P6分别是BFER1和BFER2的local‑decap类型的
BP。控制器根据BP的配置和邻接(Adjacencies)关系为每个BFR生成BIFT,其中,BFIR的转发
表如表一所示,BFR1的转发表如表二所示。
[0115] 表一BFIR上的BIFT
[0116]
[0117] 表二BFR1上的BIFT
[0118]
[0119]
[0120] 本实施例中,控制器通过NETCONF的RPC(Remote Procedure Call,远程过程调用)请求向BFIR发送BIER‑TE的OAM检测信息,BFIR根据OAM检测信息构造OAM Echo Request报
文,并根据BitString转发OAM Echo Request报文;当检测点接收到OAM Echo Request报文
检测得到检测结果后,可以采用以下两种方式将检测结果通知给控制器:一种是控制器下
发RPC请求后,等待检测点回Echo Reply给BFIR,由BFIR将检测结果通过RPC应答通知给控
制器;另一种方式是控制器下发检测请求后,不等待检测结果,由检测点直接通过NETCONF
的Notification(通知)将检测结果发送给控制器。
[0121] 控制器与BFR间的NETCONF的RPC接口的YANG模型如下所示:
[0122]
[0123]
[0124]
[0125] 本实施例中,控制器发送OAM检测信息时,输入参数通过input参数进行设置。下面对input参数进行说明。
[0126] subdomain‑id字段:用来表示子域标识。
[0127] bsl字段:用来表示BitString的长度。
[0128] check‑object‑choice字段:控制器可以选择直接下发BitString来表示需要检测的路径,也可以选择下发一个multicast‑flow(组播流),BFIR通过组播流索引获得需要检
测的路径。
[0129] bitstring字段:表示需要检测的路径。假设在图5所示的网络拓扑结构上,控制器连通性检测ping模式计算出BFIR到BFER1和BFER2的路径是(P1,P2,P3,P4,P5,P6),检测结
果是BFER1没有应答,需要检测BFIR到BFER1的路径,那么bistring字段可以设置为BFIR到
BFER1的路径(P1,P2,P5)即可,由于本实施例拓扑简单,8个位可以表示路径,为方便描述,
以下路径的BitString只列出低8位(其他56位都是0),路径(P1,P2,P5)可以表示为
00010011。
[0130] multicast‑flow字段:用来表示组播流,控制器给每个组播流计算路径,将组播流和路径对应的BitString下发给BFIR。控制器设置OAM检测对象是一个组播流时,BFIR收到
检测信息,根据组播流信息获得对应的路径,然后对路径进行检测。
[0131] bift‑id‑info字段:用来表示检测点三元组对应的BIFT‑id。以路径(P1,P2,P5)为例,可以设置ttl字段为1时,bift‑id为BFR1的三元组对应的
BIFT‑id;设置ttl字段为2时,bift‑id为BFER1的三元组对应的BIFT‑id。
[0132] bfr‑address字段:用来表示检测点的地址,可以是BFR‑prefix或者loopback(环回地址)地址等可以标识BFR的地址。
[0133] fec‑stack‑choice:用来表示路径上BP对应的邻接关系,包括对应的BFR的节点信息和接口信息等。以P2为例,P2是forward‑connected类型,假设BFR1的interface1和BFER1
的interface1相连,那么local‑bfr为BFR1,可设置为BFR1的BFR‑prefix或者其他可以唯一
确定BFR1的标识,local‑interface为BFR1的interface1,remote‑bfr为BFER1,可设置为
BFER1的BFR‑prefix或者其他可以唯一确定BFER1的标识,remote‑interface为BFER1的
interface1。检测点会对fec‑stack进行检测,草案draft‑chen‑bier‑te‑ping描述了fec‑
stack的检测方法,local‑bfr的值应该是检测点的地址,local‑interface应该是检测点
BIFT中的BP为2的条目的出端口,remote‑interface应该是检测点BIFT中的BP为2的条目的
下一跳的接口地址。
[0134] max_ttl字段:表示trace模式下BFIR构造OAM Echo Request报文时BIER头的最大TTL。举例来说,max_ttl设置为2的话,BFIR会分别构造BIER头TTL为1和2的Echo Request报
文。
[0135] reply‑mode字段:用来表示OAM Echo Request报文的reply mode(应答模式),reply‑mode字段为1表示无OAM Echo Reply应答,为2表示用IP(Internet Protocol,网络
协议)或UDP(User Datagram Protocol,用户数据报协议)应答,为3表示用BIER报文应答
(需要控制器计算BFER到BFIR的路径下发到BFER上,双向检测时使用)。当设置为1即无OAM 
Echo Reply应答时,检测点BFR通过NETCONF通知(Notification)向控制器上报检测结果,
可以在单向检测或者检测点到BFIR没有路径时使用。
[0136] 本实施例中,当BFIR收到所有从BFR回应的Echo Reply报文之后,通过设置RPC的output参数向控制器返回应答结果。下面对output参数进行说明。
[0137] return‑info‑list表示从BFR返回的信息。
[0138] index:用来表示返回值的序号。
[0139] ttl:用来表示Echo Request设置的BIER头的TTL。
[0140] return‑code:同Echo Reply的Return Code(返回码)。
[0141] return‑sub‑code:同Echo Reply的Return Subcode(返回子码)。
[0142] responder‑bfr:用来表示回应Echo Reply的BFR。
[0143] bift‑id‑local:在检测点检测到标签异常,且正确标签值未知时设置,取值为检测点的本地的三元组对应的BIFT‑id。
[0144] bift‑id‑from‑echo‑req:在检测点检测到标签异常,且正确标签值未知时设置,取值为检测点收到的Echo Request报文的BIER‑MPLS标签。
[0145] 当Echo Request的reply‑mode设置为1即无OAM Echo Reply应答时,或者BFIR启动定时器检测发现异常主动上报异常时,检测点或者BFIR可以通过NETCONF的
Notification向控制器上报检测结果,YANG模型如下所示:
[0146]
[0147] 其中,bitstring字段与RPC的input的bitstring字段的设置是一致的,均为被检测路径的BitString,subdomain‑id、bsl、si字段同RPC的input参数内的同名字段。其他字
段与RPC的output参数内的同名字段一致。故于此不再赘述。
[0148] 下面将列举六个实施例对本申请的检测过程进行说明。下述实施例均基于图5所示的网络拓扑进行说明。其中,实施例一到实施例四中,RPC请求的check‑object‑choice字
段是bistring,假设对BFIR到BFER1和BFER2的路径的连通性检测发现只有向BFER2的路径
能ping通,因此这些实施例描述BFIR到BFER1路径的异常检测过程。实施例五中,RPC请求的
check‑object‑choice字段是muliticat‑flow,检测组播流对应的组播路径。实施例六是假
设在定时检测或者其他情况由BFIR发现异常主动上报异常的情况。
[0149] 另外,在下面的实施例中,TLV类型定义可以参照表三,返回码(Return Code)的取值可以参照表四,返回子码(Return Subcode)的取值可以参照表五。
[0150] 表三TLV类型定义
[0151]
[0152] 表四返回码的值
[0153]
[0154] 表五返回子码的值
[0155]
[0156] 实施例一
[0157] 本实施例提供一种检测点不存在三元组与BIFT‑id映射关系的异常的检测方法。如图6所示,本实施例包括以下步骤:
[0158] S601、控制器计算BFIR到BFER1和BFER2的路径,BFIR到BFER1和BFER2的路径分别为(P1,P2,P5)和(P3,P4,P6),合成结果为(P1,P2,P3,P4,P5,P6)。因为只需要检测BFIR到
BFER1的路径,因此取(P1,P2,P5)构造位串(BitString)为00010011。
[0159] S602、控制器构造向BFIR发起OAM检测的NETCONF RPC请求,其中,RPC的input参数subdomain‑id,bsl,si分别设置为1,64,0;bitstring设置为00010011;max‑ttl设置为2;
reply‑mode设置为2,表示用IP或UDP应答。
[0160] S603、控制器向BFIR发起OAM检测请求,将构造的NETCONF RPC请求发送给BFIR。
[0161] S604、BFIR根据控制器下发的NETCONF RPC请求携带的参数,构造OAM回应请求(Echo Request)报文。OAM报文头的TLV设置如下:Original SI‑BitString TLV(源SI‑
BitString TLV)中设置Set ID字段为0、设置Sub‑domain ID字段为1、设置BS Len字段为
64、BitString设置为控制器下发的Bitstring 00010011,Reply‑To TLV设置为BFIR的BFR‑
prefix或者loopback地址;BIER头的设置如下:TTL设置为1,BitString设置为00010010(最
右一位清零),在BIFT中查找BP为1的条目获得出标签,封装为BIER头的标签。
[0162] S605、BFIR根据转发表向BFR1转发OAM Echo Request报文。
[0163] S606、BFR1收到OAM Echo Request报文后,由于TTL为1,因此不转发报文,进行OAM报文携带参数的检测。从Original SI‑BitString TLV获得三元组信息<1,0,
64>,BFR1根据<1,0,64>查找本地映射的标签值即BIFT‑id值;假设本地不存在这个映射,构
造OAM Echo Reply(回应应答)报文,在如图1所示的TLVs中新增一个TLV类型Incoming 
Request(传入请求)BIFT‑id TLV,其中,参照表三,Type值设置为8,TLV格式如图7所示,用
来表示OAM报文带过来的标签值(即上游BFR BIFT中的OutLabel的值);返回码(Return 
Code)设置为9(Set‑Identifier Mismatch),新增一个返回子码(Return Subcode),参照表
五,设置返回子码的值为0(Local BFIT‑id does not exist),表示三元组映
射的标签在BFR1不存在。
[0164] S607、BFR1通过UDP报文向BFIR回复Echo Reply报文。
[0165] S608、BFIR收到BFR1的Echo Reply报文,设置RPC应答的output参数;其中,将return‑code和return‑sub‑code分别设置为Echo Reply报文的Return Code和Return 
Subcode,将bift‑id‑from‑echo‑req设置为Incoming Request BIFT‑id TLV的BIFT‑id值,
将responder‑bfr设置为BFR1的BFR‑prefix。
[0166] S609、BFIR向控制器回复RPC应答消息。
[0167] S610、控制器收到RPC应答消息后,根据return‑code和return‑sub‑code判断标签异常,根据responder‑bfr确认BFR1上没有从控制器同步到三元组的映射关
系;根据responder‑bfr和bistring获得BFR1的上一跳为BFIR,获取控制器上记录的BFR1上
三元组映射的BIFT‑id值,与bift‑id‑from‑echo‑request字段携带的BIFT‑id
值比较,若两者不一致,则说明BFIR上的转发表也有异常,若两者一致,则说明BFIR上的转
发表正常。
[0168] 实施例二
[0169] 本实施例提供一种检测点的三元组映射的BIFT‑id与收到的回应请求报文的标签值不一致的异常点确认方法。如图8所示,本实施例包括以下步骤:
[0170] S801、控制器构造BitString,本步骤的说明可以参照S601。
[0171] S802、控制器构造NETCONF RPC请求,本步骤的说明可以参照S602。
[0172] S803、控制器向BFIR下发NETCONF RPC请求。
[0173] S804、BFIR根据控制器下发的NETCONF RPC请求携带的参数,构造OAM Echo Request报文。本步骤的说明可以参照S604。
[0174] S805、BFIR根据转发表向BFR1转发OAM Echo Request报文。
[0175] S806、BFR1收到OAM Echo Request报文后,由于TTL为1,因此不转发报文,进行OAM报文携带参数的检测。从Original SI‑BitString TLV获得三元组信息<1,0,
64>,BFR1根据<1,0,64>查找本地映射的标签值即BIFT‑id值;假设这个值与Echo Request 
BIER头的标签值不一致,构造OAM Echo Reply报文,在如图1所示的TLVs中新增一个TLV类
型Local BIFT‑id TLV,其中,参照表三,Type值设置为9,TLV格式如图9所示,用来表示本地
映射的标签值即BIFT‑id值;返回码(Return Code)设置为9(Set‑Identifier Mismatch),
新增一个返回子码(Return Subcode),参照表五,设置返回子码的值为1(Local BFIT‑id 
does not equal to the incoming Echo Request BFIT‑id),即表示BFR1上
三元组映射的标签值与OAM报文头的标签值不一致。另外,设置Incoming Request BIFT‑id 
TLV,用来表示OAM报文头的标签值。关于Incoming Request BIFT‑id TLV的设置可以参照
S606,故于此不再赘述。
[0176] S807、BFR1通过UDP报文向BFIR回复Echo Reply报文。
[0177] S808、BFIR收到BFR1的Echo Reply报文,设置RPC应答的output参数;其中,将return‑code和return‑sub‑code分别设置为Echo Reply报文的Return Code和Return 
Subcode,将bift‑id‑from‑echo‑req设置为Incoming Request BIFT‑id TLV的BIFT‑id值,
将bift‑id‑local设置为Local BIFT‑id TLV的BIFT‑id值,将responder‑bfr设置为BFR1的
BFR‑prefix或者loopback地址。
[0178] S809、BFIR向控制器回复RPC应答消息。
[0179] S810、控制器收到RPC应答消息后,根据return‑code和return‑sub‑code判断标签异常,根据responder‑bfr和bistring获得BFR1的上一跳为BFIR,获取控制器上记录的BFR1
三元组映射的BIFT‑id值,与bift‑id‑from‑echo‑request字段携带的BIFT‑
id值比较,若两者不一致,说明BFIR上的转发表有异常,若两者一致,则说明BFIR上的转发
表正常;与bift‑id‑local字段携带的BIFT‑id值比较,若两者不一致,则说明BFR1有异常。
[0180] 实施例三
[0181] 本实施例提供一种检测点的三元组映射的BIFT‑id与收到的回应请求报文的标签值虽然一致但都错误的异常检测方法。如图10所示,本实施例包括以下步骤:
[0182] S1001、控制器构造BitString,本步骤的说明可以参照S601。
[0183] S1002、控制器构造NETCONF RPC请求,本步骤在S602的基础上,增加bift‑id‑info字段的赋值,设置为{(ttl=1,(bift‑id 100,bfr1)),(ttl=2,(bift‑id 100,bfer1))}。
关于其他设置可以参照S602。
[0184] S1003、控制器向BFIR下发NETCONF RPC请求。
[0185] S1004、BFIR根据控制器下发的NETCONF RPC请求携带的参数,构造OAM Echo Request报文;本步骤在S604的基础上,在如图1所示的TLVs中新增一个TLV类型Controller 
BIFT‑id TLV,参照表三可知,Type值设置为10,TLV格式如图11所示,根据TTL值为1,设置
TLV的BIFT‑id为100,BFR‑Address(BFR地址)为BFR1的BFR‑prefix或者loopback地址。关于
其他设置可以参照S604。
[0186] S1005、BFIR根据转发表向BFR1转发OAM Echo Request报文。
[0187] S1006、BFR1收到OAM Echo Request报文后,由于TTL为1,因此不转发报文,进行OAM报文携带参数的检测。从Original SI‑BitString TLV获得三元组信息<1,
0,64>,BFR1根据<1,0,64>查找本地映射的标签值即BIFT‑id值;假设这个值与Echo 
Request BIER头的标签值一致,将Controller BIFT‑id TLV的BIFT‑id值与本地BIFT‑id值
进行比较,若两者不一致,则说明BFR1和上游的BFIR均有异常。构造OAM Echo Reply报文,
其中,返回码(Return Code)设置为9(Set‑Identifier Mismatch),新增一个返回子码
(Return Subcode),参照表五可知,返回子码的值为2(Both Local BFIT‑id and Echo 
Request BFIT‑id are not correct),即表示BFR1上三元组映射的标签值与
OAM报文头的BIER‑MPLS标签值都不正确。
[0188] S1007、BFR1通过UDP报文向BFIR回复Echo Reply报文。
[0189] S1008、BFIR收到BFR1的Echo Reply报文,设置RPC应答的output参数;其中,将return‑code和return‑sub‑code分别设置为Echo Reply报文的Return Code和Return 
Subcode,将responder‑bfr设置为BFR1的BFR‑prefix或者loopback地址。
[0190] S1009、BFIR向控制器回复RPC应答消息。
[0191] S1010、控制器收到RPC应答消息后,根据return‑code和return‑sub‑code判断标签异常,根据responder‑bfr和bistring获得BFR1的上一跳为BFIR,控制器可确认BFIR上转
发表异常以及BFR1上三元组映射的BIFT‑id值与控制器上记录的BFR1上SI,BSL>三元组映射的BIFT‑id值不一致。
[0192] 实施例四
[0193] 本实施例提供一种检测点不返回Echo Reply报文,直接给控制器发送检测结果通知的检测方法。本实施例可用于检测点到BFIR没有路径或者BFR不配置BFR‑prefix等情况。
以实施例一的异常情况,即检测点的三元组与BIFT‑id映射关系不存在为例进
行说明,如图12所示,本实施例包括以下步骤:
[0194] S1201、控制器构造BitString,本过程的说明可以参照S601;控制器构造NETCONF RPC请求,其中,除了reply‑mode设置为1表示无Echo Reply应答与S602不同之外,其他参数
的设置可以参照S602。
[0195] S1202、控制器向BFIR下发NETCONF RPC请求。
[0196] S1203、BFIR向控制器立即返回一个RPC应答,表示BFIR上已经收到RPC请求。
[0197] S1204、BFIR根据控制器下发的NETCONF RPC请求携带的参数,构造OAM Echo Request报文,本步骤的说明可以参照S604。
[0198] S1205、BFIR根据转发表向BFR1转发OAM Echo Request报文。
[0199] S1206、BFR1收到OAM Echo Request报文后,由于TTL为1,因此不转发报文,进行OAM报文携带参数的检测。从Original SI‑BitString TLV获得三元组信息<1,
0,64>,BFR1根据<1,0,64>查找本地映射的标签值即BIFT‑id值,假设本地不存在这个映射。
[0200] 构造NETCONF通知(Notification)。其中,subdomain‑id、bsl、si字段设置为Original SI‑BitString TLV中的Subdomain‑id、BSLen、SI的值;bitstring字段设置为
Original SI‑BitString TLV中的BitString的值;ttl设置为1;return‑code设置为9(Set‑
Identifier Mismatch);return‑sub‑code值设置为0(Local BFIT‑id does not exist);
bift‑id‑from‑echo‑req设置为Echo Request报文头的BIER‑MPLS标签。
[0201] S1207、BFR1向控制器发送Notification。
[0202] S1208、控制器收到Notification后,根据接收通知的NETCONF连接信息得到BFR的地址,确认为BFR1发送的通知。根据return‑code和return‑sub‑code判断标签异常,确认
BFR1上没有从控制器同步到三元组的映射关系。根据bistring获得BFR1的上
一跳为BFIR。获取控制器上记录的BFR1的三元组映射的BIFT‑id值,与bift‑
id‑from‑echo‑request字段的BIFT‑id值比较,若两者不一致,则说明BFIR上的转发表有异
常。
[0203] 实施例五
[0204] 本实施例提供一种控制器向特定组播流发起检测的检测方法。以实施例三的异常情况,即BFR1上三元组映射的BIFT‑id值与OAM报文的BIER头的标签值一致但
都错误的情况为例进行描述。如图13所示,本实施例包括以下步骤:
[0205] S1301、控制器构造NETCONF RPC请求,其中,设置check‑object‑choice为组播流multicast‑flow,假设该组播流对应的路径是(P1,P2,P3,P4,P5,P6)。其中,设置bift‑id‑
info字段为{(ttl=1,(bift‑id 100,bfr1),(bift‑id100,bfr2)),(ttl 2,(bift‑id 100,
bfer1),(bift‑id 100,bfer2))}。
[0206] 其中,subdomain‑id,bsl,si分别设置为1,64,0;max‑ttl设置为2;reply‑mode设置为2,表示用IP或UDP应答。
[0207] S1302、控制器向BFIR下发NETCONF RPC请求。
[0208] S1303、BFIR根据multicast‑flow获取本地记录的对应的Bitstring(00111111);BFIR构造OAM Echo Request报文。
[0209] 其中,OAM报文头的TLV设置如下:Original SI‑BitString TLV(源SI‑BitString TLV)中设置Set ID字段为0、设置Sub‑domain ID字段为1、设置BS Len字段为64、BitString
设置为原始的Bitstring(00111111),Reply‑To TLV设置为BFIR的BFR‑prefix或者
loopback地址;Controller BIFT‑id TLV设置两个,一个是BIFT‑id为100,BFR‑Address为
BFR1,另一个BIFT‑id为100,BFR‑Address为BFR2。
[0210] BIER头的设置如下:TTL设置为1,BitString设置为00111010,在BIFT中查找BP为1的条目获得出标签封装BIER头的标签,向BFR1发送检测报文,在BIFT中查找BP为3的条目获
得出标签封装BIER头的标签,向BFR2发送检测报文。
[0211] S1304、BFIR根据转发表向BFR1和BFR2转发OAM Echo Request报文。
[0212] S1305、BFR1收到OAM Echo Request报文后,由于TTL为1,因此不转发报文,进行OAM报文携带参数的检测。从Original SI‑BitString TLV获得三元组信息<1,
0,64>,BFR1根据<1,0,64>查找本地映射的标签值即BIFT‑id值;假设这个值与Echo 
Request BIER头的标签值一致,从Controller BIFT‑id TLV获得BFR‑Address为BFR1的那
个TLV,将该TLV的BIFT‑id值与本地BIFT‑id值进行比较,若两者不一致,则说明BFR1和上游
的BFIR均有异常。构造OAM Echo Reply报文,返回码(Return Code)设置为9(Set‑
Identifier Mismatch),返回子码(Return Subcode)设置为2(Both Local BFIT‑id and 
Echo Request BFIT‑id are not correct),即表示BFR1上三元组映射的标签
值与Echo Request BIER头的标签值都不正确。
[0213] BFR2收到OAM Echo Request报文的处理与BFR1一致,假设BFR2没有检测出异常,则构造OAM Echo Reply报文,其中,Return Code设置为5(Packet‑Forward‑Success,报文
转发成功)。
[0214] S1306、BFR1和BFR2分别通过UDP报文向BFIR回复Echo Reply报文。
[0215] S1307、BFIR收到Echo Reply报文,设置RPC应答的output参数;其中,假设BFR1的应答结果的index设置为1,BFR2的应答结果的index设置为2。将return‑code和return‑
sub‑code分别设置为Echo Reply报文的Return Code和Return Subcode,将responder‑bfr
设置为返回应答节点的BFR‑prefix或者loopback地址。
[0216] S1308、BFIR向控制器回复RPC应答消息。
[0217] S1309、控制器收到RPC应答消息后,对于index为1的应答,根据return‑code和return‑sub‑code判断标签异常,根据responder‑bfr和bistring获得BFR1的上一跳为
BFIR,控制器可确认BFIR上转发表异常以及BFR1上三元组映射的BIFT‑id值与
控制器上记录的BFR1上三元组映射的BIFT‑id值不一致。对于index为2的应
答,根据return‑code判断未检测出异常。
[0218] 实施例六
[0219] 本实施例提供一种BFIR主动给控制器发送检测异常通知的检测方法。本实施例可用于BFIR发起的定时检测等主动发现异常的情况。假设BFIR是发现实施例一的异常情况,
三元组与BIFT‑id映射关系不存在为例,如图14所示,本实施例包括以下步
骤:
[0220] S1401、控制器获取需要检测的BitString,构造NETCONF RPC请求,其中,reply‑mode设置为2,其余参数设置可以参照S601和S602。
[0221] S1402、控制器发送NETCONF RPC请求到BFIR。
[0222] S1403、BFIR向控制器立即返回一个RPC应答,表示BFIR上已经收到RPC请求。
[0223] S1404、BFIR根据控制器下发的NETCONF RPC请求携带的参数,构造OAM Echo Request报文,本步骤的说明可以参照S604。
[0224] S1405、BFIR根据转发表向BFR1转发OAM Echo Request报文。
[0225] S1406、BFR1收到OAM Echo Request报文后,由于TTL为1,因此不转发报文,进行OAM报文携带参数的检测。从Original SI‑BitString TLV获得三元组信息<1,
0,64>,BFR1根据<1,0,64>查找本地映射的标签值即BIFT‑id值,假设本地不存在这个映射,
构造Echo Reply报文,本过程的说明可以参照S606。
[0226] S1407、BFR1通过UDP报文向BFIR回复Echo Reply报文。
[0227] S1408、BFIR收到BFR1的Echo Reply报文,构造NETCONF通知(Notification);其中,将return‑code和return‑sub‑code分别设置为Echo Reply报文的Return Code和
Return Subcode,将bift‑id‑from‑echo‑req设置为Incoming Request BIFT‑id TLV的
BIFT‑id值,将responder‑bfr设置为BFR1的BFR‑prefix。
[0228] S1409、BFIR向控制器主动发送NETCONF Notification。
[0229] S1410、控制器收到NETCONF Notification后,根据return‑code和return‑sub‑code判断标签异常,根据responder‑bfr确认BFR1上没有从控制器同步到三元
组的映射关系。根据responder‑bfr和bistring获得BFR1的上一跳为BFIR,获取控制器上记
录的BFR1上三元组映射的BIFT‑id值,并与bift‑id‑from‑echo‑request字段
携带的BIFT‑id值进行比较,若两者不一致,说明BFIR上的转发表有异常。
[0230] 图15为本申请实施例提供的一种BIER‑TE网络检测装置的示意图。如图15所示,本实施例提供的BIER‑TE网络检测装置应用于BIER‑TE网络内的控制器,包括:
[0231] 第一发送模块1501,配置为向BFIR发送OAM检测信息;
[0232] 第一接收模块1502,配置为接收BFIR或作为检测点的BFR发送的检测结果;
[0233] 其中,OAM检测信息包括第一标签信息,或者,检测结果包括第二标签信息。
[0234] 示例性地,第一标签信息可以包括控制器记录的检测点的标签值;第二标签信息可以包括以下至少之一:检测点的本地三元组映射的标签值、检测点收到的
OAM回应请求报文的报文头携带的标签值。
[0235] 关于本实施例提供的装置的相关说明可以参照图2对应的实施例及上述示例实施例的描述,故于此不再赘述。
[0236] 图16为本申请实施例提供的一种BIER‑TE网络检测装置的示意图。如图16所示,本实施例提供的BIER‑TE网络检测装置应用于BIER‑TE网络内的BFIR,包括:
[0237] 第一处理模块1601,配置为根据控制器发送的OAM检测信息,构造OAM回应请求报文;
[0238] 第二发送模块1602,配置为向作为检测点的BFR发送OAM回应请求报文;
[0239] 第二接收模块1603,配置为接收检测点返回的OAM回应应答报文;
[0240] 其中,OAM回应请求报文携带第一标签信息,或者,OAM回应应答报文携带第二标签信息。
[0241] 示例性地,第一标签信息可以包括:控制器记录的检测点的标签值;第二标签信息可以包括以下至少之一:检测点的本地三元组映射的标签值、检测点收到的
OAM回应请求报文的报文头携带的标签值。
[0242] 关于本实施例提供的装置的相关说明可以参照图3对应的实施例及上述示例实施例的描述,故于此不再赘述。
[0243] 图17为本申请实施例提供的一种BIER‑TE网络检测装置的示意图。如图17所示,本实施例提供的BIER‑TE网络检测装置应用于BIER‑TE网络中作为检测点的BFR,包括:
[0244] 第三接收模块1701,配置为接收OAM回应请求报文;
[0245] 第三发送模块1702,配置为向BFIR发送OAM回应应答报文,或者,向控制器发送NETCONF通知;
[0246] 其中,OAM回应请求报文携带第一标签信息,或者,OAM回应应答报文携带第二标签信息,或者,NETCONF通知携带第二标签信息。
[0247] 示例性地,第一标签信息可以包括控制器记录的该检测点的标签值;第二标签信息可以包括以下至少之一:该检测点的本地三元组映射的标签值、该检测点收
到的OAM回应请求报文的报文头携带的标签值。
[0248] 关于本实施例提供的装置的相关说明可以参照图4对应的实施例及上述示例实施例的描述,故于此不再赘述。
[0249] 图18为本实施例提供的一种BIER‑TE控制器的示意图。如图18所示,BIER‑TE控制器1800包括:第一存储器1801以及第一处理器1802。本领域技术人员可以理解,图18中示出
的BIER‑TE控制器结构并不构成对BIER‑TE控制器1800的限定,BIER‑TE控制器1800可以包
括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0250] 其中,第一处理器1802可以包括但不限于微处理器(MCU,Microcontroller Unit)或可编程逻辑器件(FPGA,Field Programmable Gate Array)等的处理装置。第一存储器
1801可用于存储应用软件的软件程序以及模块,如本实施例中的BIER‑TE网络检测方法对
应的程序指令或模块,第一处理器1802通过运行存储在第一存储器1801内的软件程序以及
模块,从而执行各种功能应用以及数据处理,比如实现本实施例提供的BIER‑TE网络检测方
法。第一存储器1801可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁
性存储装置、闪存、或者其他非易失性固态存储器。在一些示例中,第一存储器1801可包括
相对于第一处理器1802远程设置的存储器,这些远程存储器可以通过网络连接至BIER‑TE
控制器1800。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其
组合。
[0251] 示例性地,上述BIER‑TE控制器1800还可以包括第一通信单元1803;第一通信单元1803可以经由一个网络接收或者发送数据。在一个实例中,第一通信单元1803可以为射频
(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通信。
[0252] 图19为本申请实施例提供的一种BFR的示意图。如图19所示,BFR 1900,比如,BIER‑TE网络中的BFIR,包括:第二存储器1901以及第二处理器1902,第二存储器1901存储
有BIER‑TE网络检测程序,该BIER‑TE网络检测程序被第二处理器1902执行时实现上述BFIR
侧的BIER‑TE网络检测方法的步骤。
[0253] 本领域技术人员可以理解,图19中示出的BFR结构并不构成对BFR1900的限定,BFR 1900可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0254] 示例性地,上述BFR 1900还可以包括第二通信单元1903;第二通信单元1903可以经由一个网络接收或者发送数据。
[0255] 关于本实施例的第二存储器、第二处理器以及第二通信单元的说明可以参照第一存储器、第一处理器以及第一通信单元的说明,故于此不再赘述。
[0256] 图20为本申请实施例提供的一种BFR的示意图。如图20所示,BFR 2000,比如,BIER‑TE网络中作为检测点的BFR,包括:第三存储器2001以及第三处理器2002,第三存储器
2001存储有BIER‑TE网络检测程序,该BIER‑TE网络检测程序被第三处理器2002执行时实现
上述图4所示实施例的BIER‑TE网络检测方法的步骤。
[0257] 本领域技术人员可以理解,图20中示出的BFR结构并不构成对BFR2000的限定,BFR 2000可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0258] 示例性地,上述BFR 2000还可以包括第三通信单元2003;第三通信单元2003可以经由一个网络接收或者发送数据。
[0259] 关于本实施例的第三存储器、第三处理器以及第三通信单元的说明可以参照第一存储器、第一处理器以及第一通信单元的说明,故于此不再赘述。
[0260] 此外,本申请实施例还提供一种计算机可读介质,存储有BIER‑TE网络检测程序,该BIER‑TE网络检测程序被处理器执行时实现BIER‑TE控制器侧的BIER‑TE网络检测方法的
步骤。
[0261] 此外,本申请实施例还提供一种计算机可读介质,存储有BIER‑TE网络检测程序,该BIER‑TE网络检测程序被处理器执行时实现BFIR侧的BIER‑TE网络检测方法的步骤。
[0262] 此外,本申请实施例还提供一种计算机可读介质,存储有BIER‑TE网络检测程序,该BIER‑TE网络检测程序被处理器执行时实现作为检测点的BFR侧的BIER‑TE网络检测方法
的步骤。
[0263] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块或单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式
中,在以上描述中提及的功能模块或单元之间的划分不一定对应于物理组件的划分;例如,
一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某
些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或
者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机
可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或
暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息
(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失
性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪
存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储
或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介
质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程
序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何
信息递送介质。
[0264] 以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请
精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的
本申请范围内。