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

文档序号:23230216发布日期:2020-12-08 15:18阅读:194来源:国知局
一种实现组播的方法和装置与流程

本申请涉及通信技术领域,特别是涉及一种实现组播的方法和装置。



背景技术:

流量在网络中转发时可能会经过多个不同的数据中心(英文:datacenter,简称:dc)。其中,流量通常会从一个dc的边缘设备传输到另一个dc的边缘设备,从而实现跨dc转发。在许多网络中,同一个网络设备会被相邻的两个dc都当做边缘设备来使用,即相邻两个dc的边缘设备被合设成了一个网络设备,该网络设备可以被称为合设设备。但是,若组播源与组播用户之间的传输路径需要通过合设设备实现从一个dc转发到另一个dc,则该组播源无法为该组播用户提供组播服务。



技术实现要素:

基于此,本申请实施例提供了一种实现组播的方法和装置,以使得,位于不同dc的组播源和组播用户经由合设设备进行通信时,该组播源能够为该组播用户提供组播服务。

第一方面,本申请实施例提供了一种在下一代组播虚拟专用网(英文:nextgenerationmulticastvirtualprivatenetwork,简称:ngmvpn)中实现组播的方法,该方法应用于包括第一网络设备、第二网络设备和第三网络设备的网络中,该网络中,第一网络设备是第一dc与第二dc相互通信的边缘设备,第二网络设备是第二dc和第三dc的边缘设备,第三网络设备属于第一dc。该方法具体可以包括:第二网络设备向第一网络设备发送的第一路由,该第一路由携带有第二设备标识和第二as号,其中,第二设备标识指示第二网络设备和第二网络设备对应的第一虚拟专用网(英文:virtualprivatenetwork,简称:vpn)实例,第二as号指示第二dc;该第一网络设备根据第一路由确定第二路由,该第二路由是第一网络设备通过将第一路由中的第二设备标识更新为第一设备标识和将第一路由中的第二as号更新为第一as号确定得到的,其中,第一设备标识指示第一网络设备和第一网络设备对应的第二vpn实例,第一as号指示第一dc;接着,第一网络设备向第三网络设备发送第二路由。可见,通过本申请实施例提供的上述方法,第二网络设备上游的组播源完成路由发布,若第三网络设备的下游有组播用户加入该组播源时,该网络中的第三网络设备可以根据所接收的第二路由,追溯到第一网络设备,同理,第一网络设备也可以根据所接收到的第一路由,追溯到第二网络设备,如此,即可确定出组播源到组播用户的组播路径,使得组播源的流量在该ngmvpn中进行准确的跨dc组播成为了可能,即,位于不同dc的组播源和组播用户经由合设设备进行通信时,该组播源能够为该组播用户提供组播服务。

结合第一方面的一种可能的实现方式,所述第一路由包括第二虚拟路由转发路由入口vrfrouteimport扩展团体属性和第二源自治系统sourceas扩展团体属性,所述第二vrfrouteimport扩展团体属性包括所述第二设备标识,第二sourceas扩展团体属性包括所述第二as号。而且,所述第二路由包括第一vrfrouteimpot扩展团体属性和第一sourceas扩展团体属性,所述第一vrfrouteimpot扩展团体属性包括所述第一设备标识,所述第一sourceas扩展团体属性包括所述第一as号。可见,通过在组播源路由发布时,将设备标识和as号携带在上述两个扩展团体属性,在跨dc的合设设备处通过将两个扩展团体属性中的设备标识和as号替换为自身对应的设备标识和as号,将更新后的两个扩展团体属性携带在路由中继续在网络中发布,为组播源可以在该网络中提供组播服务提供了基础。

可以理解的是,所述第一路由为边缘网关协议bgp的虚拟专用网络vpn路由,具体为bgp协议的vpnv4路由;所述第二路由为bgp的以太网虚拟专用网络evpn路由,具体为bgpevpn协议的ip前缀路由(也称为type5路由)或mac/ip通告路由(也称为type2路由)。需要说明的是,第一路由和第二路由也可以相同,均为bgp的vpn协议或bgp的evpn协议。

其中,所述第二dc和所述第三dc属于同一个域。

结合第一方面的另一种可能的实现方式,从第二网络设备到第一网络设备的建立第一传输路径的过程,以及从第一网络设备到第三网络设备的建立第二传输路径的过程,具体可以包括:所述第一网络设备接收所述第二网络设备发送的第一路径信息并根据所述第一路径信息确定所述第一传输路径;所述第一网络设备向所述第三网络设备发送第二路径信息,所述第二路径信息用于指示所述第三网络设备确定所述第二传输路径。其中,传输路径建立之后,具有对应的路径标识,可以后续在网络节点上建立组播表项时使用。

可以理解的是,所述第一传输路径和所述第二传输路径均为包含运营商组播业务接口i-pmsi隧道。这样,以第一传输路径为例,假设在dc除了第一网络设备和第二网络设备外,还包括第四网络设备,那么,第一传输路径为以第二网络设备为根节点,分别到第一网络设备和第四网络设备的路径。

结合第一方面的再一种可能的实现方式,若第三网络设备的下游有组播用户请求加入第二网络设备上游的组播源时,本申请实施例还可以包括:第一步,第三网络设备向第一网络设备发送的第三路由;在所述第三路由携带所述第一设备标识和所述第一as号;所述第一路由和所述第三路由均用于指示第一组播源;第二步,第一网络设备根据所述第一路由携带的所述第二网络设备标识和所述第二as号确定第一传输路径用于接收所述第一组播源的流量并根据用于接收所述第三路由的第二传输路径确定所述第二传输路径用于发送所述第一组播源的流量;其中,所述第一传输路径是从所述第二网络设备到所述第一网络设备的传输路径,所述第二传输路径是从所述第一网络设备到所述第三网络设备的传输路径;第三步,第一网络设备生成第一组播表项;其中,所述第一组播表项用于指示所述第一网络设备从第一传输路径接收所述第一组播源的流量并通过第二传输路径发送所述第一组播源的流量;第四步,第一网络设备通过将所述第三路由中的所述第一设备标识更新为所述第一路由携带的所述第二设备标识和将所述第三路由中的所述第一as号更新为所述第一路由携带的所述第二as号,确定第四路由;第五步,第一网络设备向所述第二网络设备发送所述第四路由。可以理解的是,所述第三路由和所述第四路由均为边缘网关协议客户组播bgpc-multicast路由。

结合第一方面的又一种可能的实现方式,为了节约网络资源,在第一路由所指示的第一组播源在所述第二网络设备上的组播流量超过流量阈值时,可以切换路径,即,建立从第二网络设备到第一网络设备的第三传输路径,该选择运营商组播业务s-pmsi隧道,并重新在相关网络设备上建立对应的组播表项。其中,本申请实施例还包括:第一网络设备接收所述第二网络设备发送的第三路径信息并根据所述第三路径信息确定所述第三传输路径。其中,若第一路由所指示的第一组播源在所述第二网络设备上的组播流量超过流量阈值,则,在所述第一网络设备生成第二组播表项,其中,所述第二组播表项用于指示所述第一网络设备从第三传输路径接收所述组播源的流量并通过所述第二传输路径发送所述组播源的流量,第三传输路径为从所述第二网络设备到第一网络设备的s-pmsi隧道。

可以理解的是,所述第三传输路径为s-pmsi隧道,假设在dc除了第一网络设备和第二网络设备外,还包括第四网络设备,那么,第三传输路径为从第二网络设备到第一网络设备的路径。在所述第三传输路径建立之后,具有和第一传输路径不同的路径标识,故,需要更新组播表项为后续提供组播服务作准备。

下述实现方式为结合第一方面提供在第三网络设备的上游连接组播源,第二网络设备的下游连接组播用户时,几种可能的实现方式,与上述第一方面的可能的实现方式中提供的在第三网络设备的下游连接组播用户,第二网络设备的上游连接组播源的情况类似,相关效果和细节描述可以参见上述说明。

结合第一方面的一种可能的实现方式,本申请实施例提供的实现组播的方法可以包括:所述第一网络设备接收所述第三网络设备发送的第五路由,其中,所述第五路由携带有第三设备标识和所述第一自治系统as号,其中,所述第三设备标识指示所述第三网络设备和所述第三网络设备对应的第三vpn实例;所述第一网络设备根据所述第五路由确定第六路由,所述第六路由是所述第一网络设备通过将所述第五路由中的所述第三设备标识更新为第四设备标识和将所述第五路由中的所述第一as号更新为所述第二as号确定得到的,其中,所述第四设备标识指示所述第一网络设备和所述第一网络设备对应的第四vpn实例;所述第一网络设备向所述第二网络设备发送所述第六路由。

其中,所述第五路由包括第五虚拟路由转发路由入口vrfrouteimport扩展团体属性和第五源自治系统sourceas扩展团体属性,所述第五vrfrouteimport扩展团体属性包括所述第三设备标识,第五sourceas扩展团体属性包括所述第一as号。所述第六路由包括第六vrfrouteimpot扩展团体属性和第六sourceas扩展团体属性,所述第六vrfrouteimpot扩展团体属性包括所述第四设备标识,所述第六sourceas扩展团体属性包括所述第二as号。

可以理解的是,所述第六路由为bgpevpn路由,所述第五路由为bgp的vpn路由。

结合第一方面的另一种可能的实现方式,本申请实施例还包括:所述第一网络设备接收所述第三网络设备发送的第四路径信息并根据所述第四路径信息确定所述第四传输路径;所述第一网络设备向所述第二网络设备发送第五路径信息,所述第五路径信息用于指示所述第二网络设备确定所述第五传输路径。其中,所述第四传输路径和所述第五传输路径均为包含运营商组播业务接口i-pmsi隧道。

