组播组处理方法、dci路由器及系统的制作方法

文档序号:7862022阅读:210来源:国知局
专利名称:组播组处理方法、dci路由器及系统的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种组播组处理方法、DCI路由器及系统。
背景技术
DC (Data Center,数据中心)是云业务最重要的基础设施。为了支持海量租户,现有技术提出了 NVGRE (Network Virtulization Generic Route Encapsulation,网络虚拟化通用路由封装)协议。现有在采用NVGRE协议的多个DC互联的情况下,每个DC可以包括DCI (Data Center Interconnect,数据中心互联)路由器和NVGRE网关,每个NVGRE网关对应着子网,每个子网中可以包括VM(Virtual Machine,虚拟机)。现有NVGRE可以支持组播方式。对于DC非互连的场景来说,每个DC中各个子网可以形成组播组,从而使得该子网中的VM可以组播通信或者迁移。而对于多个DC互连的场景来说,各子网中的VM可以跨DC
形成组播组,从而使得不同DC的子网中的VM可以跨DC互通。但是,现有技术中,不同DC的子网中的VM跨DC互通时,需要维护较为庞大的组播树,从而使得跨DC互通的实现较为复杂。

发明内容
本发明实施例提供一种组播组处理方法、DCI路由器及系统,以解决各DC内的VM跨DC进行通信时需要维护庞大的组播树的问题,从而简化了 VM跨DC的路由部署,使得VM跨DC互通的实现较为简单。一方面,本发明实施例提供一种组播组处理方法,包括获取第一数据中心DC内子网的组播组信息,所述第一 DC内采用第一协议通信;向第二 DC发送第二协议封装的组播处理请求消息,所述组播处理请求消息中包含所述组播组信息。结合第一方面,所述第一协议包括协议无关组播PM协议;所述向第二DC发送第二协议封装的组播处理请求消息,包括向所述第二DC发送互联网组管理协议IGMP或组播侦听发现MLD协议封装的组播处理请求消息。结合第一方面,所述获取第一 DC内子网的组播组信息,包括向所述第一 DC内的网络虚拟化通用路由封装NVGRE网关发送组播组信息获取请求;接收所述NVGRE网关根据所述组播组信息获取请求发送的组播组信息。结合第一方面,所述向所述第一 DC内的NVGRE网关发送组播组信息获取请求之前,还包括获取所述NVGRE网关的地址信息;根据所述地址信息,与所述NVGRE网关之间建立连接。结合第一方面,所述向第二 DC发送第二协议封装的组播处理请求消息之前,还包括
接收与所述子网对应的NVGRE网关发送的组播组离开消息;所述向第二 DC发送第二协议封装的组播处理请求消息,包括向所述第二 DC发送包含所述组播组信息的组播组删除请求消息,以使所述第二DC断开与所述组播组信息对应的组播组连接。结合第一方面,所述向第二 DC发送第二协议封装的组播处理请求消息之前,还包括接收所述子网对应的NVGRE网关发送的组播组加入消息;所述向第二 DC发送第二协议封装的组播处理请求消息,包括向所述第二 DC发送包含所述组播组信息的组播组加入请求消息,以使所述第二DC建立与所述组播组信息对应的组播组连接。 第二方面,本发明实施例还提供一种组播组处理方法,包括接收第一数据中心DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,所述组播处理请求消息采用第二协议封装;根据所述组播组信息进行组播组处理。结合第二方面,所述组播处理请求消息采用第二协议封装,包括所述组播处理请求消息采用互联网组管理协议IGMP或组播侦听发现MLD协议封装。结合第二方面,所述接收第一DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,包括接收所述DCI路由器发送的包含组播组信息的组播组删除请求消息;所述根据所述组播组信息进行组播组处理,包括根据所述组播组删除请求消息,断开与所述第一 DC的所述组播组信息对应的组播组连接。结合第二方面,所述接收第一DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,包括接收所述DCI路由器发送的包含组播组信息的组播组加入请求消息;所述根据所述组播组信息进行组播组处理,包括根据所述组播组加入请求消息,建立与所述第一 DC中所述组播组信息对应的组播组连接。第三方面,本发明实施例提供一种DCI路由器,包括获取模块,用于获取第一数据中心DC内子网的组播组信息,所述第一 DC内采用第一协议通信;发送模块,用于向第二 DC发送第二协议封装的组播处理请求消息,所述组播处理请求消息中包含所述组播组信息。结合第三方面,所述第一协议包括协议无关组播PM协议;所述发送模块,具体用于向所述第二 DC发送互联网组管理协议IGMP或组播侦听发现MLD协议封装的组播处理请求消息。结合第三方面,所述获取模块具体用于向所述第一 DC内的网络虚拟化通用路由封装NVGRE网关发送组播组信息获取请求;接收所述NVGRE网关根据所述组播组信息获取请求发送的组播组信息。结合第三方面,所述获取模块还具体用于获取所述NVGRE网关的地址信息;根据所述地址信息,与所述NVGRE网关之间建立连接。
结合第三方面,还包括
接收消息模块,用于接收与所述子网对应的NVGRE网关发送的组播组离开消息;所述发送模块具体用于向所述第二 DC发送包含所述组播组信息的组播组删除请求消息,以使所述第二 DC断开与所述组播组信息对应的组播组连接。结合第三方面,还包括接收消息模块,用于接收所述子网对应的NVGRE网关发送的组播组加入消息;所述发送模块具体用于向所述第二 DC发送包含所述组播组信息的组播组加入请求消息,以使所述第二 DC建立与所述组播组信息对应的组播组连接。第四方面,本发明实施例还提供一种DCI路由器,包括接收模块,用于接收第一数据中心DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,所述组播处理请求消息采用第二协议封装;处理模块,用于根据所述组播组信息进行组播组处理。结合第四方面,所述组播处理请求消息采用第二协议封装,包括所述组播处理请求消息采用互联网组管理协议IGMP或组播侦听发现MLD协议封装。结合第四方面,所述接收模块具体用于接收所述DCI路由器发送的包含组播组信息的组播组删除请求消息;所述处理模块具体用于根据所述组播组删除请求消息,断开与所述第一 DC的所述组播组信息对应的组播组连接。结合第四方面,所述接收模块具体用于接收所述DCI路由器发送的包含组播组信息的组播组加入请求消息;所述处理模块具体用于根据所述组播组加入请求消息,建立与所述第一 DC中所述组播组信息对应的组播组连接。第五方面,本发明实施例提供一种组播处理系统,包括第一数据中心互联DCI路由器和第二数据中心互联DCI路由器,其中,所述第一 DCI路由器为如上所述第三方面本发明实施例提供的DCI路由器,所述第二 DCI路由器为如上所述第四方面本发明实施例提供的DCI路由器,所述第一 DCI路由器和第二 DCI路由器之间通信连接。本发明实施例提供的组播处理方法、DCI路由器及系统,通过获取采用第一协议通信的第一 DC内子网的组播组信息,向第二 DC发送第二协议封装的组播处理请求消息,以使第二 DC进行组播处理,从而使得各DC内相同的组播组建立连接,以形成跨DC的组播组,实现了分布在不同DC内相同组播组中VM可以跨DC进行互通,而且,由于DC内的各组播组分别采用第一协议获取路由信息实现互通,DC间采用简单的第二协议实现互通,从而简化了VM跨DC的路由部署,使得VM跨DC互通的实现较为简单。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明组播组处理方法实施例一的流程图2为本发明组播组处理方法实施例二的流程图;图3为本发明组播组处理方法实施例三的流程图;图4为本发明DCI路由器实施例一的结构示意图;图5为本发明DCI路由器实施例三的结构示意图;图6为本发明DCI路由器实施例四的结构示意图;图7为本发明DCI路由器实施例五的结构示意图;图8为本发明DCI路由器实施例七的结构示意图;图9为本发明组播组处理系统实施例一的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在多个DC互连的场景下,每个DC中各子网中的VM分别形成一个组播组,各组播组内采用PIM(Protocol Independent Multicast,协议无关组播)协议,生成各组播组内的组播分发树,当组播组内的一个源端VM向各接收端VM发送数据时,即可根据组播分发树获取源端VM到各接收端VM的无环数据传输路径,从而将数据发送至该组播组内的各接收端VM。当一个子网中的VM从其所在的DC迁移至其它DC时,就导致该子网对应的组播组在其它DC内均有分布,为了使源端VM发送的数据能够被分布在其它DC内,但属于同一组播组的接收端VM接收到,则需要在各DC之间也采用PM协议,生成组播分发树,相应地,各DC内的组播分发树以及DC间的组播分发树就形成了一个更大的组播分发树,从而源端VM可以通过这一庞大的组播分发树向分布在各DC内的,属于同一组播组的接收端VM发送数据,实现了同一组播组的VM跨DC之间的通信。但是,由于使用PM协议本身就比较复杂,而且DC中设备数量较多,所以上述跨DC所形成的组播分发树是相当庞大的,因此,参与到这庞大的组播分发树中的设备较多,维护这一庞大的组播分发树使VM跨DC互通的实现较为复杂。采用下述本发明各实施例提供的组播组处理方法、路由器和系统,可以有效地解决上述问题。图I为本发明组播组处理方法实施例一的流程图,如图I所示,本实施例的方法可以包括S101、获取第一 DC内子网的组播组信息,所述第一 DC内米用第一协议通信; 每个DC中至少存在一个子网,该子网为VM所形成的子网,一个子网即为一个组播组,而且每个DC配置有至少一 DCI路由器,每个DC通过DCI路由器与其他DC之间建立通信连接,本发明实施例以每个DC中配置有一个DCI路由器进行说明。第一 DC内的DCI路由器获取该第一 DC内所述子网的组播组信息,其中,在一种可行的实现方式中,直接给DCI路由器配置第一DC内的子网的组播组信息,由于在采用NVGRE协议的DC中,VM对应的子网信息来源于管理系统的VMM (Virtual Machine Management,虚拟机管理)模块,因此,可以从管理系统中将子网信息配置给DCI路由器,该子网信息中包括子网标识、子网的组播组信息以及子网内完整的路由信息等,DCI路由器通过子网信息可以获取到子网对应的组播组信息;或者,由于管理系统需要将VM信息及子网信息发送给NVGRE网关,以使NVGRE网关与相应的子网对应,一般设置有一个插件实现管理系统与NVGRE网关之间的通信,因此,可以对插件进行相应的改进,对于DCI路由器,只将子网信息中的子网的组播组信息发送给DCI路由器,以使DCI路由器获取子网的组播组信息。在另一种可行的实现方式中,DCI路由器可以从NVGRE网关处获取组播组信息,由于NVGRE网关中配置了 DC内所有的子网信息,因此,DCI路由器可以和NVGRE网关建立连接,由NVGRE网关将子网的组播组信息告知给DCI路由器。由于不同的组播组具有的组播IP地址均不相同,因此,优选地,组播组信息可以为组播组IP地址。当第一 DC内存在多个子网时,可以根据需要获取一个或多个子网的组播组信息。由于一个子网为一个组播组,为了实现第一DC中各个组播组内VM之间的通信,各个组播组内可以采用第一协议构建组播路由实现通信,该第一协议可以为DVMRP(DistanceVector Multicast Routing Protocol,距离矢量组播路由选择协议)、MOSPF(MulticastOpen Shortest Path First,组播开放式最短路径优先)和PIM等,本发明在此不做限制, 而且各DC内采用第一协议通信的实现原理与现有技术类似,本发明在此不再赘述。S102、向第二 DC发送第二协议封装的组播处理请求消息,所述组播处理请求消息中包含组播组信息。本实施例中,第二协议为可形成主机与路由器之间的单跳连接的协议,因此相对于组播路由协议而言比较简单。当第一 DC的DCI路由器获取第一 DC内子网的组播组信息时,第一 DC的DCI路由器即可获知第一 DC内所包含的组播组的情况,则DCI路由器作为第一 DC内各组播组的代理主机向第二 DC发送第二协议封装的组播处理请求消息,并且该组播处理请求消息中包括组播组信息,相应地,第二 DC的DCI路由器接收到该组播处理请求消息后,根据该组播处理请求消息中的组播组信息对相应的组播组进行处理。该组播处理请求消息可以为组播组加入请求消息或者组播组删除请求消息等,相应地,第二 DC的路由器接收到该组播组加入请求消息或者组播组删除请求消息后,建立与第一 DC中所述组播组信息对应的组播组的连接或者断开与第一 DC中所述组播组信息对应的组播组的连接等;从而使得各DC内相同的组播信息对应的组播组建立了连接,以形成跨DC的组播组,第二 DC中的组播组中待传输数据可以通过第二 DC的DCI路由器和第一 DC的DCI路由器传输到第一 DC中的组播组中,实现了同一组播组的VM跨DC互通;进一步地,当DC内的任一组播组移出该DC时,则其它DC会断开与该DC之间对应的组播组连接,从而使得各DC中该组播组中待传输的数据不必再传输至该DC中,以免造成带宽资源的浪费。当第一 DC内存在多个子网时,并且获取了多个子网的组播组信息时,所述向第二 DC发送第二协议封装的组播处理请求消息,可以是向第二 DC发送一个组播处理请求消息,所述组播处理请求消息中包含了所有子网的组播组信息,也可以是向第二 DC发送多个组播处理请求消息,每个组播处理请求消息中包含一个子网的组播组信息。其中,当DC所处网络为IPv4 (Internet Protocol Version4,互联网协议版本4)网络时,第二协议为 IGMP (Internet Group Management Protocol,互联网组管理协议),当 DC 所处网络为IPv6 (Internet Protocol Version6,互联网协议版本6)网络时,第二协议为MLD (Multicast Listener Discover,组播侦听发现)协议。本实施例,DCI路由器获取采用第一协议通信的第一 DC内子网的组播组信息,向第二 DC发送第二协议封装的组播处理请求消息,以使第二 DC进行组播处理,从而使得各DC内相同的组播组建立连接,以形成跨DC的组播组,实现了分布在不同DC内相同组播组中的各VM跨DC进行互通,而且,由于DC内的各组播组分别采用第一协议获取路由信息实现互通,DC间采用简单的第二协议实现互通,从而简化了 VM跨DC的路由部署,使得VM跨DC互通的实现较为简单。图2为本发明组播组处理方法实施例二的流程图,如图2所示,本实施例的方法可以包括S201、接收第一 DC的DCI路由器发送的包含组播组信息的组播处理请求消息,所述组播处理请求消息采用第二协议封装;本实施例中,第二 DC的DCI路由器接收第一 DC的DCI路由器发送的包含组播组信息的组播处理请求消息,组播处理请求消息采用第二协议封装,优选地,组播组信息可以 为组播组IP地址。其中,当DC所处网络为IPv4 (Internet Protocol Version4,互联网协议版本4)网络时,第二协议为IGMP (Internet Group Management Protocol,互联网组管理协议)协议,当DC所处网络为IPv6 (Internet Protocol Version6,互联网协议版本6)网络时,第二协议为MLD (Multicast Listener Discover,组播侦听发现协议)协议。而且,第二 DC内采用第一协议通信,即第二 DC内的各组播组可以采用第一协议构建组播路由实现通信,该第一协议可以为DVMRP、MOSPF和PM等,本发明在此不做限制,而且DC内采用第一协议通信的实现原理与现有技术类似,本发明在此不再赘述。S202、根据所述组播处理请求消息中的组播组信息进行组播组处理。本实施例中,第二 DC的DCI路由器接收到组播处理请求消息后,获取组播处理请求消息中的组播组信息,根据该组播组信息进行组播组处理。其中,组播处理请求消息可以为组播组加入请求消息或者组播组删除请求消息等,第二 DC的DCI路由器接收到组播组加入请求消息或者组播组删除请求消息,建立与第一 DC中组播组信息对应的组播组连接或者断开与第一 DC中组播组信息对应的组播组连接;从而使得各DC内相同的组播组信息对应的组播组建立了连接,以形成跨DC的组播组,第二 DC中的组播组中待传输数据可以通过第二 DC的DCI路由器和第一 DC的DCI路由器传输到第一 DC中的组播组中,实现了同一组播组的VM跨DC互通;进一步地,当DC内的任一组播组移出该DC时,则其它DC会断开与该DC之间对应的组播组连接,从而使得各DC中该组播组中待传输的数据不必再传输至该DC中,以免造成带宽资源的浪费。当第一 DC内存在多个子网时,所述接收第一 DC的DCI路由器发送的包含组播组信息的组播处理请求消息,可以是第二 DC接收第一 DC的DCI路由器发送的一个组播处理请求消息,所述组播处理请求消息中包含了第一 DC中所有子网的组播组信息,也可以是第二 DC接收第一 DC的DCI路由器发送的多个组播处理请求消息,每个组播处理请求消息中包含一个子网的组播组信息。本实施例,第二 DC的DCI路由器通过接收第一 DC的DCI路由器发送的包含组播组信息的组播处理请求消息,根据组播组信息进行组播组处理,并且,第二 DC内采用第一协议通信,第一 DC发送的组播处理请求消息采用第二协议封装,从而使得各DC内相同的组播组建立连接,以形成跨DC的组播组,实现了分布在不同DC内相同组播组中的各VM跨DC进行互通,而且,由于DC内的各组播组分别采用第一协议获取路由信息实现互通,DC间采用简单的第二协议实现互通,从而简化了 VM跨DC的路由部署,使得VM跨DC互通的实现较为简单。图3为本发明组播组处理方法实施例三的流程图,如图3所示,本实施例的方法可以包括S301、第一 DC的DCI路由器获取第一 DC内的NVGRE网关的地址信息;具体地,由于一个DC中配置有NVGRE网关,而一个NVGRE网关对应着子网,一个子网即为一个组播组,而且一个组播组中存在有VM。第一 DC的DCI路由器获取第一 DC内的NVGRE网关的地址信息可以采用两种可行的实现方式,第一种为静态配置方式,即给第
一DC的DCI路由器直接配置NVGRE网关的IP地址;第二种为动态发现机制,由第一 DC的DCI路由器通过动态协议获取NVGRE网关的IP地址。所述NVGRE可以为一个或多个。
S302、第一 DC的DCI路由器根据获取到的NVGRE网关的地址信息,与第一 DC内的NVGRE网关建立连接;具体地,第一 DC的DCI路由器根据获取到的NVGRE网关的IP地址,与该NVGRE网关建立连接,其中,第一 DC的DCI路由器与NVGRE网关之间的连接可以为采用SSH(SecureShell,安全外壳)协议或者TELNET远程登陆协议或者NETConf (NET Configuration,网络配置)协议等方式建立的安全连接,本发明在此不做限制。S303、第一 DC的DCI路由器向第一 DC内的NVGRE网关发送组播组信息获取请求;具体地,在第一 DC的DCI路由器与第一 DC内的NVGRE网关之间的连接建立好后,第一 DC的DCI路由器向第一 DC内的NVGRE网关发送组播组信息获取请求,以使第一 DC的DCI路由器获取第一 DC内各组播组信息。S304、第一 DC的DCI路由器接收第一 DC内的NVGRE网关根据组播组信息获取请求发送的组播组信息;具体地,当第一 DC的NVGRE网关接收到组播组信息获取请求时,该NVGRE网关会将所配置的组播组信息通过本实施例S302中所建立的连接发送给第一 DC的DCI路由器。需要说明的是,本实施例通过S301至S304对第一 DC的DCI路由器从NVGRE网关处获取子网的组播组信息进行了详细介绍。S305、第一 DC的DCI路由器向第二 DC发送IGMP/MLD协议封装的组播处理请求消
息,组播处理请求消息中包含有组播组信息;当第一 DC的DCI路由器接收第一 DC内的NVGRE网关根据组播组信息获取请求发送的组播组信息时,则第一 DC的DCI路由器向第二 DC发送IGMP/MLD协议封装的组播处理请求消息,并且该组播组加入请求消息中包含组播组信息,该组播组信息为第一 DC内的NVGRE网关根据组播组信息获取请求发送的组播组信息。在组播处理请求消息为组播组加入请求消息的情况下,当第一 DC与第二 DC处于IPv4网络中时,IGMP协议为IGMP Vl版本I协议或者IGMP V2版本2协议或者IGMP V3版本3协议;当第一 DC与第二 DC处于IPv6网络中时,MLD协议为MLD Vl版本I协议或者MLDV2版本2协议。本实施例中,第一 DC内采用PM协议通信,其中,PIM协议还可以为PIM-SM(Protocol Independent Multicast-Sparse Mode,稀疏模式独立组播)协议或者PIM-DM(Protocol Independent Multicast-Dense Mode,密集模式独立组播)协议或者BIDIR-PIM(Bi-directional Protocol Independent Multicast,双向协议无关组播)协议,本发明在此不做限制,并且第一 DC内采用上述各PM协议通信的实现原理与现有技术类似,本发明在此不再赘述。S306、第二 DC的DCI路由器接收第一 DC的DCI路由器发送的包含组播组信息的组播处理请求消息,组播处理请求消息采用IGMP/MLD协议封装;第二 DC的DCI路由器接收第一 DC的DCI路由器发送的包含组播组信息的组播组加入请求消息,组播组加入请求消息采用IGMP/MLD协议封装,对IGMP/MLD协议的内容可以参见S305中相关的记载,本发明在此不再赘述;需要说明的是,第二 DC内也采用PM协议进行通信,具体可以参见S305中相关的记载,本发明在此不再赘述。S307、第二DC的DCI路由器根据所述组播处理请求消息中的组播组信息进行组播组处理。当第二 DC的DCI路由器接收到第一 DC的DCI路由器发送的包含组播组信息的组播组加入请求消息时,可以获取到组播组加入请求消息中的组播组信息,根据该组播组信 息,查找第二 DC的DCI路由器中所存储的第二 DC中的组播组信息,确定是否有与组播组加入请求消息中的组播组信息相同的组播组信息,其中,第二 DC的DCI路由器中所储的第二DC中的组播组信息可以采用本实施例S301 S304第一 DC的DCI路由器获取组播组信息类似的方法获取,可参见本实施例上述的记载,本发明在此不再赘述。当第二 DC的DCI路由器确定没有与组播组加入请求消息中的组播组信息相同的组播组信息时,则第二 DC的DCI路由器不做任何处理。当第二DC的DCI路由器确定有与组播组加入请求消息中的组播组信息相同的组播组信息时,则第二 DC的DCI路由器建立与该组播组信息对应的组播组连接。第二 DC的DCI路由器建立与第一 DC的组播组信息对应的组播组连接的具体实现过程可以为首先,第二 DC的DCI路由器判断该DCI路由器有没有对应第二 DC的该组播组的入接口,如果第二 DC的DCI路由器判断该DCI路由器没有对应第二 DC的该组播组的入接口时,则第二 DC的DCI路由器向第二 DC的组播组发送PM协议加入报文,以使第二 DC的组播组中待传输数据可以被传输至第二 DC的DCI路由器,相应地,此时第二 DC的DCI路由器即具有对应第二 DC的该组播组的入接口,然后第二 DC的DCI路由器将与第一 DC的DCI路由器之间的互联接口加入至第二 DC的该组播组中;如果第二 DC的DCI路由器判断该DCI路由器中有对应第二 DC的该组播组的入接口时,则第二 DC的DCI路由器将与第一DC的DCI路由器之间的互联接口直接加入至第二 DC的该组播组中。因此,实现了第二 DC建立与组播组加入请求消息中组播组信息对应的组播组连接,从而使得各DC内相同的组播组建立了连接,以形成跨DC的组播组,第二 DC的组播组中待传输数据通过第二 DC的DCI路由器、该互联接口和第一 DC的DCI路由器传输至第一 DC内相同的组播组中,实现了同一组播组的VM跨DC互通。进一步地,本实施例还以两种可行的实现方式对S305 S307进行详细介绍。在第一种可行的实现方式中,在与第一 DC的DCI路由器建立连接的NVGRE网关中,当该NVGRE网关中子网的VM全部迁移出本DC或者全部关闭时,则该NVGRE网关通过所建立的连接向第一 DC的DCI路由器发送该子网对应的组播组离开消息,第一 DC的DCI路由器接收到该组播组离开消息后,删除第一 DC的DCI路由器中所存储的该子网对应的组播组信息,并向第二 DC发送IGMP V2协议或者MLD Vl协议封装的组播组删除请求消息,该组播组删除请求消息中包含离开第一 DC的组播组的组播组信息,以使第二 DC断开与该组播组信息对应的组播组连接。需要说明的,只有当IGMP协议为V2版本时或者当MLD协议为
Vl版本时才能主动发送组播组离开消息。当第二 DC的DCI路由器接收第一 DC的DCI路由器发送的上述包含组播组信息的组播组删除请求消息时,可以获取到组播组删除请求消息中的组播组信息,根据该组播组信息,查找第二 DC的DCI路由器中所存储的第二 DC中的组播组信息,确定是否有与组播组删除请求消息中的组播组信息相同的组播组信息,第二 DC的DCI路由器中所存的第二 DC中的组播组信息可以采用本实施例S301 S304第一 DC的DCI路由器获取组播组信息类似的方法获取,本发明在此不再赘述。当第二 DC的DCI路由器确定没有与组播组加入请求消息中的组播组信息相同的组播组信息时,则第二 DC的DCI路由器不做任何处理。当第二DC的DCI路由器确定有与组播组删除请求消息中的组播组信息相同的组播组信息时,则第二 DC的DCI路由器断开与该组播组信息对应的组播组连接。第二 DC的DCI路由器断开与第一 DC的组播组信息对应的组播组连接具体实现过 程可以为第二 DC的DCI路由器将与第一 DC的DCI路由器之间的互联接口从该组播组信息对应的组播组中删除,进一步判断第二 DC的DCI路由器是否为第二 DC的该组播组中待传输数据的最后一个接收口,即第二 DC的DCI路由器接收到第二 DC的该组播组中待传输数据后是否还存在下一跳设备可以接收该数据,如果判断第二 DC的DCI路由器不是第二 DC的该组播组中待传输数据的最后一个接收口,则第二 DC的DCI路由器不再做任何操作;如果判断第二 DC的DCI路由器是第二 DC的该组播组中待传输数据的最后一个接收口,即此时只有第二 DC中包含有该组播组,其它DC中已不存在该组播组,则第二 DC的DCI路由器向第二 DC内发送PM协议剪枝报文,将第二 DC的DCI路由器退出第二 DC的该组播组。因此,第二 DC的DCI路由器断开与第一 DC的组播组信息对应的组播组连接,可以使第二 DC中的该组播组中待传输的数据不必再转发至第一 DC中,以免造成带宽资源的浪费。在第二种可行的实现方式中,在与第一 DC的DCI路由器建立连接的NVGRE网关中,当在该NVGRE网关中又有新的子网出现时,则该NVGRE网关通过所建立的连接向第一DC的DCI路由器发送该新子网对应的组播组加入消息,该组播组组加入消息中可携带有新子网的组播组信息,第一 DC的DCI路由器接收到该组播组加入消息后,获取该新子网的组播组信息,并向第二 DC发送IGMP协议或者MLD协议封装的组播组加入请求消息,该组播组加入请求消息中包含新移入第一 DC的组播组的组播组信息,以使第二 DC建立与组播组信息对应的组播组连接,第二 DC的DCI路由器接收第一 DC的DCI路由器发送的包含组播组信息的组播组加入请求消息,根据组播组加入请求消息,建立与第一 DC中组播组信息对应的组播组连接。其中,第二 DC的DCI路由器建立与第一 DC中组播组信息对应的组播组连接的具体实现过程可以参见本实施例S307中详细介绍,本发明在此不再赘述。进一步地,针对第一 DC的路由器只配置有IGMP Vl协议或IGMP V3协议或MLD V2协议时,此时,第一 DC的DCI路由器能主动发送组播组加入请求消息,而不能主动发送组播组删除请求消息,因此,第二 DC的DCI路由器可以向第二 DC发送IGMP或MLD协议封装的组播组查询请求消息,第一 DC的DCI路由器接收到该组播组查询请求消息后,则向第二 DC发送第一 DC的DCI路由器所存储的第一 DC的组播组信息,然后第二 DC可以获知目前第一DC中包含的所有组播组信息,将该组播组信息与第二 DC和第一 DC之间的互联接口所加入组播组进行比较,如果该组播组信息与互联接口所加入的组播组均为一一对应关系,则第二 DC不做任何操作,但是,如果该组播组信息与互联接口所加入的组播组不为一一对应关系,则存在互联接口所加入的组播组中找不到一一对应的组播组信息时,即第一 DC中已不存在该互联接口所加入的组播组,则第二 DC断开与组播组信息对应的组播组连接,其中,第二 DC断开与第一 DC中组播组信息对应的组播组连接的具体实现过程可以参见本实施例上述的记载,本发明在此不再赘述。本实施例中,第一 DC的DCI路由器向第一 DC的NVGRE网关获取第一 DC内子网的组播组信息,第一 DC内采用PIM协议通信,向第二 DC发送IGMP/MLD协议封装的包含组播组信息的组播组加入请求消息,第二 DC的DCI路由器根据组播组加入请求消息建立与组播组信息对应的组播组连接;进一步地,当第一 DC中存在组播组移出第一 DC的情况时,第一DC的DCI路由器向第二 DC发送IGMP V2/MLD Vl协议封装的包含组播组信息的组播组删除请求消息,第二 DC的DCI路由器根据组播组删除请求消息断开与组播组信息对应的组播组连接;进一步地,当第一 DC中存在新移入组播组的情况时,第一 DC的DCI路由器再向第二DC发送IGMP/MLD协议封装的包含组播组信息的组播组加入请求消息,第二 DC的DCI路由器根据组播组加入请求消息建立与组播组信息对应的组播组连接;从而使得各DC内相同的组播组建立连接,以形成跨DC的组播组,实现了分布在不同DC内相同组播组中VM可以 跨DC进行互通,而且,由于DC内的各组播组分别采用第一协议获取路由信息实现互通,DC间采用简单的第二协议实现互通,从而简化了 VM跨DC的路由部署,使得VM跨DC互通的实现较为简单。需要说明的是,本发明各实施例中,第二DC可以为除第一DC以外的其它DC,而且,在具体实现时,DC的DCI路由器既可以执行上述第一 DC的DCI路由器所执行的功能,也可以执行上述第二 DC的DCI路由器所执行的功能。图4为本发明DCI路由器实施例一的结构示意图,如图4所示,本实施例的DCI路由器可以包括获取模块11和发送模块12,其中,获取模块11用于获取第一数据中心DC内子网的组播组信息,第一 DC内采用第一协议通信;发送模块12用于向第二 DC发送第二协议封装的组播处理请求消息,组播处理请求消息中包含组播组信息。本实施例的DCI路由器,可以用于执行图I所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。在本发明DCI路由器实施例二中,在图4所示DCI路由器结构的基础上,第一 DC内部采用PM协议通信,上述的发送模块12具体用于向第二 DC发送IGMP或MLD协议封装的组播处理请求消息。进一步地,上述的获取模块11具体用于向第一 DC内的NVGRE网关发送组播组信息获取请求;接收NVGRE网关根据组播组信息获取请求发送的组播组信息。进一步地,上述的获取模块11还具体用于获取NVGRE网关的地址信息;根据地址信息,与NVGRE网关之间建立连接。进一步地,作为第一种可行的实现方式,上述的获取模块11还用于接收与子网对应的NVGRE网关发送的组播组离开消息;上述的发送模块12具体用于向第二 DC发送包含组播组信息的组播组删除请求消息,以使第二 DC断开与组播组信息对应的组播组连接。作为第二种可行的实现方式,上述的获取模块11还用于接收子网对应的NVGRE网关发送的组播组加入消息;上述的发送模块12具体用于向第二 DC发送包含组播组信息的组播组加入请求消息,以使第二 DC建立与组播组信息对应的组播组连接。本实施例的DCI路由器,可以用于执行图3所示方法实施例中第一 DC的DCI路由器所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。图5为本发明实施例DCI路由器实施例三的结构示意图,如图5所示,本实施例的DCI路由器可以包括接收器21和发送器22,其中,接收器21用于获取第一数据中心DC内子网的组播组信息,第一 DC内采用第一协议通信;发送器22用于向第二 DC发送第二协议封装的组播处理请求消息,组播处理请求消息中包含组播组信息。本实施例的DCI路由器,可以用于执行图I所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。图6为本发明实施例DCI路由器实施例四的结构示意图,如图6所示,在图5所示DCI路由器结构的基础上,第一 DC内部采用PM协议通信,上述的接收器22具体用于向第
二DC发送IGMP或MLD协议封装的组播处理请求消息。上述的发送器22还用于向第一 DC内的NVGRE网关发送组播组信息获取请求;上述的接收器21具体用于接收NVGRE网关根据组播组信息获取请求发送的组播组信息。进一步地,上述的接收器21还具体用于获取NVGRE网关的地址信息;本实施例的DCI路由器还包括处理器23,其中,处理器23用于根据地址信息,与NVGRE网关之间建立连接。进一步地,作为第一种可行的实现方式,上述的接收器21还用于接收与子网对应的NVGRE网关发送的组播组离开消息;上述的发送器22具体用于向第二 DC发送包含组播组信息的组播组删除请求消息,以使第二 DC断开与组播组信息对应的组播组连接。作为第二种可行的实现方式,上述的接收器21还用于接收子网对应的NVGRE网关发送的组播组加入消息;上述的发送器22具体用于向第二 DC发送包含组播组信息的组播组加入请求消息,以使第二 DC建立与组播组信息对应的组播组连接。本实施例的DCI路由器,可以用于执行图3所示方法实施例中第一 DC的DCI路由器所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。图7为本发明DCI路由器实施例五的结构示意图,如图7所示,本实施例的DCI路由器可以包括接收模块31和处理模块32,其中,接收模块31用于接收第一 DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,组播处理请求消息采用第二协议封装;处理模块32用于根据组播组信息进行组播组处理。本实施例的DCI路由器,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。在本发明DCI路由器实施例六中,在图7所示DCI路由器结构的基础上,上述的组播处理请求消息采用IGMP或MLD协议封装。进一步地,作为第一种可行的实现方式,上述的接收模块31具体用于接收DCI路由器发送的包含组播组信息的组播组删除请求消息;上述的处理模块32具体用于根据组播组删除请求消息,断开与第一 DC的组播组信息对应的组播组连接。作为第二种可行的实现方式,上述的接收模块31具体用于接收DCI路由器发送的包含组播组信息的组播组加入请求消息;上述的处理模块32具体用于根据组播组加入请求消息,建立与第一 DC中组播组信息对应的组播组连接。
本实施例的DCI路由器,可以用于执行图3所示方法实施例中第二 DC的DCI路由器所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。图8为本发明DCI路由器实施例七的结构示意图,如图9所示,本实施例的DCI路由器可以包括接收器41和处理器42,其中,接收器41用于接收第一 DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,组播处理请求消息采用第二协议封装;处理器42用于根据组播组信息进行组播组处理。本实施例的DCI路由器,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。在本发明DCI路由器实施例八中,在图8所示DCI路由器结构的基础上,组播处理请求消息采用IGMP或MLD协议封装。作为第一种可行的实现方式,上述的接收器41具体
用于接收DCI路由器发送的包含组播组信息的组播组删除请求消息;上述的处理器42具体用于根据组播组删除请求消息,断开与第一 DC的组播组信息对应的组播组连接。作为第二种可行的实现方式,上述的接收器41具体用于接收DCI路由器发送的包含组播组信息的组播组加入请求消息;上述的处理器42具体用于根据组播组加入请求消息,建立与第一 DC中组播组信息对应的组播组连接。本实施例的DCI路由器,可以用于执行图3所示方法实施例中第二 DC的DCI路由器所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。图9为本发明实施例组播处理系统实施例一的结构示意图,如图9所示,本实施例的组播处理系统可以包括第一 DCI路由器50和第二 DCI路由器60,第一 DCI路由器50和第二 DCI路由器60之间通信连接,并且,第一 DCI路由器50为第一 DCl中的DCI路由器,第二 DCI路由器60为第二 DC2中的DCI路由器。其中,第一 DCI路由器50可以采用本发明DCI路由器实施例一至实施例四任一实施例所示的结构,其对应地,可以执行图I的技术方案或者图3所不方法实施例中第一 DC的DCI路由器所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。第二 DCI路由器60可以采用本发明DCI路由器实施例五至实施例八任一实施例所示的结构,其对应地,可以执行图2的技术方案或者图3所示方法实施例中第二 DC的DCI路由器所执行的技术方案,其实现原理和技术效果类似,此处不再赘述。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种组播组处理方法,其特征在于,包括 获取第一数据中心DC内子网的组播组信息,所述第一 DC内采用第一协议通信;向第二 DC发送第二协议封装的组播处理请求消息,所述组播处理请求消息中包含所述组播组信息。
2.根据权利要求I所述的方法,其特征在于,所述第一协议包括协议无关组播PIM协议; 所述向第二 DC发送第二协议封装的组播处理请求消息,包括 向所述第二 DC发送互联网组管理协议IGMP或组播侦听发现MLD协议封装的组播处理请求消息。
3.根据权利要求I或2所述的方法,其特征在于,所述获取第一DC内子网的组播组信息,包括 向所述第一 DC内的网络虚拟化通用路由封装NVGRE网关发送组播组信息获取请求; 接收所述NVGRE网关根据所述组播组信息获取请求发送的组播组信息。
4.根据权利要求3所述的方法,其特征在于,所述向所述第一DC内的NVGRE网关发送组播组信息获取请求之前,还包括 获取所述NVGRE网关的地址信息; 根据所述地址信息,与所述NVGRE网关之间建立连接。
5.根据权利要求I 4中任一项所述的方法,其特征在于,所述向第二DC发送第二协议封装的组播处理请求消息之前,还包括 接收与所述子网对应的NVGRE网关发送的组播组离开消息; 所述向第二 DC发送第二协议封装的组播处理请求消息,包括 向所述第二 DC发送包含所述组播组信息的组播组删除请求消息,以使所述第二 DC断开与所述组播组信息对应的组播组连接。
6.根据权利要求I 4中任一项所述的方法,其特征在于,所述向第二DC发送第二协议封装的组播处理请求消息之前,还包括 接收所述子网对应的NVGRE网关发送的组播组加入消息; 所述向第二 DC发送第二协议封装的组播处理请求消息,包括 向所述第二 DC发送包含所述组播组信息的组播组加入请求消息,以使所述第二 DC建立与所述组播组信息对应的组播组连接。
7.一种组播组处理方法,其特征在于,包括 接收第一数据中心DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,所述组播处理请求消息采用第二协议封装; 根据所述组播组信息进行组播组处理。
8.根据权利要求7所述的方法,其特征在于,所述组播处理请求消息采用第二协议封装,包括 所述组播处理请求消息采用互联网组管理协议IGMP或组播侦听发现MLD协议封装。
9.根据权利要求7或8所述的方法,其特征在于,所述接收第一DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,包括 接收所述DCI路由器发送的包含组播组信息的组播组删除请求消息;所述根据所述组播组信息进行组播组处理,包括 根据所述组播组删除请求消息,断开与所述第一 DC的所述组播组信息对应的组播组连接。
10.根据权利要求7或8所述的方法,其特征在于,所述接收第一DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,包括 接收所述DCI路由器发送的包含组播组信息的组播组加入请求消息; 所述根据所述组播组信息进行组播组处理,包括 根据所述组播组加入请求消息,建立与所述第一 DC中所述组播组信息对应的组播组连接。
11.一种DCI路由器,其特征在于,包括 获取模块,用于获取第一数据中心DC内子网的组播组信息,所述第一DC内采用第一协议通信; 发送模块,用于向第二 DC发送第二协议封装的组播处理请求消息,所述组播处理请求消息中包含所述组播组信息。
12.根据权利要求11所述的DCI路由器,其特征在于,所述第一协议包括协议无关组播PIM协议; 所述发送模块,具体用于向所述第二DC发送互联网组管理协议IGMP或组播侦听发现MLD协议封装的组播处理请求消息。
13.根据权利要求11或12所述的DCI路由器,其特征在于,所述获取模块具体用于向所述第一 DC内的网络虚拟化通用路由封装NVGRE网关发送组播组信息获取请求; 接收所述NVGRE网关根据所述组播组信息获取请求发送的组播组信息。
14.根据权利要求13所述的DCI路由器,其特征在于,所述获取模块还具体用于获取所述NVGRE网关的地址信息; 根据所述地址信息,与所述NVGRE网关之间建立连接。
15.根据权利要求11 14中任一项所述的DCI路由器,其特征在于,所述获取模块还具体用于接收与所述子网对应的NVGRE网关发送的组播组离开消息; 所述发送模块具体用于向所述第二 DC发送包含所述组播组信息的组播组删除请求消息,以使所述第二 DC断开与所述组播组信息对应的组播组连接。
16.根据权利要求11 14中任一项所述的DCI路由器,其特征在于, 所述获取模块还具体用于接收所述子网对应的NVGRE网关发送的组播组加入消息; 所述发送模块具体用于向所述第二 DC发送包含所述组播组信息的组播组加入请求消息,以使所述第二 DC建立与所述组播组信息对应的组播组连接。
17.—种DCI路由器,其特征在于,包括 接收模块,用于接收第一数据中心DC的数据中心互联DCI路由器发送的包含组播组信息的组播处理请求消息,所述组播处理请求消息采用第二协议封装; 处理模块,用于根据所述组播组信息进行组播组处理。
18.根据权利要求17所述的DCI路由器,其特征在于,所述组播处理请求消息采用第二协议封装,包括 所述组播处理请求消息采用互联网组管理协议IGMP或组播侦听发现MLD协议封装。
19.根据权利要求17或18所述的DCI路由器,其特征在于,所述接收模块具体用于接收所述DCI路由器发送的包含组播组信息的组播组删除请求消息; 所述处理模块具体用于根据所述组播组删除请求消息,断开与所述第一 DC的所述组播组信息对应的组播组连接。
20.根据权利要求17或18所述的DCI路由器,其特征在于, 所述接收模块具体用于接收所述DCI路由器发送的包含组播组信息的组播组加入请求消息; 所述处理模块具体用于根据所述组播组加入请求消息,建立与所述第一 DC中所述组播组信息对应的组播组连接。
21.一种组播处理系统,其特征在于,包括第一数据中心互联DCI路由器和第二数据中心互联DCI路由器,其中,所述第一 DCI路由器包括如权利要求11 16任一项所述的DCI路由器,所述第二 DCI路由器包括如权利要求17 20任一项所述的DCI路由器,所述第一DCI路由器和第二 DCI路由器之间通信连接。
全文摘要
本发明实施例提供一种组播组处理方法、DCI路由器及系统,该组播组处理方法包括获取第一数据中心DC内子网的组播组信息,第一DC内采用第一协议通信;向第二DC发送第二协议封装的组播处理请求消息,组播处理请求消息中包含组播组信息。本发明实施例通过向第二DC发送采用第二协议封装的组播处理请求消息,以使第二DC进行组播处理,从而使得各DC内相同的组播组建立连接,以形成跨DC的组播组,实现了分布在不同DC内相同组播组中VM可以跨DC进行互通,而且,由于DC内的各组播组分别采用第一协议通信,DC间采用简单的第二协议实现互通,从而简化了VM跨DC的路由部署,使得VM跨DC互通的实现较为简单。
文档编号H04L12/771GK102946355SQ20121037486
公开日2013年2月27日 申请日期2012年9月29日 优先权日2012年9月29日
发明者杨继尚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1