一种组播实现方法及装置与流程

文档序号:15394652发布日期:2018-09-08 01:53阅读:242来源:国知局

本发明涉及网络通信技术领域,尤其涉及一种组播实现方法及装置。



背景技术:

ila(identifier-locatoraddressing,标识位置寻址)技术是一种overlay技术(一种应用层技术),面向ipv6(internetprotocolversion6,互联网协议版本6)的数据中心,利用ipv6的/64前缀作为位置标识,后64位地址作为虚机/容器等的id(标识)。

与主流的vxlan(virtualextensiblelocalareanetwork,虚拟可扩展局域网)或lisp(locatoridentityseparationprotocol,定位标识分离协议)等技术不同,ila不使用隧道封装方式建立overlay网络(应用层网络),而是通过无状态nat(networkaddresstranslation,网络地址转换)方式,连通overlay网络和underlay网络(服务承载网络)。由于其地址替换是无状态的,使得硬件实现成本较低。

目前,ila网络中的组播实现原理主要包括:组播源接入的主机或leaf(叶)交换机将组播源发出的组播报文的源地址由sir(standardidentifierrepresentation,标准标识表述)地址替换为ila地址;同时组播接收者接入的主机或leaf交换机也要执行一次地址转换,将ila地址替换回sir地址。

然而实践发现,上述组播实现方案要求组播接收者均支持ila地址替换,仅适用于ila网络内部,无法满足ila网络与外网之间的组播通信需求;此外,组播流量的转发需要经过地址转换,转发性能和延时会受到影响。



技术实现要素:

本发明提供一种组播实现方法及装置,以解决现有ila网络组播实现方案要求组播接收者均支持ila地址替换,且转发性能差,延时高的问题。

根据本发明实施例的第一方面,提供一种组播实现方法,应用于ila网络中的ila路由器,所述ila网络中的ila路由器以及ila主机或leaf交换机之间建立有bgp邻居,该方法包括:

当接收到bgp组播源通知消息时,生成对应的(s,g)表项,将数据中心互联dci接口添加到该(s,g)表项的出接口,并根据组播源的位置locator信息向组播源发送协议独立组播pim加入消息;其中,所述dci接口为所述ila路由器连接外部网络的接口,该bgp组播源通知消息携带有组播源的sir地址信息、组播组地址信息以及组播源的locator信息,该pim加入消息携带逆向路径转发rpf向量,该rpf向量携带有该组播源的locator信息;

当接收到bgp组播接收者通知消息时,通过所述dci接口发送组播侦听者发现mld加入消息;其中,该mld加入消息中携带有该bgp组播接收者通知消息中携带的组播组地址信息。

根据本发明实施例的第二方面,提供一种组播实现方法,应用于ila网络中的ila主机或叶leaf交换机,所述ila网络中的ila路由器以及ila主机或leaf交换机之间建立有bgp邻居,该方法包括:

当接收到本地组播源的组播流量时,生成对应的(s,g)表项,并发送bgp组播源通知消息;其中,该bgp组播源通知消息携带有组播源的sir地址信息、组播组地址信息以及组播源的位置locator信息;

当接收到组播侦听者发现mld加入消息时,发送bgp组播接收者通知消息;其中,该bgp组播接收者通知消息中携带有该mld加入消息中携带的组播组地址信息。

根据本发明实施例的第三方面,提供一种组播实现装置,应用于ila网络中的ila路由器,所述ila网络中的ila路由器以及ila主机或leaf交换机之间建立有bgp邻居,该装置包括:

接收单元,用于接收bgp组播源通知消息以及bgp组播接收者通知消息;

表项维护单元,用于当所述接收单元接收到bgp组播源通知消息时,生成对应的(s,g)表项,将数据中心互联dci接口添加到该(s,g)表项的出接口;其中,所述dci接口为所述ila路由器连接外部网络的接口,该bgp组播源通知消息携带有组播源的sir地址信息、组播组地址信息以及组播源的locator信息;

发送单元,用于根据组播源的位置locator信息向组播源发送协议独立组播pim加入消息;其中,该pim加入消息携带逆向路径转发rpf向量,该rpf向量携带有该组播源的locator信息;

所述发送单元,还用于当所述接收单元接收到bgp组播接收者通知消息时,通过所述dci接口发送组播侦听者发现mld加入消息;其中,该mld加入消息中携带有该bgp组播接收者通知消息中携带的组播组地址信息。