结合第一方面的再一种可能的实现方式,本申请实施例还包括:所述第一网络设备接收所述第二网络设备发送的第七路由;在所述第七路由携带所述第四设备标识和所述第二as号;所述第五路由和所述第七路由用于指示第二组播源;所述第一网络设备根据所述第五路由携带的所述第三设备标识和所述第一as号确定第四传输路径用于接收所述第二组播源的流量并根据用于接收所述第七路由的第五传输路径确定所述第五传输路径用于发送所述第二组播源的流量,其中,所述第四传输路径为从所述第三网络设备到所述第一网络设备的传输路径,所述第五传输路径为从所述第一网络设备到所述第二网络设备的传输路径;所述第一网络设备生成第三组播表项;其中,所述第三组播表项用于指示所述第一网络设备从所述第四传输路径接收所述第二组播源的流量并通过第五传输路径发送所述第二组播源的流量;所述第一网络设备通过将所述第七路由中的所述第四设备标识更新为所述第五路由携带的所述第三设备标识和将所述第七路由中的所述第二as号更新为所述第一路由携带的所述第一as号,确定第八路由;所述第一网络设备向所述第三网络设备发送所述第八路由。其中,所述第七路由和所述第八路由均为边缘网关协议bgpc-multicast路由。

结合第一方面的又一种可能的实现方式,本申请实施例还包括:若所述第五路由所指示的第二组播源在所述第一网络设备上的组播流量超过流量阈值,所述第一网络设备将所述第三组播表项修改成第四组播表项,所述第四组播表项用于指示所述第一网络设备将从所述第四传输路径接收到的流量通过第六传输路径发送,其中,所述第六传输路径为从所述第一网络设备到所述第二网络设备的选择运营商组播业务s-pmsi隧道。其中,所述第一网络设备向所述第二网络设备发送的第六路径信息并根据所述第六路径信息确定所述第六传输路径。

第二方面,本申请实施例还提供了一种实现组播的装置,所述装置应用于下一代组播虚拟专用网ngmvpn中的第一网络设备,包括:接收单元,处理单元和发送单元。

其中,接收单元,用于接收第二网络设备发送的第一路由,其中,第一数据中心dc包括所述第一网络设备,第二dc包括所述第一网络设备和所述第二网络设备,第三dc包括所述第二网络设备,所述第一网络设备是所述第一dc与所述第二dc相互通信的边缘设备,所述第一路由携带有第二设备标识和第二自治系统as号,其中,所述第二设备标识指示所述第二网络设备和所述第二网络设备对应的第一虚拟专用网vpn实例,所述第二as号指示所述第二dc;处理单元,用于根据所述第一路由确定第二路由,所述第二路由是所述第一网络设备通过将所述第一路由中的所述第二设备标识更新为第一设备标识和将所述第一路由中的所述第二as号更新为第一as号确定得到的,其中,所述第一设备标识指示所述第一网络设备和所述第一网络设备对应的第二虚拟专用网vpn实例,所述第一as号指示所述第一dc;发送单元,用于向第三网络设备发送所述第二路由,所述第三网络设备属于所述第一dc。

其中,所述第一路由包括第二虚拟路由转发路由入口vrfrouteimport扩展团体属性和第二源自治系统sourceas扩展团体属性,所述第二vrfrouteimport扩展团体属性包括所述第二设备标识,第二sourceas扩展团体属性包括所述第二as号。所述第二路由包括第一vrfrouteimpot扩展团体属性和第一sourceas扩展团体属性,所述第一vrfrouteimpot扩展团体属性包括所述第一设备标识,所述第一sourceas扩展团体属性包括所述第一as号。

可以理解的是,所述第一路由为边缘网关协议bgp的虚拟专用网络vpn路由,所述第二路由为bgp的以太网虚拟专用网络evpn路由。

作为一个示例,所述第二dc和所述第三dc属于同一个域。

结合第二方面的一种可能的实现方式,该装置中的所述接收单元,还用于接收所述第二网络设备发送的第一路径信息并根据所述第一路径信息确定所述第一传输路径;所述发送单元,还用于向所述第三网络设备发送第二路径信息,所述第二路径信息用于指示所述第三网络设备确定所述第二传输路径。其中,所述第一传输路径和所述第二传输路径均为包含运营商组播业务接口i-pmsi隧道。

结合第二方面的另一种可能的实现方式,该装置中的所述接收单元,还用于接收所述第三网络设备发送的第三路由;在所述第三路由携带所述第一设备标识和所述第一as号;所述第一路由和所述第三路由均用于指示第一组播源;所述处理单元,还用于根据所述第一路由携带的所述第二网络设备标识和所述第二as号确定第一传输路径用于接收所述第一组播源的流量并根据用于接收所述第三路由的第二传输路径确定所述第二传输路径用于发送所述第一组播源的流量;生成第一组播表项;通过将所述第三路由中的所述第一设备标识更新为所述第一路由携带的所述第二设备标识和将所述第三路由中的所述第一as号更新为所述第一路由携带的所述第二as号,确定第四路由;其中,所述第一传输路径是从所述第二网络设备到所述第一网络设备的传输路径,所述第二传输路径是从所述第一网络设备到所述第三网络设备的传输路径;所述第一组播表项用于指示所述第一网络设备从第一传输路径接收所述第一组播源的流量并通过第二传输路径发送所述第一组播源的流量;所述发送单元,还用于向所述第二网络设备发送所述第四路由。其中,所述第三路由和所述第四路由均为边缘网关协议客户组播bgpc-multicast路由。

结合第二方面的再一种可能的实现方式,该装置中的所述处理单元,还用于若所述第一路由所指示的第一组播源在所述第二网络设备上的组播流量超过流量阈值,生成第二组播表项,其中,所述第二组播表项用于指示所述第一网络设备从第三传输路径接收所述组播源的流量并通过所述第二传输路径发送所述组播源的流量,第三传输路径为从所述第二网络设备到第一网络设备的选择运营商组播业务s-pmsi隧道。

结合第二方面的又一种可能的实现方式,该装置中的所述接收单元,还用于接收所述第二网络设备发送的第三路径信息并根据所述第三路径信息确定所述第三传输路径。

结合第二方面的再一种可能的实现方式,该装置中的所述接收单元,还用于接收所述第三网络设备发送的第五路由,其中,所述第五路由携带有第三设备标识和所述第一自治系统as号,其中,所述第三设备标识指示所述第三网络设备和所述第三网络设备对应的第三vpn实例;所述处理单元,还用于根据所述第五路由确定第六路由,所述第六路由是所述第一网络设备通过将所述第五路由中的所述第三设备标识更新为第四设备标识和将所述第五路由中的所述第一as号更新为所述第二as号确定得到的,其中,所述第四设备标识指示所述第一网络设备和所述第一网络设备对应的第四vpn实例;所述发送单元,还用于向所述第二网络设备发送所述第六路由。

其中,所述第五路由包括第五虚拟路由转发路由入口vrfrouteimport扩展团体属性和第五源自治系统sourceas扩展团体属性,所述第五vrfrouteimport扩展团体属性包括所述第三设备标识,第五sourceas扩展团体属性包括所述第一as号。所述第六路由包括第六vrfrouteimpot扩展团体属性和第六sourceas扩展团体属性,所述第六vrfrouteimpot扩展团体属性包括所述第四设备标识,所述第六sourceas扩展团体属性包括所述第二as号。

可以理解的是,所述第六路由为bgpevpn路由,所述第五路由为bgp的vpn路由。

结合第二方面的又一种可能的实现方式,该装置中的所述接收单元,还用于接收所述第三网络设备发送的第四路径信息并根据所述第四路径信息确定所述第四传输路径;所述发送单元,还用于向所述第二网络设备发送第五路径信息,所述第五路径信息用于指示所述第二网络设备确定所述第五传输路径。其中,所述第四传输路径和所述第五传输路径均为包含运营商组播业务接口i-pmsi隧道。

结合第二方面的另一种可能的实现方式,该装置中的所述接收单元,还用于接收所述第二网络设备发送的第七路由;在所述第七路由携带所述第四设备标识和所述第二as号;所述第五路由和所述第七路由用于指示第二组播源;所述处理单元,还用于根据所述第五路由携带的所述第三设备标识和所述第一as号确定第四传输路径用于接收所述第二组播源的流量并根据用于接收所述第七路由的第五传输路径确定所述第五传输路径用于发送所述第二组播源的流量;生成第三组播表项;通过将所述第七路由中的所述第四设备标识更新为所述第五路由携带的所述第三设备标识和将所述第七路由中的所述第二as号更新为所述第一路由携带的所述第一as号,确定第八路由;其中,所述第四传输路径为从所述第三网络设备到所述第一网络设备的传输路径,所述第五传输路径为从所述第一网络设备到所述第二网络设备的传输路径;所述第三组播表项用于指示所述第一网络设备从所述第四传输路径接收所述第二组播源的流量并通过第五传输路径发送所述第二组播源的流量;所述发送单元,还用于向所述第三网络设备发送所述第八路由。其中,所述第七路由和所述第八路由均为边缘网关协议bgpc-multicast路由。

结合第二方面的再一种可能的实现方式,该装置中的所述处理单元,还用于若所述第五路由所指示的第二组播源在所述第一网络设备上的组播流量超过流量阈值,将所述第三组播表项修改成第四组播表项,所述第四组播表项用于指示所述第一网络设备将从所述第四传输路径接收到的流量通过第六传输路径发送,其中,所述第六传输路径为从所述第一网络设备到所述第二网络设备的选择运营商组播业务s-pmsi隧道。

结合第二方面的又一种可能的实现方式,该装置中的所述发送单元,还用于向所述第二网络设备发送的第六路径信息并根据所述第六路径信息确定所述第六传输路径。

可以理解的是,第二方面提供的装置对应于第一方面提供的方法,故第二方面各实现方式以及达到的技术效果可参见第一方面各实现方式的相关描述。

第三方面,本申请实施例还提供了一种网络设备,该网络设备包括处理器和存储器,所述存储器存储有指令,当处理器执行该指令时,使得该网络设备执行前述第一方面任意一种实现方式所述的方法。

第四方面,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行前述第一方面任意一种实现方式所述的方法。

第五方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得该计算机或处理器执行前述第一方面任意一种实现方式所述的方法。

附图说明

图1为本申请实施例中一场景所涉及的网络的框架示意图;

图2为本申请实施例中一种实现组播的方法的信令流程图;

图3为本申请实施例中另一种实现组播的方法的信令流程图;

图4为本申请实施例中一种创建隧道的方法的流程示意图;

图5为本申请实施例中一种实现组播的方法的流程示意图;

图6为本申请实施例中另一种实现组播的方法的流程示意图;

图7为本申请实施例中再一种实现组播的方法的流程示意图;

图8为本申请实施例中又一种实现组播的方法的流程示意图;

