一种BIER网络中动态获取组播组成员信息的方法和装置制造方法及图纸

技术编号:38384942 阅读:15 留言:0更新日期:2023-08-05 17:40
本发明专利技术涉及通信技术领域,提供了一种BIER网络中动态获取组播组成员信息的方法和装置。其中位转发出口路由器BFER节点在获取到BIER Ping请求报文,并且确认所述BIER Ping请求报文中携带请求组播组标志,在生成相应的BIER Ping响应报文时,包括:BFER节点在BIER Ping响应报文中携带自身已加入组播组的组播表项信息;将所述BIER Ping响应报文发给位转发入口路由器BFIR节点。本发明专利技术解决了BIER网络中组播流入口节点无法动态获取组播组成员信息的问题,提升了设备的竞争力;未修改已有的组播协议,也未增加部署其它协议,实现简单,易于部署,便于推广。便于推广。便于推广。

【技术实现步骤摘要】
一种BIER网络中动态获取组播组成员信息的方法和装置


[0001]本专利技术涉及通信
,特别是涉及一种BIER网络中动态获取组播组成员信息的方法和装置。

技术介绍

[0002]在位索引显式复制(Bit Index Explicit Replication,简写为:BIER)域中,以BIER子域为单位,每个BIER子域的边缘节点均需要配置一个BFR

ID(BFR的全称为:Bit

Forwarding Router)值,该值在BIER子域内唯一。
[0003]BIER子域中的BFR

id信息,连同其它信息(例如节点的IP地址),通过内部网关协议(Interior Gateway Protocol,简写为:IGP)协议的泛洪,在网络中的各节点建立起BIER转发信息,该BIER转发信息指导该节点,收到带有BitString的BIER报文后,如何根据报文中的BitString将报文复制发送出去。
[0004]BitString中的每一位代表一个组播报文目的节点。但是BSL(全称为:BitString Length)长度有限,因此能一个BitString能表示的节点有限。为了解决该问题,BIER引入Set概念。Set指一组BFR的集合,一个Set内的BFR数目不超过BSL长度。当一个组播报文的目的节点属于多个Set时,BFIR按所属Set数目复制该组播报文,将不同Set ID逐一写入各BIERv6报文头的BIFT

ID(BIFT的全称为:Bit Index Forwarding Table)字段内,然后将每个组播报文独立按BIER流程完成转发。
[0005]为BIER网络配置一个BSL后,设备自动根据每个位转发出口路由器(Bit

Forwarding Egress Router,简写为:BFER)的BFR

id数值映射为BitString中的一位(下面称为Bit Position),同时计算出该设备所属的Set ID。每个BFER的Bit Position和Set ID计算公式如下:
[0006]Bit Position=(BFR

id

1)mod BSL+1;
[0007]Set ID=int[(BFR

id

1)
÷
BSL];
[0008]其中,mod、int分别表示取余数和向下取整。
[0009]设备通过Set ID和BitString唯一确定Sub

Domain内接收组播报文的一组节点。当该组节点属于2个或以上Set时,该报文在BFIR中将按归属的Set数目复制为多个组播报文。
[0010]在完成BIER网络配置后,设备将BIER路径计算所需信息封装在IGP中定义的TLV中并泛洪,进而生成包含BitString信息的BIER位索引转发表BIFT。BIFT的索引由4bit的BSL+8bit的Sub

Domain+8bit的Set ID组成,也就是BFR内按Sub

Domain、Set ID和BSL生成独立的BIFT内容。
[0011]BIFT是BIER Sub

Domain中每个BFR转发组播报文的关键表项,而BIRT是生成BIFT的前提。
[0012]BIRT和BIFT的详细生成过程描述如下:
[0013]BIER Sub

Domain内每个BFR通过IGP中定义的TLV,向其他BFR节点通告本地BFR

prefix、Sub

Domain ID、BFR

id、BSL及路径计算算法等信息。
[0014]每个BFR节点通过路径计算获知当前节点到每个BFER的BFR邻居(BFR

NBR,即BFR

Neighbor),生成BIRT内容。
[0015]每个BFR节点根据BIRT内容生成BIFT内容。生成时,将BIRT中到相同BFR邻居的所有BFR