根据本发明实施例的第四方面,提供一种组播实现装置,应用于ila网络中的ila主机或叶leaf交换机,所述ila网络中的ila路由器以及ila主机或leaf交换机之间建立有bgp邻居,该装置包括:

接收单元,用于接收组播流量以及mld加入消息;

表项维护单元,用于当所述接收单元接收到本地组播源的组播流量时,生成对应的(s,g)表项;

发送单元,用于发送bgp组播源通知消息;其中,该bgp组播源通知消息携带有组播源的sir地址信息、组播组地址信息以及组播源的位置locator信息;

所述发送单元,还用于当所述接收单元接收到组播侦听者发现mld加入消息时,发送bgp组播接收者通知消息;其中,该bgp组播接收者通知消息中携带有该mld加入消息中携带的组播组地址信息。

应用本发明实施例,当ila路由器接收到bgp组播源通知消息时,生成(s,g)表项,将dci接口添加到该(s,g)表项的出接口,并根据组播源的locator信息向组播源发送pim加入消息,该pim加入消息携带组播源的locator作为rpf向量,以便ila网络内的组播流量能够达到ila路由器,并由ila路由器通过dci接口发送至non-ila网络;当ila路由器接收到bgp组播接收者通知消息时,通过dci接口发送mld加入消息,以便non-ila网络的组播流量可以通过ila路由器发送至ila网络内的组播接收者,与现有ila网络内的组播实现方案相比,不需要进行ila地址转发,提高了组播流量的转发性能,减少了时延,并实现了ila网络与non-ila网络的组播通信。

附图说明

图1是本发明实施例提供的一种组播实现的网络架构示意图;

图2是本发明实施例提供的一种组播实现方法的流程示意图;

图3是本发明实施例提供的一种组播实现方法的流程示意图;

图4是本发明实施例提供的一种具体应用场景的架构示意图;

图5是本发明实施例提供的一种组播实现装置的结构示意图;

图6是本发明实施例提供的一种组播实现装置的结构示意图;

图7是本发明实施例提供的另一种组播实现装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例提供的技术方案使用的网络架构进行简单说明。

请参见图1,为本发明实施例提供一种的组播实现系统的网络架构示意图,如图1所示,该网络架构包括ila网络和non-ila网络(非ila网络,也可以称为外部网络),ila网络可以以主机overlay方式存在(即通过ila主机进行ila地址转换),也可以通过网络overlay(即通过leaf交换机完成ila地址转换)方式部署(图1中以主机overlay为例,下文中也均以主机overlay为例),其中:

ila网络中包括ila路由器(图中仅示出ila网络中与non-ila网络连接的ila路由器)、ila主机;ila主机分配有ila地址,ila主机和ila路由器的ipv6underlay网络可通。ila主机上部署容器(docker),该容器分配有sir地址。

ila路由器配置有sir前缀;ila路由器可以在ila网络内通告sir前缀,即整个ila网络在一个sir域;ila路由器还可以向non-ila网络通告sir前缀,保证ila网络与non-ila网络之间可以互通。

在图1所示的网络架构中,ila主机以及ila路由器之间可以建立bgp(bordergatewayprotocol,边界网关协议)邻居。

一方面,当ila主机确定本地存在组播源时,可以发送bgp组播源通知消息,以将组播源信息通知给各bgp邻居;其中,该bgp组播源通告消息可以包括组播源的sir地址信息、组播组地址信息以及组播源的locator信息(组播源接入的ila主机的locator)。

ila路由器接收到bgp组播源通知消息时,可以生成对应的(s,g)表项,将dci接口添加到该(s,g)表项的出接口,并向组播源发送携带组播源的locator信息的pim加入消息,以保证ila路由器可以接收到组播源的组播流量,并将接收到组播流量通过dci接口发送至non-ila网络,在不进行地址转换的情况下实现了ila网络内的组播流量向non-ila网络的转发,保证non-ila网络中的组播接收者能够接收到ila网络内的组播源发送的组播流量。

另一方面,当ila主机确定本地存在组播接收者时,可以发送bgp组播接收者通知消息,以将组播接收者信息通知给各bgp邻居;其中,该bgp组播接收者通知消息中携带有组播组地址信息。