图9为本申请实施例中一种实现组播的装置的结构示意图;

图10为本申请实施例中一种网络设备的结构示意图。

具体实施方式

流量在网络中转发时可能会经过多个不同的dc。例如,在数据中心互联(英文:datacenterinterconnection,简称:dci)的场景中,一个数据中心(英文:datacenter,简称:dc)内部的流量可以通过运营商骨干网发送到另一个dc内部。通常,流量在跨dc转发时是从一个dc上的网关设备传输到另一个dc上的网关设备。例如,一个dc内部的流量由该dc的网关设备向运营商骨干网上的一个运营商边缘(英文:provideredge,简称:pe)设备发送,然后由该pe设备在该运营商骨干网中向另一个pe设备发送,再由该另一个pe设备向另一个dc的网关设备发送,从而被转发到另一个dc内部。

而在许多网络中,同一个网络设备会被相邻的两个dc都当作边缘设备来使用,即相邻两个dc的边缘设备被合设成了一个网络设备,这个网络设备可以被称为合设设备。例如,运营商骨干网上的一个pe设备可以被合设到一个dc的网关设备上,即该dc的网关设备既被用作该dc的网关设备,又被用作该运营商骨干网上的一个pe设备。

图1示出了一种网络的结构示意图。该网络中包括三个域:dc1、运营商骨干网和dc2,其中,运营商骨干网对应的自治系统(英文:autonomoussystem,简称:as)号为100,dc1对应的as号为200,dc2对应的as号为300。而且,dc1和运营商骨干网具有合设设备dc-gw1,dc2和运营商骨干网具有合设设备dc-gw2。需要说明的是,该dc-gw1为运营商骨干网上的一个pe设备被合设到dc1的网关设备上形成的一个合设设备,同时作为运营商骨干网和dc1共用的边缘设备;同理,该dc-gw2为运营商骨干网上的一个pe设备被合设到dc2的网关设备上形成的一个合设设备,同时作为运营商骨干网和dc2共用的边缘设备。

其中,若dc1为虚拟扩展局域网(英文:virtualextensiblelan,简称:vxlan)网络,则dc1中可以包括:dc-gw1、叶子节点leaf1、叶子节点leaf2和骨干节点spine1,其中,dc-gw1的标识为1.1.1.1,leaf1的标识为2.2.2.2,leaf2的标识为3.3.3.3,且leaf1连接用户host-1,leaf2连接服务器server-2;运营商骨干网中包括:dc-gw1、dc-gw2、中间节点p3和运营商边缘设备pe1,其中,dc-gw2的标识为4.4.4.4,pe1连接服务器server-1;若dc2也为vxlan网络,则dc2中可以包括:dc-gw2、叶子节点leaf3、叶子节点leaf4和骨干节点spine3,其中,leaf3的标识为5.5.5.5,leaf4的标识为6.6.6.6,且leaf4连接用户host-2,leaf3连接服务器server-3。需要说明的是,各个边缘设备均可以连接用户或者服务器,图1示出的仅是一个场景。

通常,以图1所示的网络为例,若服务器server-3为组播源,其路由发布过程包括:dc2中的leaf3生成携带leaf3对应扩展团体属性的路由信息;leaf3将该bgp路由发送给dc-gw2;dc-gw2对该路由信息不加处理直接转发到dc-gw1;dc-gw1也对该路由信息不加处理直接转发至leaf1。但是,当leaf1的下游有组播用户想要加入组播源server-3时,由于leaf1属于dc1且dc1中的边缘设备只能识别到本dc内的其他边缘设备,故,根据接收到路由信息中携带的leaf3对应扩展团体属性,该leaf1根本无法追溯到dc2中的dc-gw2或leaf3,这样,无法确定出组播源到组播用户的组播路径,从而无法为组播用户提供组播服务。

基于此,在本申请实施例中,在跨dc的合设设备中处进行路由更新,例如,在合设设备dc-gw2上,将从dc2的边缘设备leaf3接收到的路由中携带的leaf3对应的设备标识和as号,分别替换为该dc-gw2对应的设备标识和as号,再将更新后的路由发送给该dc-gw1的所属的运营商骨干网的边缘设备dc-gw1;在合设设备dc-gw1上,将从运营商骨干网的边缘设备dc-gw2接收到的路由中携带的dc-gw2对应的设备标识和as号,分别替换为该dc-gw1对应的设备标识和as号,再将更新后的路由发送给该dc-gw1的所属的dc1的边缘设备leaf1。这样,若leaf1的下游有组播用户加入该组播源时,该网络中的leaf1可以根据所接收的路由信息,追溯到leaf3,也就是说,网络设备可以根据接收到的路由确定出组播源到组播用户的组播路径,从而组播源即可将组播流量转发至对应的组播用户,为组播用户提供组播服务。

需要说明的是,上述图1所示的网络架构仅是适用本申请实施例的一个场景示例,本申请实施例并不限于此场景。

可以理解的是,组播源在进行组播之前,一方面,组播源需要发布私网路由,即,将自己的地址发送给该网络中的所有网络设备,告知各网络设备该组播源在网络中的具体位置,以便网络中各网络设备可以精确的定位该组播源;另一方面,组播源在完成私网路由发布之后,若有组播用户请求接入该组播源,则,需要在组播流量的传输路径所经过的网络设备上建立对应的组播表项,以便后续组播源的流量可以准确的发送到对应的组播用户,实现组播源准确的为接入的组播用户提供组播服务的功能。

下面结合附图,对本申请实施例提供的实现组播的方法进行说明。

以图1所示的网络为场景,结合附图2,对组播源发布私网路由的过程进行说明。

假设组播源为server-3,以其向dc1域内的leaf1发布路由的过程为例,其发布私网路由的过程可以参见图2所示的流程示意图。该过程具体可以包括下述步骤201~步骤211:

步骤201,server-3向leaf3发送的该server-3的地址。

步骤202,leaf3接收并保存server-3发送的该server-3的地址。

步骤203,leaf3基于该server-3的地址生成路由1。

可以理解的是,该路由1中携带虚拟路由转发路由入口vrfrouteimport扩展团体属性和自治系统sourceas扩展团体属性,这两个扩展团体属性的具体说明可以参考因特网工程任务组(英文:internetengineeringtaskforce,简称:ietf)请求注解(英文:requestforcomments,简称:rfc)6513和rfc6514的说明,所述rfc6513和rfc6514以全文引用的方式并入本申请中。其中,该vrfrouteimport扩展团体属性(即,后续实施例中的设备标识),用于表示生成和发送该路由的网络设备,让接收到该路由的下一跳设备确定出该路由的来源;sourceas扩展团体属性(即,后续实施例中的as号),用于标识该网络设备所述的as域。例如:上述两个扩展团体属性可以被携带在路由中的网络层可达信息(英文:networklayerreachabilityinformation,简称:nlri)字段中。

路由1的vrfrouteimport扩展团体属性包括设备标识1,用于指示leaf3的标识和该leaf3对应的vpn实例;路由1中的sourceas扩展团体属性包括as号。在图1所示的网络中,设备标识1可以是5.5.5.5:123,其中,5.5.5.5为该leaf3的标识,123为该leaf3为该server-3配置的vpn实例标识,as号可以是300,300为该leaf3所属的as域对应的as号。

步骤204,leaf3通过dc2向dc-gw2发送该路由1。

步骤205,dc-gw2接收并保存leaf3发送的该路由1。

步骤206,dc-gw2根据路由1确定路由2。

具体实现时,dc-gw2具体可以将该路由1中的vrfrouteimport扩展团体属性和sourceas扩展团体属性进行更新,得到路由2,更新的过程包括:将设备标识1替换为设备标识2,替为as号。具体而言,一方面,将设备标识1中leaf3的标识5.5.5.5替换为设备标识2中dc-gw2的标识4.4.4.4,将设备标识1中leaf3对应的vpn实例123替换为设备标识2中dc-gw2为该server-3配置的vpn实例标识234;另一方面,将as号300替换为该dc-gw2所属的另一as域对应的as号100。

步骤207,dc-gw2通过运营商骨干网向dc-gw1发送该路由2。

步骤208,dc-gw1接收并保存dc-gw2发送的该路由2。

步骤209,dc-gw2根据路由2确定路由3。

具体实现时,该dc-gw1具体可以将该路由2中的vrfrouteimport扩展团体属性和sourceas扩展团体属性进行更新,得到路由3,更新的过程包括:将设备标识2替换为设备标识3,替为as号。具体而言,一方面,将设备标识2中dc-gw2的标识4.4.4.4替换为设备标识3中dc-gw1的标识1.1.1.1,将设备标识2中dc-gw2对应的vpn实例234替换为设备标识2中dc-gw1为该server-3配置的vpn实例标识567;另一方面,将as号100替换为该dc-gw1所属的另一as域对应的as号200。

步骤210,dc-gw1通过dc1向leaf1发送该路由3。

步骤211,leaf1接收并保存dc-gw1发送的该路由3。

其中,路由1为组播源server-3在dc-gw2上保存的路由,路由2为组播源server-3在dc-gw1上保存的路由,路由3为组播源server-3在leaf1上保存的路由。路由1~路由3均可以指示组播源server-3。

需要说明的是,路由1~路由3可以是适用于对应域的bgp的各类vpn协议的路由,三个路由可以相同,也可以不同。例如:路由1和路由3可以是bgp的evpn路由,具体为bgpevpn协议的ip前缀路由(也称为type5路由)或mac/ip通告路由(也称为type2路由),路由2可以是bgp的vpn协议,具体为bgp协议的vpnv4路由;又例如:路由1~路由3可以均为bgp的vpn协议;再例如:路由1~路由3也可以均为bgp的evpn协议。其中,bgpevpn协议的ip前缀路由(也称为type5路由)或mac/ip通告路由的详细说明可以参见rfc7432的说明,所述rfc7432以全文引用的方式并入本申请中。

需要说明的是,上述仅是以组播源server-3向leaf1发布私网路由的相关说明,srrver-3向其他网络设备发布私网路由的过程、以及其他组播源向网络中的网络设备发布私网路由的过程,均可以参照上述图2对应的实施例提供的方法的相关描述,在此不再赘述。

