首页 / 专利库 / 电脑零配件 / 计算机系统 / 硬件 / 存储器 / 一种组播转发方法及相关设备

一种组播转发方法及相关设备

阅读:354发布:2021-09-19

专利汇可以提供一种组播转发方法及相关设备专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种组播转发方法,该方法应用在BIER的组播网络中,包括:头 节点 设备建立第一隧道;生成第一表项;获取第一组播流的BitString信息,BitString信息包括第一组播流期望到达的尾节点设备的标识;确定第一BitString Map信息中是否包括BitString信息中的第一组播流期望到达的尾节点设备的标识;当头节点设备确定第一BitString Map信息中包括BitString信息中的第一组播流期望到达的至少一个尾节点设备的标识时,头节点设备经由第一隧道向第一中间节点设备转发第一组播流。采用本申请实施例,有助于减少P2MP转发树的建立数量。,下面是一种组播转发方法及相关设备专利的具体信息内容。

1.一种组播转发方法,其特征在于,所述方法应用在位索引显式复制BIER的组播网络中,所述组播网络包括头节点设备、第一中间节点设备和至少一个尾节点设备,所述方法包括:
所述头节点设备建立第一隧道,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括第一组播流;
所述头节点设备生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括未与所述头节点设备直接连接的第一尾节点设备的标识,所述至少一个尾节点设备包括所述第一尾节点设备;
所述头节点设备获取所述第一组播流的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识;
所述头节点设备确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述头节点设备确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的至少一个尾节点设备的标识时,所述头节点设备经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
2.如权利要求1所述的方法,其特征在于,所述头节点设备确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识,具体包括:
所述头节点设备根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
3.如权利要求2所述的方法,其特征在于,所述当所述头节点设备确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的至少一个尾节点设备的标识时,所述头节点设备经由所述第一隧道向所述第一中间节点设备转发所述第一组播流,具体包括:
当所述头节点设备确定所述第一运算结果为非0,所述头节点设备经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
4.如权利要求1所述的方法,其特征在于,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述头节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道,所述方法还包括:
所述头节点设备根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述组播网络还包括第二中间节点设备,所述方法还包括:
所述头节点设备建立第二隧道,所述第二隧道的源节点为所述头节点设备,所述第二隧道的目的节点为所述至少一个尾节点设备,所述第二隧道用于转发所述多个组播流,所述多个组播流包括第二组播流;
当所述头节点设备确定所述第一隧道的带宽占用率大于第一阈值时,所述头节点设备经由所述第二隧道向所述第二中间节点设备转发所述第二组播流。
6.如权利要求4所述的方法,其特征在于,所述头节点设备还生成第二表项,所述第二表项包括第二位串图BitString Map信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述头节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应,所述方法还包括:
所述头节点设备确定所述第二BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述头节点设备确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述头节点设备经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述头节点设备确定所述第一BitString Map信息中不包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述头节点设备丢弃所述第一组播流。
8.一种组播转发方法,其特征在于,所述方法应用在位索引显式复制BIER的组播网络中,所述组播网络包括头节点设备、中间节点设备和至少一个尾节点设备,所述方法包括:
中间节点设备经由第一隧道接收头节点设备发送的第一组播流,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括所述第一组播流;
所述中间节点设备生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括与所述中间节点设备直接连接的第一尾节点设备的标识;
所述中间节点设备获取所述第一组播流包括的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识;
所述中间节点设备确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述中间节点设备确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述中间节点设备经由所述第一隧道向所述第一尾节点设备转发所述第一组播流。
9.如权利要求8所述的方法,其特征在于,所述中间节点设备确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识,具体包括:
所述中间节点设备根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
10.如权利要求8或9所述的方法,其特征在于,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述中间节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道,所述方法还包括:
所述中间节点设备根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
11.如权利要求10所述的方法,其特征在于,所述头节点设备还生成第二表项,所述第二表项包括第二位串图BitString Map信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述中间节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应,所述方法还包括:
所述中间节点设备确定所述第二BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述中间节点设备确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述中间节点设备经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
12.一种头节点设备,其特征在于,应用在位索引显式复制BIER的组播网络中,所述组播网络包括头节点设备、第一中间节点设备和至少一个尾节点设备,所述头节点设备包括:
建立模,用于建立第一隧道,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括第一组播流;
生成模块,用于生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括未与所述头节点设备直接连接的第一尾节点设备的标识,所述至少一个尾节点设备包括所述第一尾节点设备;
获取模块,用于获取所述第一组播流的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识;
确定模块,用于确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述确定模块确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的至少一个尾节点设备的标识时,发送模块用于经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
13.如权利要求12所述的头节点设备,其特征在于,所述确定模块具体用于:
根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
14.如权利要求13所述的头节点设备,其特征在于,
当所述确定模块确定所述第一运算结果为非0,所述发送模块具体用于经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
15.如权利要求12所述的头节点设备,其特征在于,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述头节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道,
所述确定模块,还用于根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
16.如权利要求12-15中任一项所述的头节点设备,其特征在于,所述组播网络还包括第二中间节点设备;
所述建立模块,还用于建立第二隧道,所述第二隧道的源节点为所述头节点设备,所述第二隧道的目的节点为所述至少一个尾节点设备,所述第二隧道用于转发所述多个组播流,所述多个组播流包括第二组播流;
当所述确定模块确定所述第一隧道的带宽占用率大于第一阈值时,所述发送模块还用于经由所述第二隧道向所述第二中间节点设备转发所述第二组播流。
17.如权利要求15所述的头节点设备,其特征在于,
所述生成模块还用于生成第二表项,所述第二表项包括第二位串图BitString Map信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述头节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应;
所述确定模块,还用于确定所述第二BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述确定模块确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述发送模块还用于经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
18.如权利要求12所述的头节点设备,其特征在于,
当所述确定模块确定所述第一BitString Map信息中不包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述确定模块还用于丢弃所述第一组播流。
19.一种中间节点设备,其特征在于,应用在位索引显式复制BIER的组播网络中,所述组播网络包括头节点设备、中间节点设备和至少一个尾节点设备,所述中间节点设备包括:
接收模块,用于经由第一隧道接收头节点设备发送的第一组播流,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括所述第一组播流;
生成模块,用于生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括与所述中间节点设备直接连接的第一尾节点设备的标识;
获取模块,用于获取所述第一组播流包括的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识;
确定模块,用于确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述确定模块确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,发送模块用于经由所述第一隧道向所述第一尾节点设备转发所述第一组播流。
20.如权利要求19所述的中间节点设备,其特征在于,所述确定模块具体用于:
根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
21.如权利要求19或20所述的中间节点设备,其特征在于,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述中间节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道;
所述确定模块,还用于根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
22.如权利要求21所述的中间节点设备,其特征在于,
所述生成模块还用于生成第二表项,所述第二表项包括第二位串图BitString Map信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述中间节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应;
所述确定模块,还用于确定所述第二BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述确定模块确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述发送模块还用于经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
23.一种头节点设备,其特征在于,应用在位索引显式复制BIER的组播网络中,所述组播网络包括头节点设备、第一中间节点设备和至少一个尾节点设备,所述头节点设备包括:
存储器、通信总线以及处理器,所述存储器通过所述通信总线耦合至所述处理器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:
建立第一隧道,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括第一组播流;
生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括未与所述头节点设备直接连接的第一尾节点设备的标识,所述至少一个尾节点设备包括所述第一尾节点设备;
获取所述第一组播流的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识;
确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述头节点设备确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的至少一个尾节点设备的标识时,经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
24.一种中间节点设备,其特征在于,应用在位索引显式复制BIER的组播网络中,所述组播网络包括头节点设备、第一中间节点设备和至少一个尾节点设备,所述中间节点设备包括:存储器、通信总线以及处理器,所述存储器通过所述通信总线耦合至所述处理器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行以下操作:
经由第一隧道接收头节点设备发送的第一组播流,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括所述第一组播流;
生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括与所述中间节点设备直接连接的第一尾节点设备的标识;
获取所述第一组播流包括的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识;
确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识;
当所述中间节点设备确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,经由所述第一隧道向所述第一尾节点设备转发所述第一组播流。