ila路由器接收到bgp组播接收者通知消息时,可以通过dci接口发送mld(multicastlistenerdiscover,组播侦听者发现)加入消息,以便non-ila网络内的组播流量可以通过ila路由器发送至ila网络内的组播接收者,在不进行地址转换的情况下实现了non-ila网络内的组播流量向ila网络的转发,保证ila网络中的组播接收者能够接收到non-ila网络内的组播源发送的组播流量。

需要说明的是,本发明实施例中ila网络和non-ila网络均为ipv6网络;若未特殊说明,本文中所提及的ila路由器均指ila网络中与non-ila网络连接的路由器。

为了使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图2,为本发明实施例提供的一种组播实现方法的流程示意图,其中,该组播实现方法可以应用于ila网络中的ila路由器,如图2所示,该组播实现方法可以包括以下步骤:

步骤201、当接收到bgp组播源通知消息时,生成对应的(s,g)表项,将dci接口添加到该(s,g)表项的出接口,并根据组播源的locator信息向组播源发送pim加入消息。

本发明实施例中,ila主机发送bgp组播源通知消息的具体实现可以参见图3所示方法流程,本发明实施例在此不做赘述。

其中,bgp组播源通知消息中可以携带(s,g,locator)信息,其中,s为组播源的sir地址信息(即组播源地址信息),g为组播组地址信息,locator为组播源的locator信息。

其中,(s,g)表项即为组播源地址信息与组播组地址信息之间的对应关系表项。

本发明实施例中,ila路由器接收到bgp组播源通知消息时,一方面,可以根据其中携带的组播源的sir地址信息以及组播组地址信息,生成对应的(s,g)表项,并将dci接口添加到该(s,g)表项的出接口,以便ila路由器接收到该组播源的组播流量时,可以通过该dci接口将组播流量转发至non-ila网络。

另一方面,ila路由器可以向组播源发送pim加入消息,该pim加入消息中除了携带组播源的sir地址信息以及组播组信息之外,还可以通过rpf(reversepathforwarding,逆向路径转发)向量携带组播源的locator信息;其中,ila路由器与组播源接入的ila主机之间的转发路径上的中间节点(如underlay路由器)可以根据该rpf向量中携带的组播源的locator信息进行rpf检查,并在检查通过后,向指向组播源接入的ila主机的上游接口发送pim加入消息,该pim加入消息中通过rpf向量携带组播源的locator信息,直至组播源接入的ila主机接收到pim加入消息。

其中,组播源接入的ila主机接收到pim加入消息时的处理流程可以参见图3所示的方法流程,本发明实施例在此不做赘述。

步骤202、当接收到bgp组播接收者通知消息时,通过dci接口发送mld加入消息。

本发明实施例中,ila主机发送bgp组播接收者通知消息的具体实现可以参见图3所示方法流程,本发明实施例在此不做赘述。

其中,bgp组播接收者通知消息中可以携带组播组地址信息。

本发明实施例中,ila路由器接收到bgp组播接收者通知消息时,可以通过dci接口向non-ila网络发送mld加入消息,以便non-ila网络内的组播源获知ila网络内存在组播接收者,进而,通过ila路由器将non-ila网络内的组播流量转发至ila网络。

其中,该mld加入消息中携带有bgp组播接收者通知消息中携带的组播组地址信息。

进一步地,在本发明其中一个实施例中,上述通过dci接口发送mld加入消息之后,还可以包括:

当从dci接口接收到组播组流量时,生成对应的(s,g)表项,并发送bgp组播源通知消息;

当接收到pim加入消息时,将接收到该pim加入消息的接口添加到对应的(s,g)表项的出接口。

在该实施例中,当ila路由器从dci接口接收到non-ila网络的组播流量(即non-ila网络的组播源的组播流量)时,ila路由器可以将自身作为组播源接入的ila主机(组播源为non-ila网络的组播源),一方面,根据该组播流量的组播源地址信息以及组播组地址信息生成对应的(s,g)表项,此时,该(s,g)表项的出接口为空。

另一方面,ila路由器可以发送bgp组播源通知消息,以将组播源信息通知给各bgp邻居。

其中,该bgp组播源通知消息可以携带(s,g,locator)信息,其中,s为ila路由器接收到的组播流量的组播源地址,g为该组播流量的组播组地址,locator为ila路由器的locator信息。