可见,通过本申请实施例提供的上述方法,leaf3上游的组播源完成路由发布,即,在合设设备dc-gw1和dc-gw2上分别进行路由更新后,将更新的路由向下游发布,这样,若leaf1的下游有组播用户加入该组播源时,该网络中的各网络设备可以根据所接收的路由,追溯到上游的网络设备,即,可以确定出组播源到组播用户的组播路径,使得组播源的流量在该ngmvpn中进行准确的跨dc组播成为了可能。

下面以图1所示的网络为场景,结合附图,对组播用户请求接入组播源以及各网络设备建立组播表项的过程进行说明。

以图1所示的网络中组播用户host-1请求加入组播源server-3的过程为例,在图2对应的实施例之后,该host-1请求加入server-3并建立组播表项的过程可以参见图3所示的流程示意图。该过程具体可以包括下述步骤301~步骤313:

步骤301,host-1向leaf1发送加入请求消息。

可以理解的是,该加入请求消息中携带组播源的地址,例如:server-3的地址,用于指示组播源server-3。

步骤302,leaf1根据组播源的地址,查找到该leaf1上保存的与该组播源对应的路由3。

步骤303,leaf1根据该路由3确定应该向dc-gw1请求加入组播成员host-1,并建立组播表项1。

具体实现时,该leaf1根据路由3可以确定通过dc-gw1到leaf1的隧道接收组播流量,而且,还可以确定通过leaf1到host-1之间的路径发送组播流量;从而,该leaf1根据路由3可以建立组播表项1。

其中,组播表项至少包括:组播源server-3地址、组播用户host-1地址、上游接口和下游接口,组播表项1中的上游接口的标识具体为:dc-gw1到leaf1的隧道的标识,下游接口的标识具体为:leaf1上连接host-1的接口的标识。

需要说明的是,本申请实施例中提及的隧道以及隧道的标识的相关描述,可以参见下述图4对应的实施例的相关描述,在此不再赘述。

步骤304,leaf1向dc-gw1发送bgpc-multicast路由1。

可以理解的是,bgpc-multicast路由1中,可以携带组播源的地址和组播成员的地址,例如:server-3的地址和host-1的地址,用于请求加入组播成员host-1到server-3,并触发dc-gw1建立对应的组播表项2。而且,bgpc-multicast路由1中携带设备标识3和as号,其中,设备标识3包括dc-gw1的标识、dc-gw1为server-3配置的vpn实例标识,as号为200。bgpc-multicast路由的具体说明可以参考rfc6513的说明,所述rfc6513以全文引用的方式并入本申请中。

需要说明的是,bgpc-multicast路由1具体可以是由一个网络设备通过广播的形式向该网络设备的邻居设备发送的,其中,该bgpc-multicast路由1中至少携带组播源的地址、设备标识3和as号,那么,接收到该bgpc-multicast路由1后,各邻居设备查看该bgpc-multicast路由1中携带的设备标识3是否与自己匹配,如果是,该邻居设备对该bgpc-multicast路由1进行处理;如果不匹配,则丢弃该bgpc-multicast路由1,不作处理。例如:该leaf1向dc-gw1发送bgpc-multicast路由1,具体可以包括:该leaf1向dc-gw1、leaf2等邻居设备广播bgpc-multicast路由1,该bgpc-multicast路由1中携带dc-gw1的标识,那么,收到该bgpc-multicast路由1的网络设备中,只有dc-gw1对该bgpc-multicast路由1进行处理,即,dc-gw1建立组播表项2,并向dc-gw2发送bgpc-multicast路由2。

步骤305,dc-gw1根据所接收到的bgpc-multicast路由1中的组播源的地址,查找到该dc-gw1上保存的与该组播源对应的路由2。

步骤306,dc-gw1根据该路由2确定应该向dc-gw2请求加入组播成员host-1,并建立组播表项2。

具体实现时,该dc-gw1根据路由2可以确定通过dc-gw2到dc-gw1的隧道接收组播流量,而且,还可以确定通过dc-gw1到leaf1的隧道发送组播流量;从而,该dc-gw1根据路由2可以建立组播表项2。

其中,组播表项2中的上游接口的标识具体为:dc-gw2到dc-gw1的隧道的标识,下游接口的标识具体为:dc-gw1到leaf1的隧道的标识。

步骤307,dc-gw1向dc-gw2发送的bgpc-multicast路由2。

步骤308,dc-gw2根据所接收到的bgpc-multicast路由2中的组播源的地址,查找到该dc-gw2上保存的与该组播源对应的路由1。

步骤309,dc-gw2根据该路由1确定应该向leaf3请求加入组播成员host-1,并建立组播表项3。

可以理解的是,该bgpc-multicast路由2中至少携带组播源的地址、设备标识2和as号。例如:该dc-gw1向dc-gw2发送bgpc-multicast路由2,具体可以包括:该dc-gw1向dc-gw2、pe1等邻居设备广播bgpc-multicast路由2,该bgpc-multicast路由2中携带dc-gw2的标识,那么,收到该bgpc-multicast路由2的网络设备中,只有dc-gw2对该bgpc-multicast路由2进行处理,即,dc-gw2建立组播表项3,并向leaf3发送bgpc-multicast路由3。

具体实现时,该dc-gw2根据路由1可以确定通过leaf3到dc-gw2的隧道接收组播流量,而且,还可以确定通过dc-gw2到dc-gw1的隧道发送组播流量;从而,该dc-gw2根据路由1可以建立组播表项3。

其中,组播表项3中的上游接口的标识具体为:leaf3到dc-gw2的隧道的标识,下游接口的标识具体为:dc-gw2到dc-gw1的隧道的标识。

步骤310,dc-gw2向leaf3发送bgpc-multicast路由3。

步骤311,leaf3根据所接收到的bgpc-multicast路由3中的组播源的地址,查找到该leaf3上保存的与该组播源对应的组播源地址。

步骤312,leaf3根据该组播源地址确定应该向server-3请求加入组播成员host-1,并建立组播表项4。

可以理解的是,该bgpc-multicast路由3中至少携带组播源的地址、设备标识1和as号。例如:该dc-gw2向leaf3发送bgpc-multicast路由3,具体可以包括:该dc-gw2向leaf3、leaf4等邻居设备广播bgpc-multicast路由3,该bgpc-multicast路由3中携带leaf3的标识,那么,收到该bgpc-multicast路由3的网络设备中,只有leaf3对该bgpc-multicast路由3进行处理,即,leaf3建立组播表项4,并向server-3发送加入请求消息。

具体实现时,该leaf3可以确定通过server-3到leaf3之间的路径接收组播流量,而且,还可以确定通过leaf3到dc-gw1的隧道发送组播流量;从而,该leaf3还可以建立组播表项4。

其中,组播表项4中的上游接口的标识具体为:leaf3上连接server-3的接口的标识,组播表项1中的下游接口的标识具体为:leaf3到dc-gw2的隧道的标识。

步骤313,leaf3向server-3发送加入请求消息。

可以理解的是,该加入请求消息中携带请求加入的组播用户的地址,例如:host-1的地址,用于指示是组播用户host-1请求加入组播源server-3。

如此,组播用户host-1加入了server-3,成为了server-3提供组播服务的对象,而且,在组播源server-3到组播用户host-1的组播路径上的各边缘设备上建立了对应的组播表项,确保组播源server-3提供的组播流量可以准确的被组播用户host-1接收到。

需要说明的是,其他任意的组播用户加入组播源的请求以及在组播流量的传输路径可能经过的网络设备上建立对应的组播表项的过程,均可以参照上述图3对应的实施例提供的方法,在此不再赘述。

可见,本申请实施例提供的上述方法,通过在发布路由时更新路由信息,并且基于更新后的路由信息建立组播表项,确保从组播源发出的组播流量可以准确的转发至已经加入该组播源的组播用户,从而确保可以为组播用户提供组播服务。

对于本申请实施例中提及的隧道的建立过程,可以以图1所示的网络中dc-gw2到dc-gw1的包含运营商组播业务接口(英文:inclusive-providermulticastserviceinterface,简称:i-pmsi)隧道的建立过程为例进行说明。

具体实现时,若dc-gw2要建立到dc-gw1的i-pmsi隧道,具体建立过程可以参见图4所示的流程示意图,可以包括:

步骤401,dc-gw2分别向dc-gw1和pe1发送as域内包含运营商组播业务接口自动发现intra-asi-pmsia-d路由。

可以理解的是,dc-gw1和dc-gw2共同属于的运营商骨干网域内包括3个边缘设备,那么,步骤401具体为:dc-gw2分别向该域内其他的两个边缘设备dc-gw1和pe1发送intra-asi-pmsia-d路由。该intra-asi-pmsia-d路由中包括:待建立隧道的路径信息,该待建立隧道的路径信息包括该dc-gw2的标识和待建立隧道的标识。

需要说明的是,对于合设设备dc-gw1和dc-gw2,在建立隧道前,可以识别待建立隧道所属的域,根据所属域的不同,在intra-asi-pmsia-d路由中携带不同的路径信息,如此,可以在不同的域建立该域适用的对应隧道。例如:对于dc-gw2,若建立dc-gw2到dc-gw1的隧道,则,在intra-asi-pmsia-d路由中携带运营商骨干网中隧道的路径信息,若建立leaf3到dc-gw2的隧道,则在intra-asi-pmsia-d路由中携带dc2中隧道的路径信息,如此,在不同的域即可建立不同类型的隧道。

步骤402,dc-gw1和pe1分别向dc-gw2发送intra-asi-pmsia-d路由。

可以理解的是,该intra-asi-pmsia-d路由中不包括待建立隧道的标识。

若采用标签分发协议(英文:labeldistributionprotocol,简称:ldp)的方式建立隧道,那么,在步骤402之后,可以通过下述步骤403a完成隧道的建立;若采用流量工程(英文:trafficengineering,简称:te)的方式建立隧道,那么,在步骤402之后,还可以通过下述步骤403b~404b完成隧道的建立:

步骤403a,dc-gw1和pe1分别沿传输路径向dc-gw2发送mapping消息,建立以dc-gw2为根节点的隧道。

可以理解的是,由于该mapping消息用于为隧道的各条节点分配标签,并将标签依次记录下来,随着mapping消息逐跳转发至dc-gw2,故,该dc-gw2上具有dc-gw2到dc-gw1以及dc-gw2到pe1的隧道的标签栈,用于组播流量在该两条隧道中的转发。