说明书全文

一种组播转发方法及相关设备

技术领域

[0001] 本申请涉及无线通信技术领域,尤其涉及一种组播转发方法及相关设备。

背景技术

[0002] 组播可以实现一个节点同时向组内的多个节点发送数据,从而节省网络带宽。例如,如图6所示,组播网络包括头节点设备R255、中间节点设备R256、NPE1、NPE2、UPE1和 UPE2、以及尾节点设备R1、R2、R3和R254。如果有N个组播流量,每个组播流量需要从头节点设备R255发送到尾节点设备R1、尾节点设备R2、……、尾节点设备R254中的部分节点或全部节点,则需要为每个组播流建立一个点到多点(Point to Multi-Point,P2MP)转发树,可能存在如下转发树的组合:组播流(S1,G1)的P2MP转发树为(R255---->R1/R2);组播流(S2,G2)的P2MP转发树为(R255---->R1/R2/R3);组播流(S3,G2)的P2MP转发树为 (R255---->R1/R254)。其中,S为组播源,G为组播组。
[0003] 对于组播流(S1,G1),在头节点设备和中间节点设备都保存有出标签信息和出接口信息。基于上述P2MP转发树,在组播流(S1,G1)到达头节点设备R255之后,获取组播流(S1,G1) 对应的出接口信息和出标签信息,确定头节点设备R255的下一跳节点是中间节点设备NPE1,其中,头节点设备R255的出标签信息为中间节点设备NPE1的入标签信息,中间节点设备 NPE1根据入标签信息获取对应的出接口信息和出标签信息,确定中间节点设备NPE1的下一跳节点是中间节点设备UPE1,中间节点UPE1根据入标签信息确定出接口信息和出标签信息,确定组播流(S1,G1)需要到达尾节点设备R1和尾节点设备R2。但是,在组播流转发的过程中每个组播流都需要有一个P2MP转发树,导致节点设备的资源开销较大。
[0004] 申请内容
[0005] 本申请实施例提供了一种组播转发方法及相关设备,应用在位索引显式复制(Bit Index Explicit Replication,BIER)的组播网络中,基于头节点设备建立的从头节点设备到尾节点设备的隧道,实现多个组播流的转发,从而有助于减少P2MP转发树的建立数量。
[0006] 第一方面,本申请实施例提供了一种组播转发方法,该方法应用在BIER的组播网络中,组播网络包括头节点设备、中间节点设备和至少一个尾节点设备,包括:
[0007] 头节点设备首先建立第一隧道,第一隧道的源节点为头节点设备,第一隧道的目的节点为至少一个尾节点设备,第一隧道用于转发多个组播流,多个组播流包括第一组播流。然后生成第一表项,第一表项包括第一位串图(BitString Map)信息,第一BitString Map信息包括未与头节点设备直接连接的第一尾节点设备的标识,至少一个尾节点设备包括第一尾节点设备。其次获取第一组播流的位串(BitString)信息,BitString信息包括第一组播流期望到达的尾节点设备的标识,确定第一BitString Map信息中是否包括BitString信息中的第一组播流期望到达的尾节点设备的标识。最后当头节点设备确定第一BitString Map信息中包括 BitString信息中的第一组播流期望到达的至少一个尾节点设备的标识时,经由第一隧道向第一中间节点设备转发第一组播流。有助于减少P2MP转发树的建立数量,进而减少有头节点设备的资源开销,而且可以共享模板隧道,保持多个组播流按照BitString进行复制而不浪费带宽。
[0008] 在一种可能的设计中,头节点设备可以根据BitString信息与BitString Map信息获得第一运算结果,第一运算结果的值等于BitString信息与BitString Map信息进行按位与运算得到的值。
[0009] 在另一种可能的设计中,当模板隧道包括多个路径时,第一表项还包括第一出接口信息和第一出标签信息,第一出接口信息用于指示头节点设备的物理出接口,第一出标签信息用于指示第一隧道。头节点设备可以根据第一出接口信息和第一出标签信息,确定通过第一出接口信息指示的物理出接口,并且经由第一隧道发送第一组播流。
[0010] 在另一种可能的设计中,头节点设备确定第二BitString Map信息中是否包括BitString信息中的第一组播流期望到达的尾节点设备的标识;当头节点设备确定第二BitString Map信息中包括BitString信息中的第一组播流期望到达的尾节点设备的标识时,头节点设备经由第一隧道向第二尾节点设备转发第一组播流。
[0011] 在另一种可能的设计中,当头节点设备确定第一运算结果为非0,头节点设备经由第一隧道向第一中间节点设备转发第一组播流。当头节点设备确定第一运算结果为0,头节点设备不向第一中间节点设备转发第一组播流。
[0012] 在另一种可能的设计中,头节点设备可以获取组播流的overlay信息、以及LSR-id和 BFR-id对应关系表,其中,overlay信息包括该组播流期望到达的所有尾节点设备的地址信息,然后根据overlay信息、以及LSR-id和BFR-id对应关系表,获取位串图BitString Map信息。
[0013] 在另一种可能的设计中,头节点设备经由第二中间节点设备建立第二隧道,第二隧道的源节点为头节点设备,第二隧道的目的节点为至少一个尾节点设备,第二隧道用于转发多个组播流,第二隧道包括第二组播流;当头节点设备确定第一隧道的带宽占用率大于第一阈值时,头节点设备经由第二隧道转发第二组播流。
[0014] 在另一种可能的设计中,当头节点设备确定BitString  Map信息中不包括BitString信息中的第一组播流期望到达的尾节点设备的标识,头节点设备丢弃第一组播流。
[0015] 第二方面,本申请实施例提供了一种组播转发方法,包括:
[0016] 中间节点设备首先经由第一隧道接收头节点设备发送的第一组播流,第一隧道的源节点为头节点设备,第一隧道的目的节点为至少一个尾节点设备,第一隧道用于转发多个组播流,多个组播流包括第一组播流。生成第一表项,第一表项包括第一BitString Map信息,第一 BitString Map信息包括与中间节点设备直接连接的第一尾节点设备的标识。其次获取第一组播流包括的BitString信息,BitString信息包括第一组播流期望到达的尾节点设备的标识;然后确定第一BitString Map信息中是否包括BitString信息中的第一组播流期望到达的尾节点设备的标识。最后当中间节点设备确定第一BitString Map信息中包括BitString信息中的第一组播流期望到达的尾节点设备的标识时,经由第一隧道向第一尾节点设备转发第一组播流。有助于减少P2MP转发树的建立数量,进而减少中间头节点设备的资源开销。而且可以共享模板隧道,保持多个组播流按照BitString进行复制而不浪费带宽。
[0017] 在一种可能的设计中,中间节点设备根据BitString信息与第一BitString Map信息获得第一运算结果,第一运算结果的值等于BitString信息与第一BitString Map信息进行按位与运算得到的值。
[0018] 在另一种可能的设计中,第一表项还包括第一出接口信息和第一出标签信息,第一出接口信息用于指示中间节点设备的物理出接口,第一出标签信息用于指示第一隧道,中间节点设备根据第一出接口信息和第一出标签信息,确定通过第一出接口信息指示的物理出接口,并且经由第一隧道发送第一组播流。
[0019] 在另一种可能的设计中,头节点设备还生成第二表项,第二表项包括第二位串图BitString Map信息、第二出接口信息和第二出标签信息,第二BitString Map信息包括与中间节点设备直接连接的第二尾节点设备的标识,至少一个尾节点设备包括第二尾节点设备,第二出接口信息与第一出接口信息不同,第二出标签信息与第一出标签信息均与第一隧道的标识对应。
[0020] 在另一种可能的设计中,中间节点设备确定第二BitString Map信息中是否包括BitString 信息中的第一组播流期望到达的尾节点设备的标识;当中间节点设备确定第二BitString Map 信息中包括BitString信息中的第一组播流期望到达的尾节点设备的标识时,中间节点设备经由第一隧道向第二尾节点设备转发第一组播流。
[0021] 在另一种可能的设计中,当中间节点设备确定第二运算结果为非0,中间节点设备经由第一隧道向中间节点设备的下一跳节点设备转发第一组播流。当中间节点设备确定第二运算结果为0,中间节点设备丢弃第一组播流。
[0022] 在另一种可能的设计中,在头节点设备获取到第一组播流期望到达的尾节点设备的标识之后,将BitString信息存放到第一组播流的报文头中,中间节点设备接收到第一组播流之后,可以直接从第一组播流的报文头中获取到BitString信息。
[0023] 第三方面,本申请实施例提供了一种头节点设备,该头节点设备被配置为实现上述第一方面中头节点设备所执行的方法和功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的单元。
[0024] 第四方面,本申请实施例提供了一种中间节点设备,该头节点设备被配置为实现上述第二方面中中间节点设备所执行的方法和功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的单元。
[0025] 第五方面,本申请提供了另一种头节点设备,包括:处理器、存储器和通信总线,其中,所述通信总线用于实现所述处理器和存储器之间连接通信,处理器执行所述存储器中存储的程序用于实现上述第一方面提供的一种组播转发方法中的步骤。
[0026] 第六方面,本申请提供了另一种中间节点设备,包括:处理器、存储器和通信总线,其中,所述通信总线用于实现所述处理器和存储器之间连接通信,处理器执行所述存储器中存储的程序用于实现上述第二方面提供的一种组播转发方法中的步骤。
[0027] 本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0028] 本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。附图说明
[0029] 为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
[0030] 图1是本申请实施例提供的一种节点设备的转发表;
[0031] 图2是本申请实施例提供了一种组播转发方法的流程示意图;
[0032] 图3是本发明实施例提供的一种模板隧道建立方法的流程示意图;
[0033] 图4是本申请实施例提供的一种组播转发系统的结构示意图;
[0034] 图5是本申请实施例提供的另一种组播转发系统的结构示意图;
[0035] 图6是本申请实施例提供的又一种组播转发系统的结构示意图;
[0036] 图7是本发明实施例提供的一种节点设备上的表项示意图;
[0037] 图8是本申请实施例提供的一种头节点设备的结构示意图;
[0038] 图9是本申请实施例提供的一种中间节点设备的结构示意图;
[0039] 图10是本申请实施例提供的另一种头节点设备的结构示意图;
[0040] 图11是本申请实施例提供的另一种中间节点设备的结构示意图。