ila主机接收到该bgp组播源通知消息时,可以记录其中携带的(s,g,locator)信息,并当本地存在该组播组的组播接收者时,发送pim加入消息,其具体实现可以参见图3所示方法流程,本发明实施例在此不做赘述。

在该实施例中,当ila路由器接收到pim加入消息时,ila路由器可以将接收到该pim加入消息的接口添加到该组播流量对应的(s,g)表项的出接口,进而,ila路由器可以通过该接口将non-ila网络中的该组播源的该组播组地址的组播流量转发给ila网络内的组播接收者。

请参见图3,为本发明实施例提供的一种组播实现方法的流程示意图,其中,该组播实现方法可以应用于ila网络中的ila主机或leaf交换机(本文中以ila主机为例),如图3所示,该组播实现方法可以包括以下步骤:

步骤301、当接收到本地组播源的组播流量时,生成对应的(s,g)表项,并发送bgp组播源通知消息。

本发明实施例中,当ila主机接收到本地组播源的组播流量时,一方面,ila主机可以根据该组播流量的组播源地址信息(sir地址)和组播组地址生成对应的(s,g)表项,此时,该(s,g)表项的出接口为空。

另一方面,ila主机可以发送bgp组播源通知消息,以将组播源信息通知给各bgp邻居。

其中,该bgp组播源通知消息中可以携带(s,g,locator)信息,其中,s为组播源的sir地址信息(即组播源地址信息),g为组播组地址信息,locator为组播源的locator信息。

其中,ila路由器接收到bgp组播源通知消息时的处理流程可以参见图2所示方法实施例中的相关描述,本发明实施例在此不再赘述。

本发明实施例中,当ila主机接收到bgp组播源通知消息(包括其它ila主机发送的bgp组播源通知消息或ila路由器发送的bgp组播源通知消息)时,ila主机可以记录该bgp组播源通知消息中携带的(s,g,locator)信息;其中,s为组播源地址信息(当组播源为ila网络内的组播源时,该地址信息为sir地址信息),g为组播组地址信息,locator为组播源的locator信息(当组播源为non-ila网络内的组播源时,组播源的locator信息为ila路由器的locator信息)。

当ila主机确定本地存在该组播组的接收者时,ila主机可以根据组播源的locator信息向组播源发送pim加入消息;其中,该pim加入消息中除了携带组播源的地址信息以及组播组地址信息之外,还携带有rpf向量,该rpf向量中携带有组播源的locator信息。

其中,ila主机与组播源之间的转发路径上的中间节点(如underlay路由器)可以根据该rpf向量中携带的组播源的locator信息进行rpf检查,并在检查通过后,向指向组播源的上游接口(即接收到该组播源发送的bgp组播源通知消息的接口)发送pim加入消息,该pim加入消息中通过rpf向量携带组播源的locator信息,直至组播源接入的ila主机(组播源在ila网络内)或ila路由器(组播源在non-ila网络内)接收到pim加入消息。

本发明实施例中,ila路由器接收到pim加入消息时的处理流程可以参见图2所示方法流程中的相关描述,本发明实施例在此不再赘述。

ila主机接收到pim加入消息时,可以将接收该pim加入消息的接口添加到对应的(s,g)表项的出接口。

由于ila路由器接收到ila主机发送的bgp组播源通知消息时,会将dci接口加入到对应的(s,g)表项的出接口,并向ila主机发送pim加入消息,因此,ila主机接收到本地组播源的组播流量时,会将组播流向ila路由器发送,进而,当ila路由器接收到该组播流量时,查询对应的(s,g)表项之后,可以通过dci接口向non-ila网络转发,保证了non-ila网络内的组播接收者可以接收到ila网络内的组播源的组播流量。

其中,non-ila网络的路由器接收到组播流量时,可以根据正常的pim等组播行为进行转发处理,其具体实现可以参见现有技术中的相关实现,本发明实施例对此不做限定。

步骤302、当接收到mld加入消息时,发送bgp组播接收者通知消息。

本发明实施例中,当ila主机本地存在组播接收者时,该组播接收者可以向ila主机发送mld加入消息,该mld加入消息中可以携带组播组地址信息(组播接收者请求加入的组播组地址信息)。

可选地,该mld加入消息中还可以携带组播源地址信息。