步骤403b,dc-gw2分别向dc-gw1和pe1发送path消息。

步骤404b,dc-gw1和pe1分别向dc-gw2发送resv消息。

可以理解的是,path消息和resv消息用于为dc-gw2到dc-gw1以及dc-gw2到pe1建立隧道。

可见,通过上述步骤401、步骤402和步骤403a,或者,通过上述步骤402、步骤402、步骤403b和步骤404b,均可以建立dc-gw2到dc-gw1以及dc-gw2到pe1的隧道。

需要说明的是,上述dc-gw2到dc-gw1隧道的标识以及dc-gw2到pe1隧道的标识一致,而且该隧道的标识可以作为上述图3对应实施例中组播表项2的上游接口的标识或者组播表项3的下游接口的标识。

需要说明的是,图1示出的网络中,leaf3到dc-gw2的隧道、dc-gw1到leaf1的隧道,或者,其他场景下网络中的隧道,均可以参见上述图4对应的实施例进行建立,在此不再赘述。

需要说明的是,建立隧道的类型可以根据需要以及具体的网络支持的协议确定,例如:leaf3到dc-gw2的隧道、dc-gw1到leaf1的隧道,均可以是虚拟扩展局域网(英文:virtualextensiblelan,简称:vxlan)协议的协议无关组播-稀疏模式(英文:protocolindependentmulticast-sparsemode,简称:pim-sm)隧道,dc-gw2到dc-gw1的隧道,可以是ldp多点扩展(英文:multipointextensionsforldp简称:mldp)的点到多点(英文:point2multiplepoint,简称:p2mp)隧道。

需要说明的是,图4所示的实施例,可以是在图2所示的实施例之前执行的,也可以是与图2所示的实施例同时执行的,在此不做具体限定。

可以理解的是,以图4示出的方式建立的隧道为i-pmsi隧道,即,建立以一个边缘设备为根节点,到该域中其他所有边缘设备的隧道。那么,组播流量在i-pmsi隧道中实现组播,经过某边缘设备时,该边缘设备按照其上建立的组播表项中下游接口指示的隧道标识,组播流量会以该边缘设备为根节点,被发送到该域中除了该根节点之外的其他所有边缘设备(也记作叶子节点)中。而除了根节点之外的其他所有边缘设备中,有些边缘设备的下游并没有接入组播用户,会直接将接收到的组播流量丢弃,只有可以到达组播用户的边缘设备会将接收到的组播流量继续转发。例如:组播源server-3的组播流量到达dc-gw2时,dc-gw2会将该组播流量发送至dc-gw1和pe1,dc-gw1将该组播流量转发至组播用户host-1,而pe1直接将该组播流量丢弃。这样,可能导致该网络中网络资源的浪费。

为了节约网络资源,本申请实施例还包括:针对边缘设备(尤其是dc和运营商骨干网之间的边缘设备,例如:dc-gw2)上建立类型为选择运营商组播业务接口(英文:selective-providermulticastserviceinterface,简称:s-pmsi)的隧道,以及在相关的边缘设备上生成该s-pmsi隧道对应的组播表项。可以理解的是,s-pmsi隧道,是指只将域内除根节点之外的其他边缘设备中,下游有已加入组播用户的边缘设备作为叶子节点,建立的根节点到叶子节点的隧道。

以图1所示的网络为场景,在组播过程中,假设运营商骨干网中使用的隧道为i-pmsi隧道,即,server-3发出的组播流量经过dc-gw2时,根据dc-gw2上生成的组播表项3,该组播流量被同时转发至dc-gw1和pe1。但是,当组播源server-3在dc-gw2上的组播流量超过了流量阈值,此时,本申请实施例还提供了切换隧道的方法,具体可以是:将运营商骨干网中使用的i-pmsi隧道切换为s-pmsi隧道。切换隧道的过程具体可以包括:第一步,建立s-pmsi隧道;第二步,更新对应边缘设备上的组播表项。

假设组播源server-3在dc-gw2上的组播流量超过了流量阈值,则,对于第一步,该dc-gw2建立到dc-gw1的s-pmsi隧道,具体过程可以包括:s11,dc-gw2向dc-gw1发送intra-ass-pmsia-d路由,该intra-ass-pmsia-d路由中包括:待建立隧道的路径信息,该路径信息包括待建立隧道的标识;s12,dc-gw1向dc-gw2发送intra-ass-pmsia-d路由,该intra-ass-pmsia-d路由中不包括待建立隧道的标识;s13a,dc-gw1沿传输路径向dc-gw2发送mapping消息,建立以dc-gw2到dc-gw1的隧道;或者,s13b,dc-gw2向dc-gw1发送path消息,s14b,dc-gw1向dc-gw2发送resv消息。其中,上述建立隧道的过程具体可以参见图4中建立dc-gw2到dc-gw1的隧道的相关描述。

可以理解的是,当通过s11、s12和s13a,或者通过s11、s12、s13b和s14b建立了dc-gw2到dc-gw1的s-pmsi隧道后,上述dc-gw2到dc-gw1隧道的标识与图4对应实施例建立的dc-gw2到dc-gw1的i-pmsi隧道的隧道标识不一致,那么,在组播过程中节约网络资源,本申请实施例还可以将相关组播表中的i-pmsl隧道的隧道标识替换为对应的s-pmsi隧道的隧道标识。即,对于第二步,以图1对应的网络为例:可以将上述图3对应实施例中,组播表项2的上游接口的标识以及组播表项3的下游接口的标识中dc-gw2到dc-gw1的i-pmsi隧道的隧道标识进行更新,替换为dc-gw2到dc-gw1的s-pmsi隧道的隧道标识,这样,组播源server-3的组播流量到达dc-gw2时,dc-gw2只将该组播流量发送至dc-gw1,dc-gw1将该组播流量转发至组播用户host-1,而不会将组播流量发送给不可能到达组播用户hoat-1的pe1。这样,以本实施例更新的组播表项进行组播时,可以节约网络资源。

图5为本申请实施例中一种实现组播的方法的流程示意图。参见图5,该方法具体可以包括下述步骤501~步骤503:

步骤501,第一网络设备接收第二网络设备发送的第一路由,其中,第一dc包括该第一网络设备,第二dc包括第一网络设备和第二网络设备,第三dc包括第二网络设备,该第一网络设备是第一dc与第二dc相互通信的边缘设备,第一路由携带有第二设备标识和第二自治系统as号,其中,该第二设备标识指示第二网络设备和该第二网络设备对应的第一vpn实例,第二as号指示第二dc。

其中,第一路由可以包括第二虚拟路由转发路由入口vrfrouteimport扩展团体属性和第二源自治系统sourceas扩展团体属性。其中,第二vrfrouteimport扩展团体属性包括第二设备标识,第二sourceas扩展团体属性包括第二as号。

其中,第二dc和第三dc可以属于同一个域。

与上述以图1中网络为场景的实施例进行对应,一种情况下,第一网络设备可以对应于dc-gw2,那么,第二网络设备即为leaf3,第三网络设备可以为pe1或者dc-gw1。该情况下,第一dc对应运营商骨干网,可以属于as号为100对应的as域;第二dc对应dc2,可以属于as号为300的as域;第三dc可以和第二dc同属于as号为300的as域,或者,也可以对应与第二dc不同的as域。第二设备标识携带于第二vrfrouteimport扩展团体属性,具体可以是5.5.5.5:123,第二as号携带于第二sourceas扩展团体属性,可以是300,其中5.5.5.5:123中的5.5.5.5为第二网络设备leaf3的标识,用于指示该leaf3;123为第二网络设备leaf3对应的第一vpn示例。

与上述以图1中网络为场景的实施例进行对应,另一种情况下,第一网络设备可以对应于dc-gw1,那么,第二网络设备即为dc-gw2或pe1,第三网络设备可以为leaf1或者leaf2。该情况下,第一dc对应dc1,可以属于as号为200对应的as域;第二dc对应运营商骨干网,可以属于as号为100的as域;第三dc可以和第二dc同属于as号为100的as域,或者,第三dc也可以对应dc2,属于as号为300的as域。若第二网络设备为dc-gw2,则,第二设备标识携带于第二vrfrouteimport扩展团体属性,具体可以是4.4.4.4:234,第二as号携带于第二sourceas扩展团体属性,可以是100,其中4.4.4.4:234中的4.4.4.4为第二网络设备dc-gw2的标识,用于指示该dc-gw2;234为第二网络设备dc-gw2对应的第一vpn示例。

需要说明的是,步骤501的相关描述及实现方式可以参见上述图2对应实施例中步骤205或步骤208的相关描述。

步骤502,第一网络设备根据所述第一路由确定第二路由,该第二路由是第一网络设备通过将第一路由中的第二设备标识更新为第一设备标识和将第一路由中的第二as号更新为第一as号确定得到的,第一设备标识指示第一网络设备和该第一网络设备对应的第二vpn实例,第一as号指示第一dc。

其中,第二路由包括第一vrfrouteimpot扩展团体属性和第一sourceas扩展团体属性,所述第一vrfrouteimpot扩展团体属性包括所述第一设备标识,所述第一sourceas扩展团体属性包括所述第一as号。

其中,第一路由可以是bgpvpn路由,第二路由可以是bgpevpn路由。具体而言,第二路由可以为bgpevpn协议的ip前缀路由或mac/ip通告路由,第一路由可以为bgp协议的vpnv4路由。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw2,那么,第二网络设备即为leaf3,第三网络设备可以为pe1或者dc-gw1。该情况下,第一dc对应运营商骨干网,可以属于as号为100对应的as域,第一设备标识携带于第一vrfrouteimport扩展团体属性,具体可以是4.4.4.4:234,第一as号携带于第一sourceas扩展团体属性,可以是100,其中4.4.4.4:234中的4.4.4.4为第一网络设备dc-gw2的标识,用于指示该dc-gw2;234为第二网络设备dc-gw2对应的第二vpn示例。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw1,那么,第二网络设备即为dc-gw2或pe1,第三网络设备可以为leaf1或者leaf2。该情况下,第一dc对应dc1,可以属于as号为200对应的as域,第一设备标识具体可以是1.1.1.1:567,第一as号可以是200,其中1.1.1.1:567中的1.1.1.1为第一网络设备dc-gw1的标识,用于指示该dc-gw1;567为第一网络设备dc-gw1对应的第二vpn示例。

