一种自动添加任播汇聚点成员的方法和设备的制作方法
【专利摘要】本发明公开了一种自动添加任播汇聚点成员的方法和设备,自举路由器BSR接收到欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围;BSR从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围;BSR将所述Anycast-RP地址以及所述Anycast-RP地址对应的所有成员地址添加到BSM报文中发送出去,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址。
【专利说明】—种自动添加任播汇聚点成员的方法和设备
【技术领域】
[0001]本发明涉及网络通信传输技术,特别是一种自动添加任播汇聚点成员的方法和设备。
【背景技术】
[0002]在协议无关组播稀疏模式(PIM-SM,Protocol Independent Multicast-SparseMode)协议(RFC4601)中要求为每一个组播组选择一个汇聚点RP为其服务,组播源的直连指定路由器DR向所属的RP发送注册报文,这样RP上就维护了所有其所服务组播组的源信息,接收者可以通过向RP发送组加入来点播所有该组的组播源。
[0003]任播RP (Anycast-RP)实现了一种RP的冗余备份和负载分担机制,即对于同一个组播组存在多个RP设备,但都使用相同的Anycast-RP地址;首先对多个设备配置相同的Anycast-RP地址,组播源和接收者就近选择一个物理RP ;然后通过一定的机制在多个物理RP间对组播源信息进行同步,这样就实现了组播源和接收者的互通。
[0004]Anycast-RP的实现目前有两种方式:一种方式是通过PIM-SM和组播源发现协议(MSDP,Multicast Source Discovery Protocol)的组合使用来实现;另一种方式完全基于对协议无关组播(PIM, Protocol Independent Multicast)协议的扩展来实现,不需要依赖MSDP。
[0005]基于MSDP的Anycast-RP (RFC3446)通过在多个RP之间建立MSDP域内对等体关系,在MSDP协议报文中交互组播源信息,无法支持IPv6。
[0006]而完全基于PIM的Anycast-RP (RFC4610)通过向其他Anycast-RP成员转发注册报文来同步组播源信息,部署更加简单且可以支持IPv6,主要处理过程如图1所示:
[0007]假设Anycast-RP集包括三个成员汇聚点1、汇聚点2、汇聚点3,对外发布的Anycast-RP地址为汇聚点A。
[0008]汇聚点I收到一个目的地址为汇聚点A的注册报文,发现源地址不是汇聚点2或汇聚点3 (本Anycast-RP集的其他成员),就认为是从指定路由器发过来的;然后将该注册报文的源地址改为汇聚点1,发送给汇聚点2和汇聚点3 ;
[0009]汇聚点2和汇聚点3收到从汇聚点I发送过来的注册报文,维护其中的组播源组信息;由于该注册报文的源地址是Anycast-RP集的成员,不再向外转发以防止环路。
[0010]如果使用基于PIM的Anycast-RP,需要在Anycast-RP集的所有成员设备上进行相同的配置,以保证全连接。当需要往Anycast-RP集中增加一个成员时,需要手动在所有成员设备上新增一条配置指定新增加的成员地址,工作量较大且容易出错。
【发明内容】
[0011]有鉴于此,本发明提供了一种自动添加任播汇聚点成员的方法和设备,可以简化Anycast-RP的配置过程,能自动发现Anycast-RP集的所有成员地址,新增成员设备时不需要手动修改其他成员设备的配置,实现了自动发布并学习Anycast-RP的成员地址。本发明提出的技术方案是:
[0012]一种自动添加任播汇聚点成员的方法,该方法包括以下步骤:
[0013]自举路由器BSR接收到欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围;
[0014]BSR从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将提取的所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围;
[0015]BSR将所述Anycast-RP地址以及所述Anycast-RP地址对应的所有成员地址添加至IJ BSM报文中发送出去,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址。
[0016]上述方案中,该方法进一步包括:
[0017]所述汇聚点RP设备的本地地址携带于C-RP通告报文中的扩展后的RP Address字段;
[0018]所述Anycast-RP地址对应的所有成员地址携带于BSM报文中扩展后的RPAddress 字段。
[0019]上述方案中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围不同时,该方法进一步包括:
[0020]将所述BSR最近收到的C-RP报文中携带的组播组范围作为所述Anycast-RP集服务的组播组范围,或者取所有Anycast-RP集中的成员地址对应的C-RP通告报文携带的组播组范围的交集作为所述Anycast-RP集服务的组播组范围。
[0021]一种自动添加任播汇聚点成员的自举路由器BSR设备,该设备包括:
[0022]收发模块,用于接收欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围;还用于发送BSM报文,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址;
[0023]存储模块,用于存储任播汇聚点Anycast-RP集的Anycast-RP地址、Anycast-RP集中的成员地址以及该Anycast-RP集服务的组播组范围;
[0024]处理模块,用于从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将提取的所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围。
[0025]上述方案中,所述处理模块进一步用于,将所述汇聚点RP设备的本地地址从C-RP通告报文中扩展后的RP Address字段中提取出来,将所述Anycast-RP地址对应的所有成员地址添加于BSM报文中扩展后的RP Address字段。
[0026]上述方案中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围不同时,所述处理模块进一步用于:[0027]将所述BSR最近收到的C-RP报文中携带的组播组范围作为所述Anycast-RP集服务的组播组范围,或者取所有Anycast-RP集中的成员地址对应的C-RP通告报文携带的组播组范围的交集作为所述Anycast-RP集服务的组播组范围。
[0028]综上所述,本发明提出的技术方案能够实现自动发布并学习Anycast-RP集的所有成员地址,新增成员设备时不需要手动修改其他成员设备的配置,减小了工作量且提高了精确度。
【专利附图】
【附图说明】
[0029]图1为基于PM的Anycast-RP示意图。
[0030]图2为实施例一的结构示意图。
[0031 ] 图3为实施例一的流程图。
[0032]图4为C-RP报文格式。
[0033]图5为标准RP Address报文格式。
[0034]图6为扩展后的RP Address报文格式。
[0035]图7为实现本发明实施例的设备结构示意图。
【具体实施方式】
[0036]为使本发明的目的、技术方案和优点表达的更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0037]本发明的技术方案是:自举路由器BSR接收到欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围;
[0038]BSR从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将提取的所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围;
[0039]BSR将所述Anycast-RP地址以及所述Anycast-RP地址对应的所有成员地址添加至IJ BSM报文中发送出去,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址。
[0040]C-RP报文和BSM报文标准的RP Address字段的Encoding Type为0,只能携带一个单播地址Anycast-RP地址,网络中的设备收到这样的BSM报文无法获知该Anycast-RP地址对应的成员的本地地址,自动添加Anycast-RP成员的目的无法实现。通过对该字段的扩展,使其同时携带Anycast-RP地址和成员的本地地址,这样无论是BSR收到C-RP报文,还是网络中的设备收到BSM报文,均会获知欲成为RP的设备的本地地址,这样就可以将其添加入对应的Anycast-RP集,当集合中的成员地址收到DR发送来的注册报文时,就会向该集合中的其他成员转发该注册报文。
[0041]通过对C-RP报文和BSM报文中RP Address字段进行扩展等手段,能自动通告并发布Anycast-RP集的所有成员的本地地址,不再需要手工指定所有成员的本地地址。[0042]方法实施例一
[0043]本实施例中,以图2中的示意图为例,汇聚点I (RP1)、汇聚点2 (RP2)、汇聚点3 (RP3)为同一个Anycast-RP集中的三个成员,对外发布的Anycast-RP地址为汇聚点A(RPA)0汇聚点4 (RP4)为欲加入该Anycast-RP集的一个设备。
[0044]图3是本实施例的流程图,以汇聚点4加入Anycast-RP集为例对本发明的技术方案进行说明,如图3所示,本实施例包括以下步骤:
[0045]步骤301:设备4自身配置为C-RP,且本地地址为RP4。
[0046]本步骤中,设备4欲成为RP,则将自身配置为C-RP (候选RP),其要加入的Anycast-RP集对外发布的Anycast-RP地址为RPA,因此,设备4自身配置的Anycast-RP地址为RPA,并将该设备的本地地址定为RP4,也为其加入所述Anycast-RP集后的成员的本地地址。
[0047]步骤302:设备4发送C-RP通告报文给BSR。
[0048]本步骤中,自举路由器BSR接收到欲成为汇聚点RP的设备4发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述设备4欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址RPA、所述设备4的本地地址RP4、以及所述设备4服务的组播组范围;所述信息封装在C-RP通告报文中,C-RP报文格式如图4所示,RP Address字段就对应Anycast-RP集的Anycast-RP地址(即RPA), Group Address字段对应RP4能服务的组播组范围。
[0049]设备4的本地地址携带于所述C-RP通告报文中经过扩展的RP Address字段。标准的RP Address的格式如图5所示,其中Encoding Type为O,只能携带一个单播地址,即Anycast-RP地址RPA,无法携带设备4的本地地址RP4。本发明对该地址进行扩展,以携带更多的信息,如设备4对应的本地地址信息,扩展后的RP Address的格式如图6所示。
[0050]步骤303:BSR收到所述C-RP报文,记录该报文携带的Anycast-RP地址和本地地址,以及服务的组播组范围。
[0051]BSR从收到的C-RP通告报文中提取并记录该报文携带的Anycast-RP地址RPA和本地地址RP4,以及设备4服务的组播组范围。
[0052]步骤304 =BSR将提取的本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,并将所述Anycast-RP地址以及所述Anycast-RP地址对应的所有成员的本地地址添加到BSM报文中发送出去。
[0053]本步骤中,BSR将提取的本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP地址对应的Anycast-RP集的成员地址中保存有BSR从所有C-RP报文中提取出来的具有相同Anycast-RP地址的不同本地地址,并将所述Anycast-RP地址以及所述Anycast-RP地址对应的所有成员地址添加到BSM报文中发送出去。所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围。
[0054]本实施例中,所述C-RP报文携带有Anycast-RP地址RPA和对应的成员地址RP4,封装BSM报文时,Anycast-RP地址RPA对应的成员地址还有RPl、RP2、RP3,这是之前RPl、RP2、RP3分别发送C-RP报文给BSR时,BSR记录下来的。因此,此时BSR发送出去的BSM报文携带有 Anycast-RP 地址 RPA,对应的成员地址 RP1、RP2、RP3、RP4。且 RP1、RP2、RP3、RP4服务的组播组范围相同,也即Anycast-RP集服务的组播组范围。
[0055]如果Anycast-RP集中的成员地址对应的RP设备服务的组播组范围不同,则将所述BSR最近收到的C-RP报文中携带的组播组范围作为所述Anycast-RP集服务的组播组范围,或者取所有Anycast-RP集中的成员地址对应的C-RP通告报文携带的组播组范围的交集作为所述Anycast-RP集服务的组播组范围。假设本实施例中RP1、RP2、RP3服务的组播组相同,而RP4与RP1、RP2、RP3服务的组播组不同,由于RP4的通告报文为BSR最近收到的,则将RP4服务的组播组作为RPA服务的组播组,或者取RP1、RP2、RP3、RP4服务的组播组范围的交集作为RPA服务的组播组。实际应用中需要避免多个Anycast-RP地址相同的C-RP报文携带的组播组范围不同的情况出现,由用户保证一个Anycast-RP集的所有成员配置相同的服务组播组范围。
[0056]所述Anycast-RP地址对应的所有成员地址携带于BSM报文中扩展后的RPAddress字段。BSM报文标准的RP Address的格式与C-RP报文标准的RP Address相同,Encoding Type为O,只能携带一个单播地址,即Anycast-RP地址RPA,无法携带所有成员地址RP1、RP2、RP3和RP4。本发明对该地址进行扩展,以携带更多的信息,如该RP对应的成员地址信息,扩展后的RP Address的格式与图6中C-RP报文扩展后的RP Address相同。
[0057]步骤305:各设备接收到所述BSM报文,如果自身配置了 BSM报文中携带的Anycast-RP地址,则记录该Anycast-RP地址下的除自身外的所有成员的本地地址。
[0058]本步骤中,网络中的设备接收到所述BSM报文,首先判断自身是否配置了所述BSM报文中携带的Anycast-RP地址,如果是,则记录所述BSM报文中携带的该Anycast-RP地址下的除自身外的所有成员的本地地址。本实施例中,设备4配置了 RPA地址,则设备4记录BSM报文中携带的除自身外的成员的本地地址RP1、RP2、RP3 ;RP1配置了 RPA地址,则设备I记录BSM报文中携带的除自身外的成员的本地地址RP2、RP3、RP4 ;RP2配置了 RPA地址,则设备2记录BSM报文中携带的除自身外的成员的本地地址RP1、RP3、RP4 ;RP3配置了 RPA地址,则设备3记录BSM报文中携带的除自身外的成员的本地地址RP1、RP2、RP4。至此完成了设备4成为Anycast-RP集合成员的全部自动添加过程。
[0059]应用本发明方案,能够自动发布并学习Anycast-RP集的所有成员的本地地址,新增成员设备时不需要手动修改其他成员设备的配置,可以实现自动添加新增成员,减小了工作量且提高了精确度。
[0060]针对上述方法,本发明还公开一种自动添加任播汇聚点成员的设备。本发明公开的设备如图7所示,包括:
[0061]收发模块701,用于接收欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围;还用于发送BSM报文,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址。
[0062]存储模块702,用于存储任播汇聚点Anycast-RP集的Anycast-RP地址、Anycast-RP集中的成员地址以及该Anycast-RP集服务的组播组范围。
[0063]处理模块703,用于从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将提取的所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围;还用于将所述汇聚点RP设备的本地地址从C-RP通告报文中扩展后的RP Address字段中提取出来,将所述Anycast-RP地址对应的所有成员地址添加于BSM报文中扩展后的RP Address字段;所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围不同时,进一步用于,将所述BSR最近收到的C-RP报文中携带的组播组范围作为所述Anycast-RP集服务的组播组范围,或者取所有Anycast-RP集中的成员地址对应的C-RP通告报文携带的组播组范围的交集作为所述Anycast-RP集服务的组播组范围。
[0064]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种自动添加任播汇聚点成员的方法,其特征在于,该方法包括以下步骤: 自举路由器BSR接收到欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围; BSR从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将提取的所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围; BSR将所述Anycast-RP地址以及所述Anycast-RP地址对应的所有成员地址添加到BSM报文中发送出去,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 所述汇聚点RP设备的本地地址携带于C-RP通告报文中的扩展后的RP Address字段; 所述Anycast-RP地址对应的所有成员地址携带于BSM报文中扩展后的RP Address字段。
3.根据权利要求1所述的方法,其特征在于,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围不同时,该方法进一步包括: 将所述BSR最近收到的C-RP报文中携带的组播组范围作为所述Anycast-RP集服务的组播组范围,或者取所有Anycast-RP集中的成员地址对应的C-RP通告报文携带的组播组范围的交集作为所述Anycast-RP集服务的组播组范围。
4.一种自动添加任播汇聚点成员的自举路由器BSR设备,其特征在于,该设备包括: 收发模块,用于接收欲成为汇聚点RP的设备发送来的候选汇聚点C-RP通告报文,所述C-RP通告报文同时携带所述RP设备欲加入的任播汇聚点Anycast-RP集的Anycast-RP地址、所述RP设备的本地地址、以及所述RP设备服务的组播组范围;还用于发送BSM报文,使已配置所述Anycast-RP地址的设备从该BSM报文中学习并记录其携带的除自身外的所有成员地址; 存储模块,用于存储任播汇聚点Anycast-RP集的Anycast-RP地址、Anycast-RP集中的成员地址以及该Anycast-RP集服务的组播组范围; 处理模块,用于从收到的C-RP通告报文中提取所述Anycast-RP地址以及所述本地地址,将提取的所述本地地址增加到所述Anycast-RP地址对应的Anycast-RP集中的成员地址中,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围相同,所述RP设备服务的组播组范围为Anycast-RP集服务的组播组范围。
5.根据权利要求4所述的设备,其特征在于, 所述处理模块进一步用于,将所述汇聚点RP设备的本地地址从C-RP通告报文中扩展后的RPAddress字段中提取出来,将所述Anycast-RP地址对应的所有成员地址添加于BSM报文中扩展后的RPAddress字段。
6.根据权利要求4所述的设备,其特征在于,所述Anycast-RP集中的成员地址对应的RP设备服务的组播组范围不同时,所述处理模块进一步用于:. 将所述BSR最近收到的C-RP报文中携带的组播组范围作为所述Anycast-RP集服务的组播组范围,或者取所有Anycast-RP集中的成员地址对应的C-RP通告报文携带的组播组范围的交集作为所述Anyca st-RP集服务的组播组范围。
【文档编号】H04L12/761GK103441871SQ201310369736
【公开日】2013年12月11日 申请日期:2013年8月22日 优先权日:2013年8月22日
【发明者】徐进 申请人:杭州华三通信技术有限公司