本发明实施例中,ila主机接收到mld加入消息时,ila主机可以发送bgp组播接收者通知消息,以将ila主机本地存在组播接收者的情况通知各bgp邻居(包括ila路由器和其它ila主机);其中,该bgp组播接收者通知消息可以携带mld加入消息中携带的组播组地址信息。

可选地,当ila主机接收到的mld加入消息中携带有组播源地址信息时,该bgp组播接收者通知消息还可以携带mld加入消息中携带的组播组地址信息。

其中,ila路由器接收到bgp组播接收者通知消息时的处理流程可以参见图2所示方法流程中的相关描述,本发明实施例在此不再赘述。

进一步地,在本发明实施例中,当ila主机本地组播源对应的(s,g)表项老化时,如该(s,g)表项对应的老化定时器超时,ila主机可以发送bgp组播源撤销通知消息,以将该组播源离开的消息通知给各bgp邻居。

其中,该bgp组播源撤销通知消息中携带有(s,g,locator)信息,其中,s为组播源地址信息(sir地址),g为组播组地址信息,locator为组播源的locator信息。

ila主机接收到其它ila主机发送的bgp组播源撤销通知消息时,可以删除自身记录的对应的(s,g,locator)信息,删除自身生成的对应的(s,g)表项(若存在),并进行剪枝处理。

ila路由器接收到bgp组播源撤销通知消息时,可以删除自身生成的对应的(s,g)表项,并进行剪枝处理。

进一步地,在本发明实施例中,当ila主机接收到本地组播接收者发送的离开消息时,ila主机可以发送bgp组播接收者撤销消息,以将组播接收者离开的消息通知给各bgp邻居。

其中,该bgp组播接收者撤销消息可以携带有组播组地址信息。

ila路由器接收到bgp组播接收者撤销通知消息时,可以更新自身生成的对应的(s,g)表项的出接口信息,并当确定ila网络中不存在该组播组的接收者时,ila路由器可以通过dci接口发送mlddone(离开)报文,该mdldone报文中携带有该组播组地址信息,进而,non-ila网络中该组播组的组播流量不会再发送给ila网络。

进一步地,在本发明实施例中,组播源迁移后,组播源迁移到的其他ila主机会收到组播流量后,发送新的bgp组播源通知消息(携带(s,g,locator)信息),触发在underlay网络建立新的组播转发路径,其具体实现可以参见上述方法流程中ila主机确定本地存在组播源时的相关处理流程。

其中,组播源迁移前接入的ila主机可以按照上述方法流程中描述的方式进行组播源离开处理,本发明实施例对此不再赘述。

同理,当组播接收者迁移后,组播接收者迁移到的其他ila主机会发送bgp组播接收者通知消息、pim加入消息等,其具体实现可以参见上述方法流程中的ila主机确定本地存在组播接收者时的相关处理流程。

其中,组播接收者迁移前接入的ila主机可以根据本地mld组情况,判断是否剪枝,即当本地还存在同一组播组的其它组播接收者时,不进行剪枝处理;若本地不存在同一组播组的其它组播接收者时,进行剪枝处理,其具体实现在此不做赘述。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。

请参见图4,为本发明实施例提供的一种具体应用场景的示意图,如图4所示,ila网络中的ila路由器通过dci接口与non-ila网络相连,ila网络内ila主机以及ila路由器之间建立mp-ibgp(multiprotocol-internalbordergatewayprotocol,多协议内部边界网关协议)邻居。假设所有组播源和接收者都接收同一个ipv6组播组。初始情况下,ila网络中组播源s1发送组播流量,使用sir地址face:b00c::1234。

基于图4所示场景,本发明实施例提供的组播实现方案流程如下:

1、ila主机1接收到本地组播源(组播源s1)的组播流量,建立对应的(s,g)表项(初始状态出接口为空),并通过mp-bgp消息将(s,g,locator)信息通知给各bgppeer(对端)(包括ila主机2和ila路由器)。

在该实施例中,可以通过对mp-bgp协议进行扩展,新增“vpn(virtualprivatenetwork,虚拟专用网)-sir-multicast(组播)”safi(sub-addressfamilyinformation,子地址族信息),包含2个type(类型),分别对应组播源信息和组播接收者信息。

其中,当type=1时,代表携带的是组播源信息,即(s,g,locator)信息,对应的mp-bgp消息即为bgp组播源通知消息。