需要说明的是,步骤502的相关描述及实现方式可以参见上述图2对应实施例中步骤206或步骤209的相关描述。

步骤503,第一网络设备向第三网络设备发送第二路由,该第三网络设备属于第一dc。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw2,那么,第二网络设备即为leaf3,第三网络设备可以为pe1或者dc-gw1,第一dc对应运营商骨干网,可以属于as号为100对应的as域。该情况下,dc-gw2向pe1或者dc-gw1发送包括:第一设备标识4.4.4.4:234和第一as号100的第二路由。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw1,那么,第二网络设备即为dc-gw2或pe1,第三网络设备可以为leaf1或者leaf2,第一dc对应dc1,可以属于as号为200对应的as域。该情况下,dc-gw1向leaf1或者leaf2发送包括:第一设备标识1.1.1.1:567和第一as号200的第二路由。

需要说明的是,步骤503的相关描述及实现方式可以参见上述图2对应实施例中步骤207或步骤210的相关描述。

在一些实现方式中,本申请实施例中提供的实现组播的方法中,在执行上述步骤501~步骤503的过程中或者之前,还可以包括在各个域建立隧道的过程:s21,第一网络设备接收第二网络设备发送的第一路径信息并根据该第一路径信息确定第一传输路径;s22,第一网络设备向第三网络设备发送第二路径信息,该第二路径信息用于指示所述第三网络设备确定所述第二传输路径。

其中,第一传输路径即为根据第一路径信息,建立的第二网络设备到第一网络设备的隧道;第二传输路径为根据第二路径信息,建立的第一网络设备到第三网络设备的隧道。该两个隧道可以为i-pmsi隧道。

与上述以图1中网络为场景的实施例进行对应,在第一网络设备对应于dc-gw2时,第一传输路径可以是指leaf3到dc-gw2的隧道、第二传输路径可以是指dc-gw2到dc-gw1的隧道。该情况下,第一传输路径可以是vxlan协议的pim-sm隧道,第二传输路径可以是mldp的p2mp隧道。

与上述以图1中网络为场景的实施例进行对应,在第一网络设备对应于dc-gw1时,第一传输路径可以是指dc-gw2到dc-gw1的隧道、第二传输路径可以是指dc-gw1到leaf1的隧道。该情况下,第一传输路径可以是mldp的p2mp隧道,第二传输路径可以是vxlan协议的pim-sm隧道。

需要说明的是,s21或s22的相关描述及实现方式,可以参见上述图4对应实施例中的相关描述,采用ldp或te的方式建立第一传输路径和第二传输路径。

可见,通过本申请实施例提供的上述方法,第二网络设备上游的组播源完成路由发布,若第三网络设备的下游有组播用户加入该组播源时,该网络中的第三网络设备可以根据所接收的第二路由,追溯到第一网络设备,同理,第一网络设备也可以根据所接收到的第一路由,追溯到第二网络设备,如此,即可确定出组播源到组播用户的组播路径,使得组播源的流量在该ngmvpn中进行准确的跨dc组播成为了可能,即,实现了组播用户与组播源不在同一dc且组播过程通过两个dc的合设设备的情况下,为组播用户提供组播服务。

图6为本申请实施例提供的另一种实现组播的方法的流程示意图。该方法不仅包括图5对应的私网路由的发布过程,而且,还包括对组播用户请求接入组播源以及各网络设备建立组播表项的过程。参见图6,该方法在步骤503之后,还包括下述步骤601~步骤605:

步骤601,第一网络设备接收第三网络设备发送的第三路由;在该第三路由携带第一设备标识和第一as号;第一路由和该第三路由均用于指示第一组播源。

可以理解的是,该第三路由可以是bgpc-multicast路由。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw2,那么,第二网络设备即为leaf3,第三网络设备可以为dc-gw1。该情况下,第三路由可以包括:第一设备标识4.4.4.4:234和第一as号100。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw1,那么,第二网络设备即为dc-gw2或pe1,第三网络设备可以为leaf1。该情况下,第三路由可以包括:第一设备标识1.1.1.1:567和第一as号200。

需要说明的是,步骤601的相关描述及实现方式,可以参见上述图2对应实施例中步骤304或步骤307的相关描述。

步骤602,第一网络设备根据第一路由携带的第二网络设备标识和第二as号,确定第一传输路径用于接收第一组播源的流量;并根据用于接收第三路由的第二传输路径,确定第二传输路径用于发送第一组播源的流量;其中,第一传输路径是从第二网络设备到第一网络设备的传输路径,所述第二传输路径是从第一网络设备到第三网络设备的传输路径。

步骤603,第一网络设备生成第一组播表项;其中,所第一组播表项用于指示所述第一网络设备从第一传输路径接收第一组播源的流量并通过第二传输路径发送第一组播源的流量。

可以理解的是,第一传输路径和第二传输路径均可以是i-pmsi隧道。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw2,那么,第二网络设备即为leaf3,第三网络设备可以为dc-gw1,server-3对应第一组播源。该情况下,该dc-gw2可以根据第一路由携带的第二设备标识5.5.5.5:123和第二as号300,确定第一传输路径为从leaf3到dc-gw2的隧道,该隧道用于接收server-3发送的组播流量;而且,该dc-gw2也可以根据接收第三路由采用的dc-gw2到dc-gw1的隧道,确定第二传输路径为该dc-gw2到dc-gw1的隧道,该隧道用于发送server-3发出的组播流量。该情况下,dc-gw2还可以建立第一组播表项,包括上游接口的标识:leaf3到dc-gw2的隧道的标识,下游接口的标识:dc-gw2到dc-gw1的隧道的标识。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw1,那么,第二网络设备即为dc-gw2或pe1,第三网络设备可以为leaf1,server-3对应第一组播源。该情况下,该dc-gw1可以根据第一路由携带的第二设备标识4.4.4.4:234和第二as号100,确定第一传输路径为从dc-gw2到dc-gw1的隧道,该隧道用于接收server-3发送的组播流量;而且,该dc-gw1也可以根据接收第三路由采用的dc-gw1到leaf1的隧道,确定第二传输路径为该dc-gw1到leaf1的隧道,该隧道用于发送server-3发出的组播流量。该情况下,dc-gw1还可以建立第一组播表项,包括上游接口的标识:dc-gw2到dc-gw1的隧道的标识,下游接口的标识:dc-gw1到leaf1的隧道。

需要说明的是,步骤602~步骤603的相关描述及实现方式,可以参见上述图2对应实施例中步骤305~步骤306或步骤308~步骤309的相关描述。

步骤604,第一网络设备通过将第三路由中的第一设备标识更新为第一路由携带的第二设备标识和将第三路由中的第一as号更新为第一路由携带的第二as号,确定第四路由。

步骤605,第一网络设备向第二网络设备发送第四路由。

可以理解的是,该第四路由可以是bgpc-multicast路由。

可以理解的是,第一网络设备可以将第三路由中携带的第一设备标识和第一as号进行更新,得到第四路由,具体将第一设备标识更新为第二设备标识、将第一as号更新为第二as号,即,第四路由中包括第二设备标识和第二as号以及其第三路由中除这两部分外的其他信息。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw2,那么,第二网络设备即为leaf3,第三网络设备可以为dc-gw1。该情况下,第四路由可以包括:第二设备标识5.5.5.5:123和第二as号300,而且,dc-gw2将该第四路由发送给leaf3,以告知leaf3有组播用户请求加入组播源并触发leaf3建立对应的组播表项。

与上述以图1中网络为场景的实施例进行对应,若第一网络设备对应于dc-gw1,那么,第二网络设备可以为dc-gw2,第三网络设备可以为leaf1。该情况下,第四路由可以包括:第二设备标识4.4.4.4:234和第二as号100,而且,dc-gw1将该第四路由发送给dc-gw2,以告知dc-gw2有组播用户请求加入组播源并触发dc-gw2建立对应的组播表项。

需要说明的是,步骤604~步骤605的相关描述及实现方式,可以参见上述图2对应实施例中步骤307或步骤310的相关描述。

在一些实现方式中,由于第一传输路径和第二传输路径通常为i-pmsi隧道,即,在一个域内,建立了一个合设设备为根节点,域内其他所有边缘设备为叶子节点的隧道,该隧道对应一个隧道标识,当组播流量经过该合设设备时,会以该合设设备为隧道入节点,从各个边缘设备转发出来,而只有下游接入组播用户的隧道出节点接收到的组播流量被转发,其他各边缘设备接收的组播流量均被丢弃,造成网络资源浪费。基于此,在第一路由所指示的第一组播源在第二网络设备上的组播流量超过流量阈值时,本申请实施例还可以建立从第二网络设备到第一网络设备的s-pmsi隧道,并基于该新建立的s-pmsi隧道在第一网络设备上生成第二组播表项。

具体实现时,建立从第二网络设备到第一网络设备的s-pmsi隧道,具体可以包括:s31,第一网络设备接收第二网络设备发送的第三路径信息,并根据该第三路径信息确定第三传输路径。

其中,第三传输路径即为根据第三路径信息,建立的第二网络设备到第一网络设备的隧道,该隧道为s-pmsi隧道。

与上述以图1中网络为场景的实施例进行对应,在第一网络设备对应于dc-gw2时,第三传输路径可以是指leaf3到dc-gw2的隧道、第二传输路径可以是指dc-gw2到dc-gw1的隧道。该情况下,第三传输路径可以是vxlan协议的pim-sm隧道,第二传输路径可以是mldp的p2mp隧道。

与上述以图1中网络为场景的实施例进行对应,在第一网络设备对应于dc-gw1时,第三传输路径可以是指dc-gw2到dc-gw1的隧道、第二传输路径可以是指dc-gw1到leaf1的隧道。该情况下,第三传输路径可以是mldp的p2mp隧道,第二传输路径可以是vxlan协议的pim-sm隧道。

需要说明的是,s31的相关描述及实现方式,可以参见上述s11、s12和s13a,或者s11、s12、s13b和s14b的相关描述,或者,也可以参见图4对应实施例的相关说明。