具体实施方式

[0041] 下面结合本申请实施例中的附图对本申请实施例进行描述。
[0042] 本实施例提供了一种组播转发方法,该方法应用在BIER的组播网络中。如图6所示,分别为每个尾节点设备R1、R2、……、R256分配一个BIER转发路由器的标识(BIER Forwarder Router id,BFR-id)000000001、00000010、……、00100000等等,其中,BFR-id在本申请描述中用来作为组播网络中尾节点设备的标识。在组播网络内的各节点设备生成位索引显式复制转发表(BIER Forwarding Table)。如图1所示,图1提供了一种各个节点设备的转发表。其中,节点设备的转发表中的第一列为该节点设备所在组播网络中尾节点设备的标识  (BFR-id),第三列为与该节点设备邻近的下一跳节点设备(BIER Forwarder Router Neighbor, BFR-NBR),第二列为组播流经过该节点设备的下一跳节点设备到达的尾节点设备的标识的位掩码(Forwarding Bit Mask,F-BM)。
[0043] 例如,组播流(S1,G1)为头节点设备R255到达尾节点设备R1和尾节点设备R2的组播流,头节点设备R255从接收到的组播流(S1,G1)中获取尾节点设备R1和尾节点设备R2 的标识,并将尾节点设备R1的标识000000001和尾节点设备R2的000000010进行编码,得到BitString=00000011。其中,BitString最低位为尾节点设备R1的标识,第二位为尾节点设备R2的标识,从头节点设备R255开始转发,具体过程如下:
[0044] S1,头节点设备R255接收到组播流后,将BitString=00000011封装到组播流中。
[0045] S2,头节点设备R255将BitString=00000011读入到内存,并从内存中的BitString的最低位开始遍历码字为1的Bit位,首先遍历到BitPosition=1,表示R1。然后读取头节点设备R255 的转发表中R1这一行,确定R1的BFR-NBR为NPE1,将原始组播流中的BitString与转发表R1这一行的F-BM进行按位与运算,将运算结果00000011封装在复制的组播流中,并向中间节点设备NPE1发送封装有运算结果00000011的组播流。
[0046] S3,头节点设备R255对内存中的BitString与R1这一行中取反后的F-BM进行按位与运算,即清除掉F-BM的几个Bit,清除的结果是内存中的BitString=00000000。然后再继续往 BitString的高位遍历码字为1的Bit位,由于没有其它的码字为1的Bit位了,头节点设备 R255遍历结束。
[0047] S4,中间节点设备NPE1的组播转发过程与头节点设备R255的组播转发过程相同,此处不再赘述,中间节点设备NPE1向中间节点设备UPE1发送携带BitString=00000011的组播流。
[0048] S5,中间节点设备UPE1接收的组播流中包括BitString=00000011,将BitString=00000011 读入到内存,并从最低位开始遍历码字为1的Bit位,首先遍历到BitPosition=1,表示R1。然后读取中间节点设备UPE1的转发表中R1这一行,确定R1的BFR-NBR为R1,将原始组播流中的BitString与转发表R1这一行的F-BM进行按位与运算,将运算结果00000001封装在复制的组播流中,并向尾节点设备R1发送封装有运算结果00000001的组播流。
[0049] S6,中间节点设备UPE1对内存中的BitString与中间节点设备UPE1的转发表中R1这一行中取反后的F-BM进行按位与运算,即清除掉R1这一行的F-BM的几个Bit,清除的结果是内存中的BitString=00000010。然后再继续往高位遍历码字为1的Bit位,遍历到 BitPosition=2,表示R2。然后读取中间节点设备UPE1的转发表中R2这一行,确定R2的 BFR-NBR为R2,将原始组播流中的BitString与转发表R2这一行的F-BM进行按位与运算,将运算结果00000010封装在复制的组播流中,并向尾节点设备R2发送封装有运算结果 00000010的组播流。
[0050] S7,中间节点设备UPE1对内存中的BitString与中间节点设备UPE1的转发表中R1这一行中取反后的F-BM进行按位与运算,即除掉R1这一行的F-BM的几个Bit,清除的结果是内存中的BitString=00000000,然后再继续往高位遍历码字为1的Bit位,由于没有其它的码字为1的Bit位,中间节点设备UPE1遍历结束。
[0051] 本实施例有效的解决了现有技术方案中每个组播流都需要有一个P2MP转发树导致节点设备工作开销较大的问题。但是,在本实施例的组播转发过程中,每次组播复制时需要对报文中的BitString进行编辑,影响转发效率。另外,组播流需要按照预定的路径进行转发,当转发路径中某条链路带宽不足时,会产生流量丢包。针对上述问题,提出了如下解决方案。
[0052] 如图2所示,本申请实施例提供了一种组播转发方法的流程示意图,所述方法应用在BIER 的组播网络中,所述组播网络包括头节点设备、第一中间节点设备和至少一个尾节点设备,其中,节点设备包括但不局限于路由器或交换机等网络设备。该方法包括但不限于如下步骤:
[0053] S201,所述头节点设备建立第一隧道,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括第一组播流。其中,所述第一隧道可以为模板隧道,用于转发组播流。所述组播流可以是经由其他节点发送到头节点设备的,也可以由所述头节点设备发出。
[0054] 在一种实施例中,如图3所示,头节点设备可以向中间节点设备发送路径消息,所述路径消息包括隧道标识和尾节点设备R1的地址,中间节点设备接收到路径信息之后将路径消息转发给尾节点设备R1。尾节点设备R1收到路径消息之后,向中间节点设备返回预留信息,所述预留信息包括尾节点设备R1的地址、尾节点设备R1的标识以及尾节点设备R1给中间节点设备分配的出标签。因此,在中间节点设备接收到预留信息之后,可以根据预留信息生成出标签和出接口的位串(Out Label and Interface BitString,OLIBS)表中一个针对尾节点设备R1的OLIBS表项,该OLIBS表项包括中间节点设备的出标签、出接口以及尾节点设备 R1的标识。其中,所述出接口用于指示中间节点设备到尾节点设备R1的物理出接口,所述出标签用于指示第一隧道,该OLIBS表项可以表示为({OutLabel,OutIntf},BSM),其中, BSM为BitString Map的缩写。中间节点设备将预留信息返回给头节点设备,该预留信息包括中间节点设备给头节点设备分配的出标签、尾节点设备R1的地址和尾节点设备R1的标识,头节点设备根据该预留信息生成一个OLIBS表项,该OLIBS表项包括头节点设备的出标签、出接口以及尾节点设备R1的标识,其中,出接口用于指示头节点设备的物理出接口,出标签用于指示第一隧道。在头节点设备上还生成一个尾节点设备R1的地址(LSR-id)和尾节点设备R1的标识(BFR-id)的对应关系表(Label Switch Router BIT,LSR BIT),其中,LSR-id 是Label Switch Router id(标签交换路由器的标识)的缩写,在本申请描述中用来表示尾节点设备的地址。
[0055] 头节点设备再向中间节点设备发送路径消息,所述路径消息包括隧道标识和尾节点设备 R2的地址,中间节点设备接收到路径信息之后将路径消息转发给尾节点设备R2。尾节点设备R2收到路径消息之后,向中间节点设备返回预留信息,所述预留信息包括尾节点设备R2 的地址、尾节点设备R2的标识以及尾节点设备R2给中间节点设备分配的出标签。因此,在中间节点设备接收到预留信息之后,可以根据预留信息生成OLIBS表中一个针对尾节点设备 R2的OLIBS表项,该OLIBS表项包括中间节点设备的出标签、出接口以及尾节点设备R2 的标识,其中,所述出接口用于指示中间节点设备到尾节点设备R2的物理出接口,所述出标签用于指示第一隧道。中间节点设备将预留信息返回给头节点设备,该预留信息包括中间节点设备给头节点设备分配的出标签、尾节点设备R2的地址和尾节点设备R2的标识,在头节点设备的OLIBS表的已生成的OLIBS表项中增加尾节点设备R2的标识,并且生成一个尾节点设备R2的地址(LSR-id)和尾节点设备R2的标识(BFR-id)的对应关系表。
[0056] 按照上述方式进行多次操作进而建立起模板隧道。如果每次经过中间节点设备发送的路径消息携带不同的尾节点设备的地址,则返回的预留信息携带不同的尾节点设备的标识,进而最后在头节点设备上生成OLIBS表中的一个OLIBS表项,该OLIBS表项中的BSM的值由尾节点设备(R1、R2、R3和R4)的标识来确定。并且还生成下一跳标签转发表(Next Hop Label Forwarding Entry,NHLFE),该NHLFE表包括隧道标识、出标签和出接口,表示为(隧道ID,list{出标签,出接口})。在中间节点设备可以一个生成包含4个OLIBS表项的OLIBS 表,还可以生成一个NHLFE表,该NHLFE表包括隧道标识、出标签和出接口,表示为(隧道ID,list{出标签,出接口}),该list有4条记录,包括中间节点设备分别到尾节点设备R1、尾节点设备R2、尾节点设备R3和尾节点设备R4的出接口和出标签。
[0057] 可选的,如图4所述,如果头节点设备与尾节点设备R5直接连接,则在头节点设备上还可以生成OLIBS表中的另一个OLIBS表项,该OLIBS表项包括头节点设备的出标签、出接口以及尾节点设备R5的标识,其中,所述出接口用于指示头节点设备到尾节点设备R5的物理出接口,所述出标签用于指示第一隧道。如果中间节点设备包括两个节点设备,则与头节点设备直接连接的中间节点设备也生成一个OLIBS表,该OLIBS表包括一个OLIBS表项,该OLIBS表项包括中间节点设备的出标签、出接口以及尾节点设备(R1、R2、R3和R4)的标识。与尾节点设备直接连接的中间节点设备也生成一个OLIBS表,该OLIBS表包括4个 OLIBS表项,4个OLIBS表项中的BSM分别为尾节点设备R1的标识、尾节点设备R2的标识、尾节点设备R3的标识以及尾节点设备R4的标识。其他多个中间节点设备的情况依次类推,此处不再赘述。
[0058] 在另一种实施例中,可以在头节点设备上配置OLIBS表、NHLFE表、以及LSR-id和 BFR-id对应关系表,在中间节点设备上配置OLIBS表和NHLFE表。或者,头节点设备可以接收控制器下发的的OLIBS表、NHLFE表、以及LSR-id和BFR-id对应关系表,中间节点设备可以接收控制器下发的OLIBS表和NHLFE表。通过上述方式从中获取建立的模板隧道。
[0059] S202,所述头节点设备生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括未与所述头节点设备直接连接的第一尾节点设备的标识,所述至少一个尾节点设备包括所述第一尾节点设备。其中,直接连接的两个节点设备可以在建立网络连接的基础上直接进行通信而无需其他节点设备转发,间接连接的两个节点设备之间没有直接网络连接、在进行通信时需要通过其他节点设备来转发。
[0060] 具体实现中,由上述可知,在尾节点设备向中间节点设备返回预留信息时,该预留信息中包括尾节点设备的标识,头节点设备向尾节点设备多次发送路径消息之后,在返回预留信息的过程中,头节点设备和中间节点设备都可以获知所述第一组播流经由所述第一隧道可达的尾节点设备的标识,进而生成第一表项。或者,可以根据预先配置的或者控制器下发的 OLIBS表,头节点设备获知所述第一组播流经由所述第一隧道可达的尾节点设备的标识,进而生成第一表项。其中,第一表项包括BitString Map信息。如图4所示,头节点设备中的 BitString Map由尾节点设备设备(R1、R2、R3和R4)的标识来确定,BitString Map可以表示为00001111,其中,BitString Map的最低位可以表示尾节点设备R1的标识,第二位表示尾节点设备R2的标识,第三位表示尾节点设备R3的标识,第四位表示尾节点设备R4的标识等等。
[0061] 其中,当模板隧道仅包括一条路径时,所述第一表项可以包括第一BitString Map信息,当模板隧道包括多条路径时,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述头节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道。
[0062] 例如,如图4所示,如果模板隧道只包括第一路径,头节点设备在建立第一隧道的第一路径时生成第一表项,该第一路径包括头节点设备、第一中间节点设备和尾节点设备(R1、 R2、R3和R4)。具体的,所述第一路径从所述头节点设备出发,经由所述第一中间节点设备,到达所述尾节点设备。其中,头节点设备与尾节点设备(R1、R2、R3和R4)间接连接,第一BitString Map信息包括尾节点设备(R1、R2、R3和R4)的标识。可选的,如果模板隧道包括多条路径,所述头节点设备还生成第二表项,所述第二表项包括第二BitString Map信息、第二出接口信息和第二出标签信息。其中,所述第二BitString Map信息包括与所述头节点设备直接连接的第二尾节点设备的标识。所述至少一个尾节点设备包括所述第二尾节点设备。所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应。
[0063] 例如,如图4所示,头节点设备在建立第一隧道的第二路径时生成第二表项。该第二路径包括头节点设备和尾节点设备R5。具体的,所述第二路径从所述头节点设备出发,直接到达所述尾节点设备。其中,头节点设备与尾节点设备R5直接连接。所述第二表项中的出接口信息与所述第一表项的出接口信息不同,表明所述头节点设备经由第二路径连接的下一跳设备与所述头节点设备经由第一路径连接的下一跳设备不同。所述第二表项中的出标签的值与所述第一表项的出标签的值可以相同,也可以不同,但是,所述第二表项中的出标签信息和所述第一表项的出标签信息均对应于所述第一隧道的标识,表明所述第一路径和所述第二路径均属于所述第一隧道。
[0064] 又如,在上述建立模隧道的过程中,中间节点设备向头节点设备返回预留信息时,中间节点设备可以给头节点设备分配出标签101,该出标签101对应与第一隧道的隧道标识,并且头节点设备可以通过第一出接口连接到第一中间节点设备上。尾节点设备R5向头节点设备返回预留信息时,尾节点设备R5也可以给头节点设备分配出标签101,该出标签101对应第一隧道的隧道标识,与第一隧道的第一路径上的头节点设备的出标签101相同。
或者,尾节点设备R5可以给头节点设备分配出标签102,与第一隧道的第一路径上的头节点设备的出标签101不同,但是该出标签102也对应第一隧道的隧道标识。
[0065] S203,所述头节点设备获取所述组播流的BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识。
[0066] 具体实现中,头节点设备可以获取组播流的overlay信息、以及LSR-id和BFR-id对应关系表,其中,overlay信息包括该组播流期望到达的所有尾节点设备的地址信息,然后根据 overlay信息、以及LSR-id和BFR-id对应关系表,获取BitString信息。
[0067] 如图4所示,尾节点设备R1、尾节点设备R2、尾节点设备R3、尾节点设备R4分别赋予标识00000001、00000010、00000100和00001000。头节点设备获知组播流期望转发到尾节点设备R1、尾节点设备R2以及尾节点设备R4,因此BitString信息包括尾节点设备R1的标识、尾节点设备R2的标识以及尾节点设备R4的标识。其中,BitString可以表示为00001011,其中,BitString的最低位可以表示尾节点设备R1的标识,第二位表示尾节点设备R2的标识,第三位0表示不存在尾节点设备R3的标识,第四位表示尾节点设备R4的标识等等。
[0068] S204,所述头节点设备确定所述BitString Map信息中是否包括所述BitString信息中的所述组播流期望到达的尾节点设备的标识。
[0069] 例如,如图4所示,头节点设备根据第一组播流的BitString,经过中间节点设备向尾节点节点(R1、R2和R4)发送第一组播流,根据生成的BitString Map,获知与中间节点设备直接连接的尾节点设备包括尾节点设备R1的标识、尾节点设备R2的标识、尾节点设备R3 的标识以及尾节点设备R4的标识。因此,BitString Map信息包括BitString信息中节点设备 R1的标识、尾节点设备R2的标识以及尾节点设备R4的标识。
[0070] 进一步的,所述头节点设备可以根据所述BitString信息与所述BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述BitString Map信息进行按位与运算得到的值。
[0071] 例如,如图4所示,BitString Map信息由尾节点设备设备(R1、R2、R3和R4)的标识来确定,BitString Map可以表示为00001111,其中,BitString Map的最低位可以表示尾节点设备R1的标识,第二位表示尾节点设备R2的标识,第三位表示尾节点设备R3的标识,第四位表示尾节点设备R4的标识。BitString信息由节点设备R1的标识、尾节点设备R2的标识以及尾节点设备R4的标识来确定,BitString可以表示为00001011。其中,BitString的最低位可以表示尾节点设备R1的标识,第二位表示尾节点设备R2的标识,第三位表示不存在尾节点设备R3的标识,第四位表示尾节点设备R4的标识。第一运算结果为00001111和 00001011进行按位与操作的结果,运算结果的值为00001011,头节点设备确定向中间节点设备发送第一组播流。
[0072] 进一步的,所述头节点设备可以根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
[0073] 例如,如图4所示,第一隧道包括第一路径和第二路径,所述第一表项包括第一路径上的头节点设备的第一出接口信息和第一出标签信息,第二表项包括第二路径上头节点设备的第二出接口信息和第二出标签信息。虽然第一出标签信息和第二出标签信息都与第一隧道标识对应,但是,第一出接口信息和第二出接口信息不同,第一出接口信息指向第一中间节点设备,而第二出接口信息指向尾节点设备R5。因此,根据所述第一出接口信息和所述第一出标签信息,头节点设备确定向第一中间节点设备发送组播流。
[0074] 进一步可选的,所述头节点设备确定所述第二BitString Map信息中是否包括所述 BitString信息中的所述第一组播流期望到达的尾节点设备的标识。当所述头节点设备确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述头节点设备经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
[0075] 例如,如图4所示,所述第二BitString Map信息包括尾节点设备R5的标识,第一组播流期望到达的尾节点设备的标识(BitString信息)包括节点设备R1的标识、尾节点设备R2 的标识以及尾节点设备R4的标识,因此,头节点设备确定所述第二BitString Map信息中未包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识,所述头节点设备经由所述第一隧道不向所述尾节点设备R5转发所述第一组播流。
[0076] S205,当所述头节点设备确定所述BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的至少一个尾节点设备的标识,所述头节点设备经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。当所述头节点设备确定所述BitString Map信息中不包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识,所述头节点设备丢弃所述第一组播流。
[0077] 举例说明,当所述头节点设备确定所述第一运算结果为非0,所述头节点设备经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。例如,BitString Map=00011111与 BitString=00000001进行按位与运算,运算结果是00000001,因此头节点设备向中间节点设备发送组播流。当所述头节点设备确定所述第一运算结果为0,所述头节点设备不向所述第一中间节点设备转发第一组播流。例如,BitString Map=11111110与BitString=00000001进行按位与运算的结果为00000000,则头节点设备不向中间节点设备发送第一组播流。
[0078] 可选的,所述头节点设备经由所述第二中间节点设备建立第二隧道,所述第二隧道的源节点为所述头节点设备,所述第二隧道的目的节点为所述至少一个尾节点设备,所述第二隧道用于转发多个组播流,所述第二隧道包括第二组播流。当所述头节点设备确定所述第一隧道的带宽占用率大于第一阈值时,所述头节点设备经由所述第二隧道转发第二组播流。
[0079] 如图5所示,头节点设备可以建立多条优先级不同的隧道,头节点设备可以获取每条隧道上的带宽消耗;然后根据所述带宽消耗,按照所述优先级选取所述隧道进行转发。第一隧道为:头节点设备->第一中间节点设备->{R1、R2、R3、R4};第二条隧道为:头节点设备-> 第二中间节点设备->{R1、R2、R3、R4};其中,第一隧道路径优先级最高,第二隧道路径的优先级次之。在优先选取第一隧道来转发组播流之后,获知在处理到第401个组播流时,前 400个组播流的带宽消耗大于该第一隧道路径承载的最大带宽,因此,选取第二隧道来处理第401个组播流。其中,所述第二隧道的建立过程可以参见前述第一隧道的建立过程,此处不进行赘述。
[0080] S206,所述中间节点设备生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括与所述中间节点设备直接连接的第一尾节点设备的标识。
[0081] 在一种实施例中,头节点设备可以向中间节点设备发送路径消息,所述路径消息包括隧道标识和尾节点设备R1的地址,中间节点设备接收到路径信息之后将路径消息转发给尾节点设备R1。尾节点设备R1收到路径消息之后,向中间节点设备返回预留信息,所述预留信息包括尾节点设备R1的地址、尾节点设备R1的标识以及尾节点设备R1给中间节点设备分配的出标签。因此,在中间节点设备接收到预留信息之后,可以根据预留信息生成OLIBS表中一个针对尾节点设备R1的OLIBS表项,该OLIBS表项包括中间节点设备的出标签、出接口以及尾节点设备R1的标识,其中,所述出接口用于指示中间节点设备到尾节点设备R1的物理出接口,所述出标签用于指示第一隧道,表示为({OutLabel,OutIntf},BSM),BSM为 BitString Map的缩写。
[0082] 头节点设备再向中间节点设备发送路径消息,所述路径消息包括隧道标识和尾节点设备 R2的地址,中间节点设备接收到路径信息之后将路径消息转发给尾节点设备R2。尾节点设备R2收到路径消息之后,向中间节点设备返回预留信息,所述预留信息包括尾节点设备R2 的地址、尾节点设备R2的标识以及尾节点设备R2给中间节点设备分配的出标签。因此,在中间节点设备接收到预留信息之后,可以根据预留信息生成OLIBS表中一个针对尾节点设备 R2的OLIBS表项,该OLIBS表项包括中间节点设备的出标签、出接口以及尾节点设备R2 的标识。其中,所述出接口用于指示中间节点设备到尾节点设备R2的物理出接口,所述出标签用于指示第一隧道。
[0083] 按照上述方式进行多次操作进而建立起模板隧道。在中间节点设备可以生成包含4个 OLIBS表项的OLIBS表,还可以生成一个NHLFE表,该NHLFE表包括隧道标识、出标签和出接口,表示为(隧道ID,list{出标签,出接口}),该list有4条记录,包括中间节点设备到尾节点设备R1、尾节点设备R2、尾节点设备R3和尾节点设备R4的出接口和出标签。
[0084] 在另一种实施例中,可以在中间节点设备上配置OLIBS表和NHLFE表。或者,接收控制器下发的中间节点设备的OLIBS表和NHLFE表。
[0085] 由上述可知,在尾节点设备向中间节点设备返回预留信息时,该预留信息中包括尾节点设备的标识,头节点设备向尾节点设备多次发送路径消息之后,在返回预留信息的过程中,中间节点设备可以获知所述第一组播流经由所述第一隧道可达的尾节点设备的标识,进而生成第一表项。或者,可以根据预先配置的或者控制器下发的OLIBS表,获知所述第一组播流经由所述第一隧道可达的尾节点设备的标识,进而生成第一表项。其中,第一表项包括 BitString Map信息。如图4所示,在中间节点设备中BitString Map可以分别表示为00000001, 00000010、00000100和00001000。其中,00000001表示尾节点设备R1的标识,
00000010 表示尾节点设备R2的标识,00000100表示尾节点设备R3的标识,00001000表示尾节点设备R4的标识。
[0086] S207,所述中间节点设备获取所述第一组播流包括的位串BitString信息,所述BitString 信息包括所述第一组播流期望到达的尾节点设备的标识。
[0087] 具体实现中,在头节点设备获取到第一组播流期望到达的尾节点设备的标识之后,将 BitString信息存放到第一组播流的报文头中,中间节点设备接收到第一组播流之后,可以直接从第一组播流的报文头中获取到BitString信息。
[0088] S208,所述中间节点设备确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识。
[0089] 例如,如图4所示,中间节点设备可以根据第一组播流的BitString,可以分别向尾节点设备R1、尾节点设备R2以及尾节点设备R4发送第一组播流。中间节点设备分别与尾节点设备(R1、R2、R3和R4)直接连接,因此在中间设备设备上生成4条BitString Map信息, 4条BitString Map信息分别包括尾节点设备R1的标识、尾节点设备R2的标识、尾节点设备 R3的标识和尾节点设备R4的标识。因此,中间节点设备可以确定第3条BitString Map信息中未包括尾节点设备R1、尾节点设备R2以及尾节点设备R4中的任何一个的标识,其余 BitString Map信息均包括尾节点设备R1、尾节点设备R2以及尾节点设备R4中的任何一个的标识。
[0090] 进一步的,所述中间节点设备根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
[0091] 例如,如图4所示,4条BitString Map信息分别为00000001、00000010、00000100和 00001000。其中,00000001可以表示尾节点设备R1的标识,00000010可以表示尾节点设备 R2的标识,00000100可以表示尾节点设备R3的标识,00001000可以表示尾节点设备R4的标识。BitString信息由节点设备R1的标识、尾节点设备R2的标识以及尾节点设备R4的标识来确定,BitString可以表示为00001011。其中,BitString的最低位可以表示尾节点设备R1 的标识,第二位表示尾节点设备R2的标识,第三位0表示不存在尾节点设备R3的标识,第四位表示尾节点设备R4的标识。将00000001、00000010、00000100和00001000分别与 
00001011进行按位与运算,第一组运算的结果为00000001,中间节点设备确定向尾节点设备 R1发送第一组播流。第二组运算的结果为00000010,中间节点设备确定向尾节点设备R2发送第一组播流。第三组运算的结果为00000000,中间节点设备确定不向尾节点设备R3发送第一组播流第一组运算的结果为00001000,中间节点设备确定向尾节点设备R4发送第一组播流。
[0092] 进一步的,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述中间节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道,所述中间节点设备根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
[0093] 例如,如图4所示,中间节点设备分别与尾节点设备R1、尾节点设备R2、尾节点设备 R3和尾节点设备R4直接连接,均属于第一隧道,但是使用了不同的物理出接口分别与尾节点设备R1、尾节点设备R2、尾节点设备R3和尾节点设备R4连接,而出标签信息可以相同,也可以不同,但两者的出标签信息都是指示第一隧道。如,尾节点设备R1可以给中间节点设备分配出标签101,该出标签101对应第一隧道的隧道标识。或者,尾节点设备R2可以给中间节点设备分配出标签101,该出标签102也对应第一隧道的隧道标识。
[0094] 可选的,所述头节点设备还生成第二表项,所述第二表项包括第二位串图BitString Map 信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述中间节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应。所述中间节点设备确定所述第二BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识。当所述中间节点设备确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述中间节点设备经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
[0095] S209,当所述中间节点设备确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,所述中间节点设备经由所述第一隧道向所述第一尾节点设备转发所述第一组播流。
[0096] 具体实现中,当所述中间节点设备确定所述第二运算结果为非0,所述中间节点设备经由所述第一隧道向所述中间节点设备的下一跳节点设备转发所述第一组播流。当所述中间节点设备确定所述第二运算结果为0,所述中间节点设备丢弃所述第一组播流。
[0097] 例如,如图4所示,将中间节点设备中的BitString Map的值00000001、00000010、00000100 和00001000、分别与BitString的值00001011进行按位与运算,第一组运算的结果为00000001,则中间节点设备向尾节点设备R1发送第一组播流。第二组运算的结果为
00000010,则中间节点设备向尾节点设备R2发送第一组播流。第三组运算的结果为
00000000,则中间节点设备不向尾节点设备R3发送第一组播流,第四组运算的结果为
00001000,则中间节点设备向尾节点设备R4发送第一组播流。
[0098] 以下通过例子说明上述实施例的具体实施方式。
[0099] 请参见图6,图6是本申请实施例提供的一种组播转发系统的结构示意图,该组播转发系统包括多个节点设备,所述多个节点包括头节点设备、中间节点设备和尾节点设备,其中,头节点设备包括节点R255,中间节点设备包括中间节点设备R256、中间节点设备NPE1、中间节点设备NPE2、中间节点设备UPE1和中间节点设备UPE2,尾节点设备包括尾节点设备 R1、尾节点设备R2、尾节点设备R3、……、尾节点设备R254等等。
[0100] 如图6所示,头节点设备经过多个中间节点设备向尾节点节点发送组播流,头节点设备 R255获知一个组播流期望转发到尾节点设备R1、尾节点设备R2以及尾节点设备R254,并对尾节点设备R1的标识、尾节点设备R2的标识以及尾节点设备R254的标识进行编码得到 BitString=00001011,其中。BitString最低位表示尾节点设备R1的标识、第二位表示尾节点设备R2的标识,第四位表示尾节点设备R2尾节点设备R254。如图7所示,在头节点设备 R255上保存有NHLFE表和OLIBS表,其中,NHLFE表示为(隧道标识,至少一个{出标签,出接口}),OLIBS表示为({出标签,出接口},BSM),其中,BSM为BitString Map的缩写,每个{出标签,出接口}对应一个BitString Map,该BitString Map由该{出标签,出接口}下游的全部尾节点设备的标识编码而成。又如图7所示,在头节点设备R255上还保存有模板隧道的路径信息、overlay信息以及TEDB信息等等,由上述信息可以生成组播流量路径表和组播流量BitString表。由图6可知,与头节点设备R255邻近的下游节点设备包括中间节点设备NPE1和中间节点设备R256,因此在头节点设备R255中包括{第一出标签,第一出接口} 对应的中间节点设备NPE1和{第二出标签,第二出接口}对应的中间节点设备R256。在确定模板隧道R255---->NPE1--->UPE1---->{R1、R2、R3、……、R254}之后,由NHLFE表可知,该模板隧道指示{第一出标签,第一出接口}对应的中间节点设备NPE1,因此选择中间节点设备NPE1来转发组播流。由模板隧道R255---->NPE1--->UPE1---->{R1、R2、R3、……、R254} 可知{第一出标签,第一出接口}的下游的所有尾节点设备包括尾节点设备R1、尾节点设备R2、尾节点设备R3、……、尾节点设备R254,因此,对尾节点设备R1的标识、尾节点设备R2 的标识、尾节点设备R3的标识、……、尾节点设备R254的标识编码得到BitString Map=11111111。最后对该BitString Map与上述BitString进行按位与运算,运算的结果为 00001011,因此,头节点设备R255向中间节点设备NPE1发送第一组播流。
[0101] 又如图7所示,在中间节点设备NPE1上保存有输入标记映射(Incoming Label Map, ILM)表、NHLFE表和OLIBS表。其中,ILM表包括隧道标识和中间节点设备NPE1的入标签,表示为(隧道ID,入标签),NHLFE表示为(隧道标识,至少一个{出标签,出接口}), OLIBS表示为({出标签,出接口},BSM),每个{出标签,出接口}对应一个BitString Map,该 BitString Map由该{出标签,出接口}下游的全部尾节点设备的标识编码而成。与中间节点设备NPE1邻近的下游节点设备包括中间节点设备NPE2和中间节点设备UPE1,因此在中间节点设备NPE1中包括{第一出标签,第一出接口}对应的中间节点设备NPE2和{第二出标签,第二出接口}对应的中间节点设备UPE1。在根据中间节点设备NPE1的入标签确定模板隧道 R255---->NPE1--->UPE1---->{R1、R2、R3、……、R254}之后,由NHLFE表可知,该模板隧道指示中间节点设备NPE1的{第一出标签,第一出接口}对应中间节点设备UPE1,因此选择中间节点设备UPE1来转发组播流。由模板隧道R255---->NPE1--->UPE1---->{R1、R2、R3、……、 R254}可知{第一出标签,第一出接口}下游的所有尾节点设备包括尾节点设备R1、尾节点设备R2、尾节点设备R3、……、尾节点设备R254,因此,对尾节点设备R1的标识、尾节点设备R2的标识、尾节点设备R3的标识、……、尾节点设备R254的标识编码得到BitString Map=11111111。最后对该BitString Map与上述BitString进行按位与运算。运算的结果为 
00001011,因此,中间节点设备NPE1向中间节点设备UPE1发送第一组播流。
[0102] 又如图7所示,在中间节点设备UPE1上保存有ILM表和NHLFE表,ILM表包括隧道标识和中间节点设备UPE1的入标签,表示为(隧道ID,入标签)。该NHLFE表示为(隧道标识,至少一个{出标签,出接口})。中间节点设备UPE1的下一跳节点设备包括尾节点设备R1、尾节点设备R2、尾节点设备R3、……、尾节点设备R254,因此在中间节点设备UPE1中的 OLIBS表包括:({出标签,出接口}=到R1的出接口,BSM=00000001),BSM的值00000001 是尾节点设备R1的标识;({出标签,出接口}=到R2的出接口,BSM=00000010),BSM的值 00000010是尾节点设备R2的标识;({出标签,出接口}=到R3的出接口,BSM=00000100),BSM 的值00000100是尾节点设备R3的标识;……;({出标签,出接口}=到R254的出接口, BSM=
00001000),BSM的值00001000是尾节点设备R254的标识。将上述得到的位串图 BitString Map信息中的BitString=00001011分别与每个OLIBS表中BSM的值进行按位与运算。由于BSM=00000001与BitString=00001011进行按位与运算,计算得到的值为00000001,则中间节点设备UPE1向尾节点设备R1发送组播流。BSM=000000010与BitString=00001011 进行按位与运算,计算得到的值为000000010,则中间节点设备UPE1向尾节点设备R2发送组播流。BSM=000000100与BitString=00001011进行按位与运算,计算得到的值为00000100,则中间节点设备UPE1不向尾节点设备R3发送组播流。BSM=000001000与 BitString=
00001011进行按位与运算,计算得到的值为000001000,则中间节点设备UPE1向尾节点设备R254发送组播流。
[0103] 上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
[0104] 请参见图8,图8是本申请实施例提供的一种头节点设备的结构示意图,该头节点设备可以是个处理器,例如可包括建立模块801、生成模块802、获取模块803、确定模块804和发送模块805,其中,各模块的详细描述如下。
[0105] 建立模块801,用于建立第一隧道,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括第一组播流。
[0106] 生成模块802,用于生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括未与所述头节点设备直接连接的第一尾节点设备的标识,所述至少一个尾节点设备包括所述第一尾节点设备。
[0107] 获取模块803,用于获取所述第一组播流的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识。
[0108] 确定模块804,用于确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识。
[0109] 当确定模块804确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的至少一个尾节点设备的标识时,发送模块805用于经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
[0110] 可选的,确定模块804具体用于:
[0111] 根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
[0112] 可选的,当确定模块804确定所述第一运算结果为非0,发送模块805具体用于经由所述第一隧道向所述第一中间节点设备转发所述第一组播流。
[0113] 其中,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述头节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道。
[0114] 可选的,确定模块804,还用于根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
[0115] 其中,所述组播网络还包括第二中间节点设备,发送模块801,还用于建立第二隧道,所述第二隧道的源节点为所述头节点设备,所述第二隧道的目的节点为所述至少一个尾节点设备,所述第二隧道用于转发所述多个组播流,所述多个组播流包括第二组播流;当确定模块804确定所述第一隧道的带宽占用率大于第一阈值时,发送模块805还用于经由所述第二隧道向所述第二中间节点设备转发所述第二组播流。
[0116] 其中,生成模块802,还用于生成第二表项,所述第二表项包括第二位串图BitString Map 信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述头节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应;
[0117] 确定模块804,还用于确定所述第二BitString  Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识。
[0118] 当确定模块804确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,发送模块805还用于经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
[0119] 可选的,当确定模块804确定所述第一BitString Map信息中不包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,确定模块804还用于丢弃所述第一组播流。
[0120] 需要说明的是,各个模块的具体功能实现还可以对应参照图2所示的方法实施例中头节点设备的相应描述,执行上述实施例中所执行的方法和功能。
[0121] 请参见图9,图9是本申请实施例提供的一种中间节点设备的结构示意图,该头节点设备可以是个处理器,例如可包括接收模块901、生成模块902、获取模块903、确定模块904 和发送模块905,其中,各模块的详细描述如下。
[0122] 接收模块901,用于经由第一隧道接收头节点设备发送的第一组播流,所述第一隧道的源节点为所述头节点设备,所述第一隧道的目的节点为所述至少一个尾节点设备,所述第一隧道用于转发多个组播流,所述多个组播流包括所述第一组播流;
[0123] 生成模块902,用于生成第一表项,所述第一表项包括第一位串图BitString Map信息,所述第一BitString Map信息包括与所述中间节点设备直接连接的第一尾节点设备的标识;
[0124] 获取模块903,用于获取所述第一组播流包括的位串BitString信息,所述BitString信息包括所述第一组播流期望到达的尾节点设备的标识。
[0125] 确定模块904,用于确定所述第一BitString Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识。
[0126] 当确定模块904确定所述第一BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,发送模块905用于经由所述第一隧道向所述第一尾节点设备转发所述第一组播流。
[0127] 可选的,确定模块904具体用于:
[0128] 根据所述BitString信息与所述第一BitString Map信息获得第一运算结果,所述第一运算结果的值等于所述BitString信息与所述第一BitString Map信息进行按位与运算得到的值。
[0129] 其中,所述第一表项还包括第一出接口信息和第一出标签信息,所述第一出接口信息用于指示所述中间节点设备的物理出接口,所述第一出标签信息用于指示所述第一隧道。
[0130] 确定模块904,还用于根据所述第一出接口信息和所述第一出标签信息,确定通过所述第一出接口信息指示的物理出接口,并且经由所述第一隧道发送所述第一组播流。
[0131] 其中,所述生成模块902还用于生成第二表项,所述第二表项包括第二位串图BitString Map信息、第二出接口信息和第二出标签信息,所述第二BitString Map信息包括与所述中间节点设备直接连接的第二尾节点设备的标识,所述至少一个尾节点设备包括所述第二尾节点设备,所述第二出接口信息与所述第一出接口信息不同,所述第二出标签信息与所述第一出标签信息均与所述第一隧道的标识对应;
[0132] 确定模块904,还用于确定所述第二BitString  Map信息中是否包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识。
[0133] 当确定模块904确定所述第二BitString Map信息中包括所述BitString信息中的所述第一组播流期望到达的尾节点设备的标识时,发送模块905还用于经由所述第一隧道向所述第二尾节点设备转发所述第一组播流。
[0134] 需要说明的是,各个模块的具体功能实现还可以对应参照图2所示的方法实施例中中间节点设备的相应描述,执行上述实施例中所执行的方法和功能。
[0135] 请继续参考图10,图10是本申请提出的一种头节点设备的结构示意图。该设备可以包括:至少一个处理器1001,至少一个收发器 1002,至少一个存储器1003和至少一个通信总线1004。其中,通信总线1004用于实现这些组件之间的连接通信。其中,本申请实施例中设备的收发器 1002用于与其他节点设备进行信令或数据的通信。存储器1003可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1003可选的还可以是至少一个位于远离前述处理器1001的存储装置。存储器 1003中存储一组程序代码,且可以进一步用于存储处理器1001的中间运算数据等临时数据。处理器1001执行存储器1003中程序代码以实现之前实施例所提到的方法,具体可以参考之前实施例的描述。进一步的,处理器1001还可以与存储器1003和收发器 1002相配合,执行上述申请实施例中头节点设备的操作。处理器1001具体可以包括执行所述程序代码的处理器,如中央处理单元(CPU)或数字信号处理器(DSP)等。
[0136] 可以理解,所述存储器1003可以没存有程序代码,此时处理器1001可以包括不需要执行程序代码的硬件处理器,如专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或集成电路形成的硬件加速器。此时,存储器1003可仅用于存储处理器1001的中间运算数据等临时数据。
[0137] 请继续参考图11,图11是本申请提出的一种中间节点设备的结构示意图。该设备可以包括:至少一个处理器1101,至少一个收发器 1102,至少一个存储器1103和至少一个通信总线1104。其中,通信总线1104用于实现这些组件之间的连接通信。其中,本申请实施例中设备的收发器 1102用于与其他节点设备进行信令或数据的通信。存储器1103可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1103可选的还可以是至少一个位于远离前述处理器1101的存储装置。存储器1103中存储一组程序代码,且可以进一步用于存储处理器1101的中间运算数据等临时数据。处理器1101执行存储器1103中程序代码以实现之前实施例所提到的方法,具体可以参考之前实施例的描述。进一步的,处理器1101还可以与存储器1103和收发器 1102相配合,执行上述申请实施例中中间节点设备的操作。处理器1101具体可以包括执行所述程序代码的处理器,如中央处理单元(CPU)或数字信号处理器(DSP)等。
[0138] 可以理解,所述存储器1103可以没存有程序代码,此时处理器1101可以包括不需要执行程序代码的硬件处理器,如专用集成电路(ASIC)、现场可编程逻辑门阵列(FPGA)或集成电路形成的硬件加速器。此时,存储器1103可仅用于存储处理器1101的中间运算数据等临时数据。
[0139] 在上述实施例中,方法的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机或其内部处理器上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