该消息用于通告ila主机本地直连的组播源,其中组播源地址是组播源(如虚机)的sir地址,locator是sir域所对应的locator信息(ila主机的locator信息)。

当type=2时,代表携带的是组播组加入信息,对应的mp-bgp消息即为bgp组播源通知消息。

其中,该mp-bgp消息可以携带组播组地址信息(对应mldv1)或组播组地址信息和组播源地址信息(对应mldv2)。

2、ila路由器接收到type=1的mp-bgp消息,生成对应的(s,g)表项,将dci接口添加到该(s,g)表项的出接口,并向组播源发送pim加入消息,该pim加入消息携带rpf向量,该rpf向量携带有该mp-bgp消息中携带的locator信息。

其中,underlay路由器收到pim加入消息时,由于rpf向量携带了locator信息,因此不再以组播源地址作为依据,而是按照locator地址,进行rpf检查,并在检查通过后建立(s,g)表项,上游接口指向了ila主机1,向其继续发送pim加入消息,携带组播源的locator信息作为rpf向量。

ila主机1接收到pim加入消息时,将接收到该pim加入消息的接口添加到对应的(s,g)表项的出接口。

3、ila主机2接收到type=1的mp-bgp消息,记录其中携带的(s,g,locator)信息。

4、组播源s1的组播流量根据ila主机1生成的(s,g)表项的出接口进行转发;ila路由器接收到该组播流量时,通过dci接口发送至non-ila网络的路由器;non-ila网络的路由器可以根据正常的pim等组播行为进行转发处理,其具体实现可以参见现有技术中的相关实现,本发明实施例对此不做限定。

5、ila主机2接收到本地组播接收者的mld加入消息时,查询自身记录有对应的(s,g,locator)信息,生成对应的(s,g)表项,并向组播源发送pim加入消息,携带组播源的locator信息作为rpf向量。

ila主机1接收到该pim加入消息时,将接收到该pim加入消息的接口添加到对应的(s,g)表项的出接口,进而,ila主机1的组播流量也可以发送至ila主机2连接的组播接收者r1。

此外,ila主机2还可以通过type=2的mp-bgp消息通知bgppeer本地存在组播组g的组播接收者。

6、ila路由器接收到type=2的mp-bgp消息,通过dci接口发送mld加入消息,以便将non-ila网络的组播流量引入ila网络。

7、当ila路由器从dci接口接收到组播流量时,ila路由器可以生成对应的(s,g)表项(初始状态出接口为空),并发送type=1的mp-bgp消息,携带(s,g,locator)信息。

其中,s为ila路由器从dci接口接收到的组播流量的组播源地址信息,g为该组播流量的组播组地址,locator为ila路由器的locator信息。

8、ila主机1和ila主机2接收到该type=1的mp-bgp消息,记录其中携带的(s,g,locator)信息。

由于ila主机2本地存在组播接收者,ila主机2向ila路由器发送pim加入消息,该pim加入消息携带ila路由器的locator信息作为rpf向量。

ila路由器接收到pim加入消息时,将接收到该pim加入消息的接口添加到对应的(s,g)表项的出接口。

通过以上描述可以看出,在本发明实施例提供的技术方案中,当ila路由器接收到bgp组播源通知消息时,生成(s,g)表项,将dci接口添加到该(s,g)表项的出接口,并根据组播源的locator信息向组播源发送pim加入消息,该pim加入消息携带组播源的locator作为rpf向量,以便ila网络内的组播流量能够达到ila路由器,并由ila路由器通过dci接口发送至non-ila网络;当ila路由器接收到bgp组播接收者通知消息时,通过dci接口发送mld加入消息,以便non-ila网络的组播流量可以通过ila路由器发送至ila网络内的组播接收者,与现有ila网络内的组播实现方案相比,不需要进行ila地址转发,提高了组播流量的转发性能,减少了时延,并实现了ila网络与non-ila网络的组播通信。

请参见图5,为本发明实施例提供的一种组播实现装置的结构示意图,其中,该装置可以应用于上述方法实施例中的ila路由器,如图5所示,该组播实现装置可以包括:

接收单元510,用于接收bgp组播源通知消息以及bgp组播接收者通知消息;