如此,在一个域内,建立从第二网络设备到第一网络设备的s-pmsi隧道,将只建立从第二网络设备到第一网络设备的隧道,而不包括从该第二网络设备到其他各个边缘设备的隧道。

具体实现时,基于该新建立的s-pmsi隧道在第一网络设备上生成第二组播表项,具体可以包括:第一网络设备生成第二组播表项,其中,该第二组播表项用于指示第一网络设备从第三传输路径接收组播源的流量并通过第二传输路径发送所述组播源的流量,第三传输路径为从第二网络设备到第一网络设备的s-pmsi隧道。

可以理解的是,由于第三传输路径和第一传输路径是两条不同的隧道,故,第三传输路径和第一传输路径对应不同的隧道的标识。那么,在第一路由所指示的第一组播源在第二网络设备上的组播流量超过流量阈值,且建立好第三传输路径时,第一网络设备可以基于从第二网络设备到第一网络设备的传输路径的变动,生成第二组播表项。

需要说明的是,生成第二组播表项的相关描述及实现方式,可以参见上述图2对应实施例中步骤306或步骤309的相关描述。

这样,当组播流量经过该第二网络设备时,只会按照第三传输路径,从第一网络设备转发出来,而不会从其他边缘设备转出又被丢弃,从而提高了网络资源的利用率。

可见,本申请实施例提供的上述方法,通过在发布路由时更新路由信息,并且基于更新后的路由信息建立组播表项,确保从组播源发出的组播流量可以准确的转发至已经加入该组播源的组播用户,从而确保可以为组播用户提供组播服务。而且,提供了组播过程中隧道切换的实现方式,将域内的i-pmsi隧道切换为s-pmsi隧道,节约了网络资源。

上述实施例均是以组播源→第二网络设备→第一网络设备→第三网络设备→组播用户的网络为基础对本申请实施例提供的实现组播的方法的具体介绍。在具体的场景中,第三网络设备侧(即,第一dc)也可以接组播源,而第二网络设备侧(即,第三dc)可以接组播用户,即为组播用户→第二网络设备→第一网络设备→第三网络设备→组播源。下面结合附图7和附图8,对第三网络设备侧接组播源,第二网络设备侧接组播用户情况下,本申请实施例提供的实现组播的方法进行说明。

第一部分,参见图7所示的本申请实施例提供的实现组播的方法的流程示意图,该方法具体可以包括:

步骤701,第一网络设备接收第三网络设备发送的第五路由,其中,第五路由携带有第三设备标识和第一as号,其中,所述第三设备标识指示第三网络设备和第三网络设备对应的第三vpn实例。

其中,第五路由包括第五vrfrouteimport扩展团体属性和第五sourceas扩展团体属性,该第五vrfrouteimport扩展团体属性包括第三设备标识,第五sourceas扩展团体属性包括第一as号。

在图1所示的网络中,一种情况下,若组播源仍为server-3,组播用户为host-1,那么,该步骤701可以是第一网络设备dc-gw2接收第三网络设备leaf3发送的第五路由,该第五路由包括:第三设备标识5.5.5.5:123和第一as号300;或者,该步骤701也可以是第一网络设备dc-gw1接收第三网络设备dc-gw2发送的第五路由,该第五路由包括:第三设备标识4.4.4.4:234和第一as号100。另一种情况下,若组播源为server-2,组播用户为host-2,那么,该步骤701可以是第一网络设备dc-gw1接收第三网络设备leaf2发送的第五路由;或者,该步骤701也可以是第一网络设备dc-gw2接收第三网络设备dc-gw1发送的第五路由。

需要说明的是,步骤701的相关描述及实现方式,可以参见上述图2对应实施例中步骤205或步骤208的相关描述。

步骤702,第一网络设备根据第五路由确定第六路由,该第六路由是第一网络设备通过将第五路由中的第三设备标识更新为第四设备标识和将第五路由中的第一as号更新为第二as号确定得到的,其中,第四设备标识指示第一网络设备和第一网络设备对应的第四vpn实例。

其中,第六路由包括第六vrfrouteimpot扩展团体属性和第六sourceas扩展团体属性,该第六vrfrouteimpot扩展团体属性包括第四设备标识,第六sourceas扩展团体属性包括第二as号。

其中,第五路由可以是bgpvpn路由,第六路由可以是bgpevpn路由。具体而言,第六路由可以为bgpevpn协议的ip前缀路由或mac/ip通告路由,第五路由可以为bgp协议的vpnv4路由。

在图1所示的网络中,一种情况下,若组播源仍为server-3,组播用户为host-1,那么,该步骤702可以是第一网络设备dc-gw2将该第五路由中的第三设备标识5.5.5.5:123更新为第四设备标识4.4.4.4:234,将第一as号300更新为第二as号100,得到第六路由;或者,该步骤702也可以是第一网络设备dc-gw1将该第五路由中的第三设备标识4.4.4.4:234更新为第四设备标识1.1.1.1:567,将第一as号100更新为第二as号200,得到第六路由。另一种情况下,若组播源为server-2,组播用户为host-2,那么,该步骤702可以是第一网络设备dc-gw1根据第五路由确定第六路由;或者,该步骤702也可以是第一网络设备dc-gw2根据第五路由确定第六路由。

需要说明的是,步骤702的相关描述及实现方式,可以参见上述图2对应实施例中步骤206或步骤209的相关描述。

步骤703,第一网络设备向第二网络设备发送第六路由。

在图1所示的网络中,一种情况下,若组播源仍为server-3,组播用户为host-1,那么,该步骤703可以是第一网络设备dc-gw2将包括第四设备标识4.4.4.4:234和第二as号100的第六路由发送给第二网络设备dc-gw1;或者,该步骤703也可以是第一网络设备dc-gw1将包括第四设备标识1.1.1.1:567和第二as号200的第六路由发送给第二网络设备leaf1。另一种情况下,若组播源为server-2,组播用户为host-2,那么,该步骤703可以是第一网络设备dc-gw1将第六路由发送给第二网络设备dc-gw2;或者,该步骤703也可以是第一网络设备dc-gw2将第六路由发送给第二网络设备leaf4。

需要说明的是,步骤703的相关描述及实现方式可以参见上述图2对应实施例中步骤207或步骤210的相关描述。

在一些实现方式中,本申请实施例中提供的实现组播的方法中,在执行上述步骤701~步骤703的过程中或者之前,还可以包括在各个域建立隧道的过程:s41,第一网络设备接收第三网络设备发送的第四路径信息并根据第四路径信息确定第四传输路径;s42,第一网络设备向第二网络设备发送第五路径信息,该第五路径信息用于指示第二网络设备确定第五传输路径。

其中,第四传输路径即为根据第四路径信息,建立的第三网络设备到第一网络设备的隧道;第五传输路径为根据第五路径信息,建立的第一网络设备到第二网络设备的隧道。该两个隧道可以为i-pmsi隧道。

在图1所示的网络中,一种情况下,若组播源仍为server-3,组播用户为host-1,第一网络设备dc-gw2时,第四传输路径可以是指leaf3到dc-gw2的隧道、第五传输路径可以是指dc-gw2到dc-gw1的隧道;或者,第一网络设备dc-gw1时,第四传输路径可以是指dc-gw2到dc-gw1的隧道、第五传输路径可以是指dc-gw1到leaf1的隧道。另一种情况下,若组播源为server-2,组播用户为host-2,第一网络设备dc-gw1时,第四传输路径可以是指leaf2到dc-gw1的隧道、第五传输路径可以是指dc-gw1到dc-gw2的隧道;或者,第一网络设备为dc-gw2时,第四传输路径可以是指dc-gw1到dc-gw2的隧道、第五传输路径可以是指dc-gw2到leaf4的隧道。

需要说明的是,s41~s42的相关描述可以参见s21~s22,或者,s41或s42的相关描述及实现方式,可以参见上述图4对应实施例中的相关描述,采用ldp或te的方式建立第五传输路径和第六传输路径。

第二部分,参见图8所示的本申请实施例提供的实现组播的方法的流程示意图,该方法在步骤703之后,还包括下述步骤801~步骤805:

步骤801,第一网络设备接收第二网络设备发送的第七路由;在第七路由携带第四设备标识和第二as号;第五路由和第七路由用于指示第二组播源。

步骤802,第一网络设备根据第五路由携带的第三设备标识和第一as号确定第四传输路径用于接收所述第二组播源的流量,并根据用于接收第七路由的第五传输路径确定第五传输路径用于发送所述第二组播源的流量,其中,第四传输路径为从第三网络设备到第一网络设备的传输路径,第五传输路径为从第一网络设备到第二网络设备的传输路径。

步骤803,第一网络设备生成第三组播表项;其中,该第三组播表项用于指示第一网络设备从第四传输路径接收第二组播源的流量并通过第五传输路径发送第二组播源的流量。

步骤804,第一网络设备通过将第七路由中的第四设备标识更新为第五路由携带的第三设备标识和将第七路由中的第二as号更新为第一路由携带的第一as号,确定第八路由。

步骤805,第一网络设备向第三网络设备发送第八路由。

其中,第七路由和第八路由可以均为bgpc-multicast路由。

其中,第四传输路径和第五传输路径均为i-pmsi隧道。

可以理解的是,在图1所示的网络中,一种情况下,组播源仍为server-3,组播用户为host-1,那么,将步骤601~步骤605中第一网络设备对应的第二网络设备作为步骤801~步骤805中该第一网络设备对应的第三网络设备;将步骤601~步骤605中第一网络设备对应的第三网络设备作为步骤801~步骤805中该第一网络设备对应的第二网络设备。另一种情况下,组播源为server-2,组播用户为host-2,那么,第一网络设备为dc-gw1时,第三网络设备可以为leaf2,第二网络设备可以为dc-gw2,或者,第一网络设备为dc-gw2时,第三网络设备可以为dc-gw1,第二网络设备可以为leaf4。

需要说明的是,上述步骤801~步骤805的相关描述及实现方式,可以参见上述图6对应实施例中步骤601~步骤605的相关描述。

作为一个示例,当第五路由所指示的第二组播源在第一网络设备上的组播流量超过流量阈值时,本申请实施例还可以包括:s51,第一网络设备向第二网络设备发送的第六路径信息并根据该第六路径信息确定第六传输路径。该第六传输路径可以为s-pmsi隧道。此时,本申请实施例实现组播之前,还可以包括:第一网络设备将第三组播表项修改成第四组播表项,该第四组播表项用于指示第一网络设备将从第四传输路径接收到的流量通过第六传输路径发送,其中,该第六传输路径为从第一网络设备到第二网络设备的s-pmsi隧道。