id执行OR运算(即“或”运算),得到F

BM(全称为:Forwarding BitMask)列内容。
[0016]在BIER网络中,每个BFR接收组播报文后,通过识别报文中的BitString,然后结合对应BIFT内容完成报文转发。
[0017]每个BFR在接收组播报文后,按如下过程执行转发动作:
[0018]步骤1:BFR接收到一个组播报文,识别出报文目的地址为本地的IP地址,判定为按BIER流程转发。
[0019]步骤2:BFR识别出报文内的BIFT

ID字段值和BitString值,然后按BIFT

ID字段值定位到本地对应的BIFT内容。
[0020]步骤3:读取BIFT第一行内容,将该行F

BM(Forwarding BitMask)与待转发报文的BitString执行AND运算(即“与”运算),得到一个新BitString。
[0021]步骤4:根据运算结果,选择如下转发流程:
[0022]步骤4.1:如果新BitString值为0,即所有Bit Position均为0,表示该BFR邻居(BFR

NBR,即BFR

Neighbor)无需转发该报文。
[0023]步骤4.2:如果新BitString值不为0,且BFR邻居不为当前节点,则复制一份该报文,将新BitString写入此复制报文的BitString字段内,将BFR邻居的BFR

Prefix写入此复制报文的目的地址字段内,然后向BFR邻居转发此复制报文。
[0024]步骤4.3:如果新BitString值不为0,且BFR邻居为当前节点,则复制一份该报文,判断新BitString中值为1的Bit Position是否为当前节点。如果是,则剥去此复制报文的BIERv6报文头,然后转发出BIERv6网络;否则,丢弃此复制报文。
[0025]重复步骤3~步骤4,读取BIFT其他所有行内容并完成相应处理。
[0026]当一个组播报文从BIER域外到达一个BFIR时,BFIR需要确定报文将被发送到的BFER集合。为此BFIR必须构造一个位掩码(BitString)来指示位于同一BIER子域内的哪个BFER将接收该报文。为了确定BitString,BFIR需要获取组播组成员信息。目前针对此问题,主要有以下几种做法:
[0027]方式一:在入口节点静态配置组播组成员信息,如图1所示;其缺点是配置量大,不能实时反映组播成员的变化;
[0028]方式二:将所有进入的数据包转发到所有的出口路由器,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BIER网络中动态获取组播组成员信息的方法,其特征在于,包括:位转发出口路由器BFER节点在获取到BIER Ping请求报文,并且确认所述BIER Ping请求报文中携带请求组播组标志,在生成相应的BIER Ping响应报文时,BFER节点在BIER Ping响应报文中携带自身已加入组播组的组播表项信息;将所述BIER Ping响应报文发给位转发入口路由器BFIR节点。2.根据权利要求1所述的BIER网络中动态获取组播组成员信息的方法,其特征在于,所述BFIR节点所发出的BIER Ping请求报文中还包括组播流量结束标志,具体包括:在BFIR节点检测到组播流量结束时,使用携带组播流量结束标志的BIER Ping请求报文通告所有BIER域边缘节点BIER流量结束;其中,BIER域边缘节点由一个或者多个BFER节点构成;BFER节点收到携带组播流量结束标志的BIER Ping请求报文后,从本地保存的请求组播组的BFIR地址列表中删除对应的BFIR地址。3.根据权利要求1所述的BIER网络中动态获取组播组成员信息的方法,其特征在于,位转发出口路由器BFER节点在获取到BIER Ping请求报文之前,方法还包括:BFIR节点收到IP组播报文,若所述IP组播报文没有对应的组播表项,则向所有BIER域边缘节点发送BIER Ping请求报文;其中,所述BIER Ping请求报文中携带请求组播组标志。4.根据权利要求3所述的BIER网络中动态获取组播组成员信息的方法,其特征在于,方法还包括:BFER节点收到携带请求组播组标志的BIER Ping请求报文后,在本地保存发送BIER Ping请求报文的BFIR地址。5.根据权利要求4所述的BIER网络中动态获取组播组成员信息的方法,其特...

【专利技术属性】
技术研发人员:高军
申请(专利权)人:南京第三代通信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1