表项维护单元520,用于当所述接收单元510接收到bgp组播源通知消息时,生成对应的(s,g)表项,将数据中心互联dci接口添加到该(s,g)表项的出接口;其中,所述dci接口为所述ila路由器连接外部网络的接口,该bgp组播源通知消息携带有组播源的sir地址信息、组播组地址信息以及组播源的locator信息;

发送单元530,用于根据组播源的位置locator信息向组播源发送协议独立组播pim加入消息;其中,该pim加入消息携带逆向路径转发rpf向量,该rpf向量携带有该组播源的locator信息;

所述发送单元530,还用于当所述接收单元510接收到bgp组播接收者通知消息时,通过所述dci接口发送组播侦听者发现mld加入消息;其中,该mld加入消息中携带有该bgp组播接收者通知消息中携带的组播组地址信息。

在可选实施例中,所述表项维护单元520,还用于当所述接收单元510从所述dci接口接收到非ila网络的组播流量时,生成对应的(s,g)表项;

所述发送单元530,还用于发送bgp组播源通知消息;其中,该bgp组播源通知消息包括该组播流量的组播源地址、组播组地址以及所述ila路由器的locator信息;

所述表项维护单元520,还用于当所述接收单元510接收到pim加入消息时,将接收到该pim加入消息的接口添加到对应的(s,g)表项的出接口。

在可选实施例中,所述发送单元530,还用于当所述接收单元510接收到bgp组播接收者撤销通知消息,且确定所述ila网络中不存在目标组播组的接收者时,通过所述dci接口发送mld离开组done报文;其中,该bgp组播接收者撤销通知消息中携带有该目标组播组地址信息,该mlddone报文中携带有该目标组播组地址信息。

请参见图6,为本发明实施例提供的一种组播实现装置的结构示意图,其中,该装置可以应用于上述方法实施例中的ila主机或leaf交换机,如图6所示,该组播实现装置可以包括:

接收单元610,用于接收组播流量以及mld加入消息;

表项维护单元620,用于当所述接收单元610接收到本地组播源的组播流量时,生成对应的(s,g)表项;

发送单元630,用于发送bgp组播源通知消息;其中,该bgp组播源通知消息携带有组播源的sir地址信息、组播组地址信息以及组播源的位置locator信息;

所述发送单元630,还用于当所述接收单元610接收到组播侦听者发现mld加入消息时,发送bgp组播接收者通知消息;其中,该bgp组播接收者通知消息中携带有该mld加入消息中携带的组播组地址信息。

在可选实施例中,所述表项维护单元620,还用于当所述接收单元610接收到pim加入消息时,将接收到该pim加入消息的接口添加到对应的(s,g)表项的出接口。

请一并参见图7,为本发明实施例提供的另一种组播实现装置的结构示意图,如图7所示,在图6所示组播实现装置的基础上,图7所示组播实现装置还包括:

记录单元640,用于当所述接收单元610接收到bgp组播源通知消息时,记录该bgp组播源通知消息中携带的组播源地址、组播组地址以及组播源的locator信息;其中,该bgp组播源通知消息携带有组播源的地址信息、组播组地址信息以及组播源的locator信息;

所述发送单元630,还用于当本地存在该组播组的接收者时,根据组播源的locator信息向组播源发送pim加入消息;其中,该pim加入消息携带逆向路径转发rpf向量,该rpf向量携带有该组播源的locator信息。

在可选实施例中,所述发送单元630,还用于当所述接收单元接收到本地组播接收者发送的离开消息时,发送bgp组播接收者撤销通知消息;其中,该bgp组播接收者撤销通知消息中携带有组播组地址信息。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,当ila路由器接收到bgp组播源通知消息时,生成(s,g)表项,将dci接口添加到该(s,g)表项的出接口,并根据组播源的locator信息向组播源发送pim加入消息,该pim加入消息携带组播源的locator作为rpf向量,以便ila网络内的组播流量能够达到ila路由器,并由ila路由器通过dci接口发送至non-ila网络;当ila路由器接收到bgp组播接收者通知消息时,通过dci接口发送mld加入消息,以便non-ila网络的组播流量可以通过ila路由器发送至ila网络内的组播接收者,与现有ila网络内的组播实现方案相比,不需要进行ila地址转发,提高了组播流量的转发性能,减少了时延,并实现了ila网络与non-ila网络的组播通信。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1