需要说明的是,s51的相关描述及实现方式,可以参见上述s31的相关描述,或者,参见上述s11、s12和s13a,或者s11、s12、s13b和s14b的相关描述。

需要说明的是,生成第四组播表项的相关描述及实现方式,可以参见上述生成第二组播表项的相关描述,或者,参见图2对应实施例中步骤306或步骤309的相关描述。

这样,当组播流量经过该第二网络设备时,只会按照第六传输路径,从第一网络设备转发出来,而不会从其他边缘设备转出由被丢弃,从而提高了网络资源的利用率。

可见,通过本申请实施例提供的上述方法,第三网络设备上游的组播源完成路由发布,第二网络设备的下游有组播用户加入该组播源时,该网络中的第二网络设备可以根据所接收的第六路由,追溯到第一网络设备,同理,第一网络设备也可以根据所接收到的第五路由,追溯到第三网络设备,如此,即可确定出组播源到组播用户的组播路径,使得组播源的流量在该ngmvpn中进行准确的跨dc组播成为了可能,即,实现了组播用户与组播源不在同一dc且组播过程通过两个dc的合设设备的情况下,为组播用户提供组播服务。

图9为本申请实施例提供的一种实现组播的装置900的结构示意图,所述装置900应用于下一代组播虚拟专用网ngmvpn中的第一网络设备,包括:接收单元901,处理单元902和发送单元903。

其中,接收单元901,用于接收第二网络设备发送的第一路由,其中,第一数据中心dc包括所述第一网络设备,第二dc包括所述第一网络设备和所述第二网络设备,第三dc包括所述第二网络设备,所述第一网络设备是所述第一dc与所述第二dc相互通信的边缘设备,所述第一路由携带有第二设备标识和第二自治系统as号,其中,所述第二设备标识指示所述第二网络设备和所述第二网络设备对应的第一虚拟专用网vpn实例,所述第二as号指示所述第二dc;处理单元902,用于根据所述第一路由确定第二路由,所述第二路由是所述第一网络设备通过将所述第一路由中的所述第二设备标识更新为第一设备标识和将所述第一路由中的所述第二as号更新为第一as号确定得到的,其中,所述第一设备标识指示所述第一网络设备和所述第一网络设备对应的第二虚拟专用网vpn实例,所述第一as号指示所述第一dc;发送单元903,用于向第三网络设备发送所述第二路由,所述第三网络设备属于所述第一dc。

需要说明的是,上述实现组播的装置900用于执行图5对应的实施例中的各个步骤,接收单元901具体可以执行步骤501、步骤601、步骤701和步骤801;处理单元902具体可以执行步骤502、步骤602~步骤604、步骤702和步骤802~buzhou804;发送单元903具体可以执行步骤503、步骤605、步骤703和步骤805。

其中,所述第一路由包括第二虚拟路由转发路由入口vrfrouteimport扩展团体属性和第二源自治系统sourceas扩展团体属性,所述第二vrfrouteimport扩展团体属性包括所述第二设备标识,第二sourceas扩展团体属性包括所述第二as号。所述第二路由包括第一vrfrouteimpot扩展团体属性和第一sourceas扩展团体属性,所述第一vrfrouteimpot扩展团体属性包括所述第一设备标识,所述第一sourceas扩展团体属性包括所述第一as号。

可以理解的是,所述第一路由为边缘网关协议bgp的虚拟专用网络vpn路由,所述第二路由为bgp的以太网虚拟专用网络evpn路由。

作为一个示例,所述第二dc和所述第三dc属于同一个域。

在一种可能的实现方式中,该装置900中的所述接收单元901,还用于接收所述第二网络设备发送的第一路径信息并根据所述第一路径信息确定所述第一传输路径;所述发送单元903,还用于向所述第三网络设备发送第二路径信息,所述第二路径信息用于指示所述第三网络设备确定所述第二传输路径。其中,所述第一传输路径和所述第二传输路径均为包含运营商组播业务接口i-pmsi隧道。

在另一种可能的实现方式中,该装置900中的所述接收单元901,还用于接收所述第三网络设备发送的第三路由;在所述第三路由携带所述第一设备标识和所述第一as号;所述第一路由和所述第三路由均用于指示第一组播源;所述处理单元902,还用于根据所述第一路由携带的所述第二网络设备标识和所述第二as号确定第一传输路径用于接收所述第一组播源的流量并根据用于接收所述第三路由的第二传输路径确定所述第二传输路径用于发送所述第一组播源的流量;生成第一组播表项;通过将所述第三路由中的所述第一设备标识更新为所述第一路由携带的所述第二设备标识和将所述第三路由中的所述第一as号更新为所述第一路由携带的所述第二as号,确定第四路由;其中,所述第一传输路径是从所述第二网络设备到所述第一网络设备的传输路径,所述第二传输路径是从所述第一网络设备到所述第三网络设备的传输路径;所述第一组播表项用于指示所述第一网络设备从第一传输路径接收所述第一组播源的流量并通过第二传输路径发送所述第一组播源的流量;所述发送单元903,还用于向所述第二网络设备发送所述第四路由。其中,所述第三路由和所述第四路由均为边缘网关协议客户组播bgpc-multicast路由。

在再一种可能的实现方式中,该装置900中的所述处理单元902,还用于若所述第一路由所指示的第一组播源在所述第二网络设备上的组播流量超过流量阈值,生成第二组播表项,其中,所述第二组播表项用于指示所述第一网络设备从第三传输路径接收所述组播源的流量并通过所述第二传输路径发送所述组播源的流量,第三传输路径为从所述第二网络设备到第一网络设备的选择运营商组播业务s-pmsi隧道。

在又一种可能的实现方式中,该装置900中的所述接收单元901,还用于接收所述第二网络设备发送的第三路径信息并根据所述第三路径信息确定所述第三传输路径。

在再一种可能的实现方式中,该装置900中的所述接收单元901,还用于接收所述第三网络设备发送的第五路由,其中,所述第五路由携带有第三设备标识和所述第一自治系统as号,其中,所述第三设备标识指示所述第三网络设备和所述第三网络设备对应的第三vpn实例;所述处理单元902,还用于根据所述第五路由确定第六路由,所述第六路由是所述第一网络设备通过将所述第五路由中的所述第三设备标识更新为第四设备标识和将所述第五路由中的所述第一as号更新为所述第二as号确定得到的,其中,所述第四设备标识指示所述第一网络设备和所述第一网络设备对应的第四vpn实例;所述发送单元903,还用于向所述第二网络设备发送所述第六路由。

其中,所述第五路由包括第五虚拟路由转发路由入口vrfrouteimport扩展团体属性和第五源自治系统sourceas扩展团体属性,所述第五vrfrouteimport扩展团体属性包括所述第三设备标识,第五sourceas扩展团体属性包括所述第一as号。所述第六路由包括第六vrfrouteimpot扩展团体属性和第六sourceas扩展团体属性,所述第六vrfrouteimpot扩展团体属性包括所述第四设备标识,所述第六sourceas扩展团体属性包括所述第二as号。

可以理解的是,所述第六路由为bgpevpn路由,所述第五路由为bgp的vpn路由。

在又一种可能的实现方式中,该装置900中的所述接收单元901,还用于接收所述第三网络设备发送的第四路径信息并根据所述第四路径信息确定所述第四传输路径;所述发送单元903,还用于向所述第二网络设备发送第五路径信息,所述第五路径信息用于指示所述第二网络设备确定所述第五传输路径。其中,所述第四传输路径和所述第五传输路径均为包含运营商组播业务接口i-pmsi隧道。

在另一种可能的实现方式中,该装置900中的所述接收单元901,还用于接收所述第二网络设备发送的第七路由;在所述第七路由携带所述第四设备标识和所述第二as号;所述第五路由和所述第七路由用于指示第二组播源;所述处理单元902,还用于根据所述第五路由携带的所述第三设备标识和所述第一as号确定第四传输路径用于接收所述第二组播源的流量并根据用于接收所述第七路由的第五传输路径确定所述第五传输路径用于发送所述第二组播源的流量;生成第三组播表项;通过将所述第七路由中的所述第四设备标识更新为所述第五路由携带的所述第三设备标识和将所述第七路由中的所述第二as号更新为所述第一路由携带的所述第一as号,确定第八路由;其中,所述第四传输路径为从所述第三网络设备到所述第一网络设备的传输路径,所述第五传输路径为从所述第一网络设备到所述第二网络设备的传输路径;所述第三组播表项用于指示所述第一网络设备从所述第四传输路径接收所述第二组播源的流量并通过第五传输路径发送所述第二组播源的流量;所述发送单元903,还用于向所述第三网络设备发送所述第八路由。其中,所述第七路由和所述第八路由均为边缘网关协议bgpc-multicast路由。

在再一种可能的实现方式中,该装置900中的所述处理单元902,还用于若所述第五路由所指示的第二组播源在所述第一网络设备上的组播流量超过流量阈值,将所述第三组播表项修改成第四组播表项,所述第四组播表项用于指示所述第一网络设备将从所述第四传输路径接收到的流量通过第六传输路径发送,其中,所述第六传输路径为从所述第一网络设备到所述第二网络设备的选择运营商组播业务s-pmsi隧道。

在又一种可能的实现方式中,该装置900中的所述发送单元903,还用于向所述第二网络设备发送的第六路径信息并根据所述第六路径信息确定所述第六传输路径。

可以理解的是,该装置900对应于图5对应的方法实施例提供的方法,故该装置900的各实现方式以及达到的技术效果可参见图5所示实施例中各实现方式的相关描述。

此外,图10示出了本申请实施例提供的一种网络设备1000,该网络设备1000包括处理器1001和存储器1002,所述存储器1002存储有指令,当处理器1001执行该指令时,使得该网络设备1000执行前述实现组播的方法中的任意一种实现方式。

此外,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行前述实现组播的方法中的任意一种实现方式。

此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得该计算机或处理器执行前述实现组播的方法中的任意一种实现方式。

本申请实施例中提到的“第一网络设备”、“第一路由”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。

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