数据传输方法、装置和系统的制作方法

文档序号:8006379阅读:217来源:国知局
数据传输方法、装置和系统的制作方法
【专利摘要】本发明实施例提供一种数据传输方法、装置和系统。其中,方法包括:网络虚拟边缘NVE对待发送的第一广播、未知单播和组播BUM报文进行组播隧道封装,所述组播隧道封装包括为所述第一BUM报文添加用于指示所述第一BUM报文所属的组播组的信息;所述NVE向网络设备发送所述经过组播隧道封装的第一BUM报文,以使所述网络设备将所述第一BUM报文复制到所述网络设备连接的所述组播组的其他NVE,和/或,使所述网络设备对所述第一BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一BUM报文复制到所述组播组对应的其他网络设备。本发明实施例的数据传输方法、装置和系统,可以克服现有技术的数据传输方法实施困难的问题。
【专利说明】数据传输方法、装置和系统

【技术领域】
[0001]本发明实施例涉及网络技术,尤其涉及一种数据传输方法、装置和系统。

【背景技术】
[0002]在网络技术中,为了提高服务器的利用效率,服务器的虚拟化成为一种趋势。在应用了虚拟化技术的网络中,数据或者报文的传输可以使用虚拟可扩展局域网(英文:Virtual extensible Local Area Network,简称:VXLAN)协议或者网络虚拟化通用路由封装(英文:Network Virtulizat1n Generic Route Encapsulat1n,简称:NVGRE)协议,这两种协议能够较好的支持虚拟机(英文:Virtual Machine,简称:VM)迁移和海量租户。通常通过在原始以太网报文基础上添加特定的报文头,如用户数据报协议(英文=UserDatagram Protocol,缩写:UDP)或者因特网协议(英文:Internet Protocol,简称:IP)头,使VM能够在虚拟网络中自由移动,并通过VXLAN头中的VXLAN网络标识(英文=VXLANNetwork Identif ier,简称:VNI)或者NVGRE头中的虚拟子网标识(英文:Virtual SubnetIdentifier,简称:VSID)来标识租户或者租户的一个子网,以此来实现对海量租户的支持。包括NVGRE和VXLAN等在内的可以通过IP寻址的网络(三层网络)基础上叠加虚拟的通过媒体接入控制(英文:Media Access Control,简称:MAC)寻址的网络(二层网络)的技术统称为三层网络上的网络虚拟化(英文:Network Virtualizat1n over L3,简称:NV03)技术。对报文做以太网和NV03之间的封装和解封装的设备称为网络虚拟边缘(英文=NetworkVirtulizat1n Edge,简称:NVE)。
[0003]由于在NV03技术中报文是在三层网络中传输的,而三层网络不支持未知单播、广播报文的转发,因此,NVE只能将这类报文映射到组播组中发送或者转化为单播报文来发送。并且,NVE在对以太网报文做NV03封装时,需要知道目的VM或目的主机与NVE的连接关系。即,需要使NVE知道所有相关VM或主机(至少所述NVE上存在的VNI所对应的虚拟子网内的VM或主机)与其NVE的绑定关系。
[0004]现有技术中,NVE对广播、未知单播和组播(英文:Broadcast, Unknown unicastand Multicast,简称:BUM)报文做头端复制,即源VM或主机的NVE在收到BUM报文并对其进行组播隧道封装后,将所述BUM报文直接发送给网络设备,网络设备根据组播分发树将BUM报文发送给组播组对应的其他网络设备,再由接收所述BUM报文的网络设备将所述BUM报文发送给接收端的NVE,由所述接收端的NVE对所述BUM报文解除组播隧道封装。
[0005]但是,由于上述方案中,组播分发树的构建需要网络设备支持组播路由协议,而网络设备通常不一定支持组播路由协议,而且,很多现有网络并未部署组播,因此,需要对所述网络设备与其他网络设备进行改造,使其支持组播传输,这导致上述方案的实施难度较大,实现成本较高。


【发明内容】

[0006]本发明提供一种数据传输方法、装置和系统,以克服现有技术的数据传输方法实施困难的问题。
[0007]第一方面,本发明提供一种数据传输方法,包括:
[0008]网络虚拟边缘NVE对待发送的第一广播、未知单播和组播BUM报文进行组播隧道封装,所述组播隧道封装包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息;
[0009]所述NVE向网络设备发送所述经过组播隧道封装的第一 BUM报文,以使所述网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE,和/或,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0010]在第一方面的第一种可能的实现方式中,还包括:
[0011 ] 所述NVE接收所述网络设备发送的第二 BUM报文,所述第二 BUM报文经过组播隧道封装;
[0012]所述NVE解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的虚拟机。
[0013]结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述NVE向网络设备发送所述经过组播隧道封装的第一 BUM报文之前,或者在所述NVE接收所述网络设备发送的第二 BUM报文之前,还包括:
[0014]所述NVE向所述网络设备发送加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识,以使所述网络设备获得第一信息,并根据所述第一信息在所述网络设备上添加所述组播组的NVE接口 ;根据所述第一信息确定第二信息,并向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的单播隧道作为组播组接口,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
[0015]结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
[0016]所述NVE向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识,以使所述网络设备根据所述加入或离开的组播组的标识更新所述第一信息和所述加入或离开的组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0017]结合第一方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,还包括:
[0018]所述NVE接收所述网络设备发送的组播组状态查询报文,所述组播组状态查询报文中携带组播组标识;
[0019]当所述NVE属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备发送响应报文;
[0020]当所述NVE不属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备不发送响应报文,以使所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0021]结合第一方面的第二种或第三种可能的实现方式,在第五种可能的实现方式中,还包括:
[0022]所述NVE接收所述网络设备发送的组播组状态查询报文;
[0023]所述NVE向所述网络设备发送响应报文,所述响应报文中携带所述NVE所属的组播组的信息,以使所述网络设备确定是否需要更新所述第一信息和所述组播组的NVE接口,以及根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0024]第二方面,本发明提供一种数据传输方法,包括:
[0025]网络设备接收网络虚拟边缘NVE发送的经过组播隧道封装的第一广播、未知单播和组播BUM报文,所述经过组播隧道封装的第一 BUM报文中携带所述第一 BUM报文对应的组播组的信息,并执行以下步骤:
[0026]将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE ;和/或
[0027]对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。在第二方面的第一种可能的实现方式中,还包括:
[0028]所述网络设备通过所述组播组的单播隧道接口接收其他网络设备发送的第二 BUM报文;
[0029]所述网络设备解除所述第二 BUM报文的单播隧道封装后,将所述第二 BUM报文复制到所述网络设备连接的且属于所述组播组的NVE。
[0030]结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述网络设备接收网络虚拟边缘NVE发送的经过组播隧道封装的BUM报文之前,还包括:
[0031]所述网络设备接收所述NVE发送的加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识;
[0032]所述网络设备根据所述组播组的标识获得第一信息,并根据所述第一信息建立所述组播组的NVE接口,根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组;
[0033]所述网络设备向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0034]结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括:
[0035]所述网络设备向NV03管理器发送所述第二信息;
[0036]所述网络设备接收所述NV03管理器根据所述第二信息发送的组播组的单播隧道接口配置指令,建立组播组的单播隧道接口。
[0037]结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括:
[0038]所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0039]结合第二方面的第二种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,还包括:
[0040]所述网络设备接收所述NVE发送的加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识;
[0041]所述网络设备根据所述加入或离开的组播组的标识更新第一信息和所述加入或离开的组播组的NVE接口,并根据所述第一信息更新第二信息;
[0042]所述网络设备向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0043]结合第二方面的第二种至第五种可能的实现方式中的任意一种,在第六种可能的实现方式中,还包括:
[0044]所述网络设备向所述NVE发送组播组状态查询报文,所述组播组状态查询报文中携带组播组标识;
[0045]当所述网络设备在预设时间内未接收述NVE发送的响应报文时,所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息;
[0046]所述网络设备向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0047]结合第二方面的第二种至第五种可能的实现方式中的任意一种,在第七种可能的实现方式中,还包括:
[0048]所述网络设备向所述NVE发送组播组状态查询报文;
[0049]所述网络设备接收所述NVE发送的响应报文,所述响应报文中携带所述NVE所属的组播组的信息;
[0050]当所述网络设备判断出所述NVE所属的组播组的信息有变化时,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息;
[0051]所述网络设备向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0052]第三方面,本发明提供一种数据传输方法,包括:
[0053]三层网络上的网络虚拟化NV03管理器接收至少一个网络设备发送的第二信息,所述第二信息包括所述网络设备涉及的组播组;所述第二信息由所述网络设备根据第一信息确定,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系;
[0054]所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0055]在第三方面的第一种可能的实现方式中,所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括:
[0056]所述NV03管理器根据所述第二信息向所述网络设备发送组播组的单播隧道接口配置指令,以使所述网络设备建立所述组播组的单播隧道接口。
[0057]在第三方面的第二种可能的实现方式中,所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括:
[0058]所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0059]第四方面,本发明提供一种网络虚拟边缘NVE,包括:
[0060]封装模块,用于对待发送的第一广播、未知单播和组播BUM报文进行组播隧道封装,所述组播隧道封装用于包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息;
[0061]BUM报文发送模块,用于向网络设备发送所述经过组播隧道封装的第一 BUM报文,以使所述网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE,和/或,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0062]在第四方面的第一种可能的实现方式中,还包括:
[0063]BUM报文接收模块,用于接收所述网络设备发送的第二 BUM报文,所述第二 BUM报文经过组播隧道封装;
[0064]解析模块,用于解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的虚拟机。
[0065]结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
[0066]组播信息发送模块,用于在向网络设备发送所述经过组播隧道封装的第一 BUM报文之前,或者在所述NVE接收所述网络设备发送的第二 BUM报文之前,向所述网络设备发送加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识,以使所述网络设备获得第一信息,并根据所述第一信息在所述网络设备上添加所述组播组的NVE接口 ;并根据所述第一信息确定第二信息,并向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
[0067]结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,
[0068]所述组播信息发送模块,还用于向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识,以使所述网络设备根据所述加入或离开的组播组的标识更新所述第一信息和所述加入或离开的组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0069]结合第四方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,还包括:
[0070]查询报文接收模块,用于接收所述网络设备发送的组播组状态查询报文,所述组播组状态查询报文中携带组播组标识;
[0071 ] 响应模块,用于当所述NVE属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备发送响应报文;当所述NVE不属于所述组播组标识所对应的组播组时,不向所述网络设备发送响应报文,以使所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0072]结合第四方面的第二种或第三种可能的实现方式,在第五种可能的实现方式中,
[0073]所述查询报文接收模块,还用于接收所述网络设备发送的组播组状态查询报文;
[0074]所述响应模块,还用于向所述网络设备发送响应报文,所述响应报文中携带所述NVE所属的组播组的信息,以使所述网络设备确定是否需要更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0075]第五方面,本发明提供一种网络设备,包括:
[0076]BUM报文接收模块,用于接收网络虚拟边缘NVE发送的经过组播隧道封装的第一广播、未知单播和组播BUM报文,所述经过组播隧道封装的第一 BUM报文中携带所述第一BUM报文对应的组播组的信息;
[0077]BUM报文传输模块,用于将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE ;和/或,对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0078]在第五方面的第一种可能的实现方式中,所述BUM报文接收模块,还用于通过所述组播组的单播隧道接口接收其他网络设备发送的第二 BUM报文;
[0079]所述BUM报文传输模块,还用于所述网络设备解除所述第二 BUM报文的单播隧道封装后,将所述第二 BUM报文复制到所述网络设备连接的且属于所述组播组的NVE。
[0080]结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
[0081]组播信息接收模块,用于接收所述NVE发送的加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述加入的组播组的标识;
[0082]组播信息获取模块,用于根据所述组播组的标识获得第一信息,并根据所述第一信息建立所述组播组的NVE接口,根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组;
[0083]第二信息发送模块,用于向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0084]结合第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二信息发送模块具体用于:
[0085]向NV03管理器发送所述第二信息;
[0086]所述网络设备还包括:指令接收模块,用于接收所述NV03管理器根据所述第二信息发送的组播组的单播隧道接口配置指令,建立组播组的单播隧道接口。
[0087]结合第五方面的第二种可能的实现方式,在第四种可能的实现方式中,所述第二信息发送模块,具体用于:
[0088]向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0089]结合第五方面的第二种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述组播信息接收模块,还用于:
[0090]接收所述NVE发送的加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识;
[0091]所述组播信息获取模块,还用于根据所述加入或离开的组播组的标识更新第一信息和所述加入或离开的组播组的NVE接口,并根据所述第一信息更新第二信息;
[0092]所述第二信息发送模块,还用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0093]结合第五方面的第二种至第五种可能的实现方式中的任意一种,在第六种可能的实现方式中,还包括:
[0094]第一组播信息查询模块,用于向所述NVE发送组播组状态查询报文,所述组播组状态查询报文中携带组播组标识;
[0095]所述组播信息获取模块,还用于当在预设时间内未接收述NVE发送的响应报文时,确定所述NVE离开所述组播组标识所对应的组播组,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息;
[0096]所述第二信息发送模块,还用于向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0097]结合第五方面的第二种至第五种可能的实现方式中的任意一种,在第七种可能的实现方式中,还包括:
[0098]第二组播信息查询模块,用于向所述NVE发送组播组状态查询报文;
[0099]所述组播信息接收模块,还用于接收所述NVE发送的响应报文,所述响应报文中携带所述NVE所属的组播组的信息;
[0100]所述组播信息获取模块,还用于当判断出所述NVE所属的组播组的信息有变化时,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息;
[0101]所述第二信息发送模块,还用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0102]第六方面,本发明提供一种三层网络上的网络虚拟化NV03管理器,包括:
[0103]第二信息接收模块,用于接收网络设备发送的第二信息,所述第二信息包括所述网络设备涉及的组播组,所述第二信息由所述网络设备根据第一信息确定,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系;
[0104]组播组的单播隧道接口建立模块,用于根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0105]在第六方面的第一种可能的实现方式中,所述组播组的单播隧道接口建立模块具体用于:
[0106]所述NV03管理器根据所述第二信息向所述网络设备发送组播组的单播隧道接口配置指令,以使所述网络设备建立所述组播组的单播隧道接口。
[0107]在第六方面的第二种可能的实现方式中,所述组播组的单播隧道接口建立模块具体用于:
[0108]根据所述第二信息为复制点配置各组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0109]第七方面,本发明提供一种数据传输系统,包括:第四方面或第四方面的任意一种可能的实现方式所述的网络虚拟边缘NVE、第五方面或第五方面的任意一种可能的实现方式所述的网络设备、以及第六方面或第六方面的任意一种可能的实现方式所述的三层网络上的网络虚拟化NV03管理器。
[0110]本发明的数据传输方法、装置和系统,通过NVE对待发送的第一 BUM报文进行组播隧道封装,实现在第一 BUM报文的报文头中携带该BUM报文的组播组信息,再通过NVE将该第一 BUM报文发送给网络设备,以使网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE,或者,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备是通过组播组的单播隧道接口将BUM报文发送给所述组播组对应的其他网络设备,即,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。

【专利附图】

【附图说明】
[0111]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0112]图1为本发明数据传输方法对应的网络架构图;
[0113]图2为本发明数据传输方法实施例一的流程图;
[0114]图3为本发明数据传输方法实施例二的流程图;
[0115]图4为本发明数据传输方法实施例三的流程图;
[0116]图5为本发明数据传输方法实施例四的信令流程图;
[0117]图6为在图1的基础上增加了复制点的网络架构图;
[0118]图7为本发明数据传输方法实施例五的信令流程图;
[0119]图8为本发明NVE实施例一的结构示意图;
[0120]图9为本发明NVE实施例二的结构示意图;
[0121]图10为本发明网络设备实施例一的结构示意图;
[0122]图11为本发明网络设备实施例二的结构示意图;
[0123]图12为本发明NV03管理器实施例的结构示意图;
[0124]图13为本发明复制点实施例的结构示意图;
[0125]图14为本发明数据传输系统实施例的结构示意图。

【具体实施方式】
[0126]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0127]本发明实施例中涉及的主机可以为计算机或服务器。本发明实施例涉及的NVE可以为计算机中由软件实现的具有交换机功能的设备,如虚拟交换机vSwitch,也可以为独立的硬件设备,如交换机、路由器或者直接为计算机、服务器等。发明实施例涉及的网络设备可以为交换机或者路由器,在NV03网络中也可以称为机架顶部交换机(英文:Top of Rack,简称:T0R)。其中,在一些特殊场景中,例如NVE下只连接一个VM或一个主机的网络中,NVE与网络设备,以及NVE所连接的VM或主机可以集成在同一硬件设备中。本发明实施例涉及的NV03管理器可以为网络中的服务器。本发明实施例涉及的复制点可以为交换机或路由器。本发明实施例涉及的BUM报文可以为VM或主机产生的以太网报文,该BUM报文在虚拟网络中传输时需要经过组播隧道封装或单播隧道封装。在本发明实施例中,该BUM报文需要被复制到与所述VM或主机属于同一组播组的所有其他的VM或主机上,为了便于描述,将产生BUM报文的VM或主机称为源VM或源主机。
[0128]图1为本发明数据传输方法对应的网络架构图,如图1所示,本实施例的网络可以包括:NVE、网络设备、NV03管理器,其中,每个NVE可以连接至少一个VM或主机,每个网络设备可以连接至少一个NVE,各个网络设备之间通过三层网络连接,NVE与网络设备之间可以进行数据传输,网络设备之间可以通过单播隧道进行数据传输。在该网络中可以存在多个组播组,每个组播组包括至少两个VM或主机,每个组播组中的VM或主机可以分布在相同或不同的NVE下,也可以分布在相同或不同的网络设备下。图1所示的网络架构适用于图
2、图3、图4、图5以及图7所示的实施例所述的数据传输方法。
[0129]图2为本发明数据传输方法实施例一的流程图,本实施例的执行主体为NVE。如图1所示,本实施例的方法可以包括:
[0130]步骤201、NVE对待发送的第一 BUM报文进行组播隧道封装,所述组播隧道封装包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息。
[0131]其中,所述第一 BUM报文为与所述NVE连接的源VM或源主机发送的,该第一 BUM报文需要被复制到与所述源VM或源主机属于同一组播组的所有其他的VM或主机上。属于同一组播组的VM或主机可以为具有相同VNI的VM或主机,或者可以为具有相同VSID的VM或主机。组播组的分配也可以采用其它方式,例如,可以为多个VNI或VSID分配一个组播组,或者,可以为同一个VSID内的不同报文分配不同的组播组。
[0132]所述NVE对第一 BUM报文进行封装,具体可以为对所述第一 BUM报文添加包括所述NVE所属的组播组的信息的报文头。
[0133]步骤202、所述NVE向网络设备发送所述经过组播隧道封装的第一 BUM报文,以使所述网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVEjP/或,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0134]具体地,所述NVE与所述网络设备传输第一 BUM报文之前,在所述网络设备上已经存在组播组的NVE接口,所述组播组的NVE接口为所述网络设备根据与其相连接的各个NVE分别属于哪几个组播组的信息,为各个组播组添加的NVE接口 ;并且所述网络设备上已经存在所述网络设备与其他网络设备之间的组播组的单播隧道接口,例如,在同一组播组对应的各个网络设备上均设置有针对该组播组的单播隧道接口。
[0135]如图1所示的网络架构中,例如标识为A、B、C的网络设备上均存在属于第一组播组的NVE,或者说网络设备A、B、C上均存在至少一个属于第一组播组的NVE,每个NVE连接有属于第一组播组的VM或主机,则当网络设备A接收到一个属于第一组播组的源VM或源主机的NVE发送的BUM报文时,需要将该BUM报文复制到网络设备B和网络设备C。
[0136]由于现有网络中通常没有部署组播,在现有技术中,需要对网络设备进行改造,使其支持组播传输,并且由于各个NVE以及各个网络设备是互相对等的,即每个网络设备都可以发送数据和接收数据,因此,网络设备需要被改造为支持双向组播传输,即双向协议无关的多播(英文:Protocol Independent Multicast-Bidirect1n,简称:PIM_BIDIR),方案的实施难度较大,实现成本高。
[0137]而本实施例在具体实现时,其中一种实现方式为,在各个网络设备上配置组播组的单播隧道接口,例如可以在网络设备A、B、C上分别配置第一组播组的单播隧道接口。来自于第一组播组的VM或主机的BUM报文在经过NVE封装时,会在报文头中包含该BUM报文属于第一组播组的信息,因此,该BUM报文发送到网络设备后(假设为网络设备A),可以根据报文头中包含的第一组播组的信息,通过单播隧道复制到具有第一组播组的单播隧道接口的网络设备上,即复制到网络设备B和网络设备C,再由网络设备B和网络设备C将该BUM报文复制到分别与其连接的且属于第一组播组的NVE。
[0138]在另一种实现方式中,可以在图1所示的网络架构的基础上再设置一个复制点,可以将该复制点设置在NV03管理器与各个网络设备之间,并将该复制点作为中继点,并作为组播组的单播隧道接口,而各个网络设备上不需要再配置组播组的接口。具体地,可以将各组播组中的网络设备之间的单播隧道的列表配置在复制点上,各个网络设备在接收到NVE发送的BUM报文之后,只需要对该BUM报文进行单播隧道封装后发送给复制点,由复制点根据各组播组中的网络设备之间的单播隧道的列表将该BUM报文发送到该BUM报文对应的组播组的其他网络设备上。以上述的例子来说,当网络设备A连接的一个NVE将经过组播隧道封装的BUM报文发送给网络设备A后,网络设备A对该BUM报文进行单播隧道封装后发送给复制点,复制点根据该BUM报文中报文头获得其对应的组播组为第一组播组,然后根据所述各组播组中的网络设备之间的单播隧道的列表获得第一组播组对应的网络设备为网络设备A、B、C,由于网络设备A为发送该BUM报文的网络设备,因此,复制点在复制该BUM报文时可以将网络设备A排除,而将该BUM报文复制到网络设备B、C。
[0139]进一步地,对于所述组播组的其他NVE,在接收到第一 BUM报文之后,可以解除所述第一 BUM报文的组播隧道封装后,将所述第一 BUM报文进行解析并根据解析的信息将所述第一 BUM报文发送给相应的虚拟机。
[0140]由于各个NVE是对等的,作为本实施例的执行主体的NVE,也可能接收与该NVE连接的网络设备发送的BUM报文,为了描述得更为清楚,在本发明实施例中,将NVE向网络设备发送的BUM报文称为第一 BUM报文,将该NVE接收与该NVE连接的网络设备发送的BUM报文称为第二 BUM报文。在NVE接收到该NVE连接的网络设备发送的第二 BUM报文后,该NVE解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的VM或主机。
[0141]对于其他网络设备,在接收到第一 BUM报文之后,可以解除所述第一 BUM报文的单播隧道封装后,将所述第一 BUM报文复制到属于所述组播组的NVE,再由该NVE解除第一BUM报文的组播隧道封装后,将所述第一 BUM报文进行解析并根据解析的信息将所述第一BUM报文发送给相应的虚拟机或主机。
[0142]本实施例,通过NVE对待发送的第一 BUM报文进行组播隧道封装,实现在第一 BUM报文的报文头中携带该BUM报文的组播组信息,再通过NVE将该第一 BUM报文发送给网络设备,以使网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE,或者,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备是通过组播组的单播隧道接口将BUM报文发送给所述组播组对应的其他网络设备,即,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0143]并且,由于现有技术中,NVE在对以太网报文进行NV03封装时,需要知道目的地址的VM或主机和NVE的绑定关系,这需要NV03管理器和VM管理系统(英文:VM Manager,简称:VMM)对接,并从VMM获取VM相关信息,从而得到每个VNI的VM/host在各个NVE上的分布情况。而由于NV03管理器和VMM通常是由不同的厂商提供的,其接口不统一,因此,NV03管理器和VMM的对接难度较大,导致该方案的实施难度较大。而在本实施例中,不需要NV03管理器与VMM系统对接,因此能够避免NV03管理器和VMM的对接难度大而导致的方案难以实现的问题。
[0144]进一步地,上述实施例的方法,在所述NVE向网络设备发送所述经过组播隧道封装的第一 BUM报文之前,或者在所述NVE接收所述网络设备发送的第二 BUM报文之前,还包括以下使网络设备建立组播组的NVE接口和组播组的单播隧道接口的步骤:
[0145]所述NVE向所述网络设备发送加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识,以使所述网络设备获得第一信息,根据所述第一信息在所述网络设备上添加所述组播组的NVE接口 ;根据所述第一信息确定第二信息,并向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
[0146]进一步地,上述实施例的方法,还可以包括以下更新组播隧道和更新单播隧道的组播接口的步骤:
[0147]所述NVE向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入的组播组或离开的组播组的标识,以使所述网络设备根据所述NVE加入或离开的组播组的标识更新第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述第二信息以使所述NV03管理器根据所述第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0148]可以理解的是,由于第二信息为所述网络设备涉及的组播组,某个组播组第一个NVE加入时,或者,某个组播组的最后一个NVE离开时,所述第二信息会发生变化,因此,网络设备更新第二信息以及向所述NV03管理器发送第二信息的时机为某个组播组第一个NVE加入,或者,某个组播组的最后一个NVE离开,从网络设备的角度,某个组播组的第一个NVE加入可以为建立所述组播组的第一个NVE接口,某个组播组的最后一个NVE离开可以为删除所述组播组的最后一个NVE接口。
[0149]进一步地,在具体实现时,可能存在部分NVE在离开组播组时不向网络设备发送离开组播组的第二组播协议报文,针对这种情况,所述网络设备可以按照预设的时间周期对各个NVE进行组播组查询。组播组查询有两种方式,一种是特定组查询,查询某一个特定组播组的成员信息,在报文中携带要查询的组播组标识,另一种是通用组查询,查询所有组播组成员信息,报文中不包含要查询的组播组标识。下面详细介绍这两种组播组查询的方式。
[0150]在特定组查询的方式中,网络设备向NVE发送组播组状态查询报文,所述组播组状态查询报文中携带组播组标识,当所述NVE属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备发送响应报文,这时网络设备可以确定所述NVE仍然属于该组播组,因此不需要更新该组播组的信息;当所述网络设备在预设时间内未接收述NVE发送的响应报文时,所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新第二信息,并且,所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0151]在通用组查询的方式中,所述网络设备可以按照预设的时间周期,向NVE发送组播组状态查询报文,所述NVE向所述网络设备发送响应报文,所述响应报文中携带所述NVE所属的组播组的信息,以使所述网络设备确定是否需要更新所述第一信息,当网络设备确定出所述响应报文中携带的所述NVE所属的组播组的信息与第一信息不一致时,则更新第一信息和所述组播组的NVE接口,以及根据所述第一信息更新第二信息,并向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0152]图3为本发明数据传输方法实施例二的流程图,本实施例的执行主体为网络设备。如图3所示,本实施例的方法可以包括:
[0153]步骤301、网络设备接收NVE发送的经过组播隧道封装的第一 BUM报文,所述经过组播隧道封装的第一 BUM报文中携带所述第一 BUM报文对应的组播组的信息。
[0154]其中,所述第一 BUM报文为与所述NVE连接的源VM或源主机发送的,该第一 BUM报文需要被复制到与所述源VM或源主机属于同一组播组的所有其他VM或主机上。同一组播组可以为具有相同VNI的VM或主机,或者可以为具有相同VSID的VM或主机。
[0155]所述经过组播隧道封装的第一 BUM报文的报文头中携带所述第一 BUM报文对应的组播组的信息。
[0156]步骤302、所述网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE。
[0157]具体地,所述NVE与所述网络设备之间以及所述组播组的其他NVE与所述网络设备之间已经存在根据组播组建立的组播组的NVE接口。
[0158]步骤302为可选步骤,由于网络设备可以连接多个NVE,因此,若该网络设备连接的其他NVE中存在属于该第一 BUM报文对应的组播组的NVE,则执行步骤302,若该网络设备下不存在属于该第一 BUM报文对应的组播组的NVE,则不执行步骤302。
[0159]步骤303、所述网络设备对所述第一 BUM报文进行单播隧道封装后通过组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0160]其中,步骤302与步骤303没有顺序关系,也可以先执行步骤303再执行步骤302。
[0161]具体地,所述网络设备与其他网络设备之间已经存在组播组的单播隧道接口。
[0162]由于一般的网络设备支持单播传输,在现有技术中,需要对网络设备进行改造,使其支持组播传输,并且由于各个NVE以及各个网络设备是互相对等的,即每个网络设备都可以发送数据和接收数据,因此,网络设备需要被改造为支持双向组播传输,方案的实施难度较大,实现成本高。
[0163]而本实施例在具体实现时,其中一种实现方式为,在各个网络设备上配置组播组的单播隧道接口,例如可以在网络设备A、B、C上分别配置第一组播组的接口。来自于第一组播组的VM或主机BUM的报文在经过NVE封装时,会在报文头中包含第一组播组的信息,因此,该BUM报文发送到网络设备后(假设为网络设备A),网络设备可以根据报文头中包含的第一组播组的信息,通过单播隧道复制所述BUM报文到具有第一组播组的接口的网络设备,如网络设备B和网络设备C上。
[0164]在另一种实现方式中,可以在图1所示的网络架构的基础上再设置一个复制点,可以将该复制点设置在NV03管理器与各个网络设备之间,并将该复制点作为组播组的单播隧道接口,并作为BUM报文传输的中继点,而各个网络设备上不需要再配置组播组的单播隧道接口。具体地,可以将各个网络设备涉及的组播组信息配置在复制点上,例如可以为复制点配置各组播组中的网络设备之间的单播隧道的列表,各个网络设备在接收到NVE发送的BUM报文之后,只需要对该BUM报文进行单播隧道封装后发送给复制点,由复制点根据各组播组中的网络设备之间的单播隧道的列表将该BUM报文发送到组播组的其他网络设备上。以上述的例子来说,当网络设备A连接的一个NVE将经过组播隧道封装的BUM报文发送给网络设备A后,网络设备A对该BUM报文进行单播隧道封装后发送给复制点,复制点根据该BUM报文中的报文头获得其对应的组播组为第一组播组,然后根据所述组播组中的网络设备之间的单播隧道的列表获得第一组播组对应的网络设备为网络设备A、B、C,由于网络设备A为发送该BUM报文的网络设备,因此,复制点在复制该BUM报文时可以将网络设备A排除,而将该BUM报文复制到网络设备B、C。
[0165]进一步地,在步骤303之后,其他网络设备在接收到该第一 BUM报文之后,可以解除所述第一 BUM报文的单播隧道封装后,将该第一 BUM报文发送给该其他网络设备连接的且属于所述组播组的NVE,接收该第一 BUM报文的NVE再解除所述第一 BUM报文的组播隧道封装后,将所述第一 BUM报文进行解析并根据解析的信息将所述第一 BUM报文发送给相应的VM或主机。
[0166]由于各个网络设备是对等的,本实施例的执行主体所述的网络设备,也可能通过组播组的单播隧道接口接收其他网络设备发送的第二 BUM报文,并可以解除所述第二 BUM报文的单播隧道封装后将所述第二 BUM报文发送给所述网络设备连接的且属于所述组播组的NVE,接收该第二 BUM报文的NVE再解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的VM或主机。
[0167]本实施例,网络设备接收NVE发送的经过组播隧道封装的第一 BUM报文后,根据第一BUM报文中携带的组播组的信息,将所述第一 BUM报文复制到所述组播组的其他NVE,以及/或者,对所述第一 BUM报文进行单播隧道封装后通过组播组的单播隧道接口复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备是通过组播组的单播隧道接口将第一 BUM报文发送给所述组播组对应的其他网络设备,S卩,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0168]进一步地,上述实施例的方法,在所述网络设备接收NVE发送的经过组播隧道封装的第一 BUM报文之前,还包括以下建立组播隧道和建立组播组的单播隧道接口的步骤:
[0169]步骤一、所述网络设备接收NVE发送的加入组播组的第一组播协议报文,所述第一组播协议报文中携带所述加入的组播组的标识;
[0170]步骤二、所述网络设备根据所述加入的组播组的标识获得第一信息,根据所述第一信息建立组播组的NVE接口,并根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组;
[0171]步骤三、所述网络设备向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0172]进一步地,上述的步骤三的第一种可能的实现方式可以为:所述网络设备向NV03管理器发送所述第二信息后,接收所述NV03管理器根据所述第二信息发送的组播组的单播隧道接口配置指令,建立组播组的单播隧道接口。
[0173]进一步地,上述的步骤三的第二种可能的实现方式可以为:所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息为复制点配置各组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0174]进一步地,上述实施例的方法,还可以包括以下更新组播隧道和更新单播隧道的组播接口的步骤:
[0175]步骤一、所述网络设备接收所述NVE发送的加入或离开组播组的组播协议报文,所述组播协议报文中携带所述加入的组播组或离开的组播组的标识;
[0176]步骤二、所述网络设备根据所述NVE加入或离开的组播组的标识更新第一信息和组播组的NVE接口,并根据所述第一信息更新第二信息;
[0177]步骤三、所述网络设备向所述NV03管理器发送所述第二信息以使所述NV03管理器根据所述第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0178]可以理解的是,由于第二信息为所述网络设备涉及的组播组,某个组播组第一个NVE加入时,或者,某个组播组的最后一个NVE离开时,所述第二信息会发生变化,因此,网络设备更新第二信息以及向所述NV03管理器发送第二信息的时机为某个组播组第一个NVE加入,或者,某个组播组的最后一个NVE离开,从网络设备的角度,某个组播组的第一个NVE加入可以为建立所述组播组的第一个NVE接口,某个组播组的最后一个NVE离开可以为删除所述组播组的最后一个NVE接口。
[0179]进一步地,在具体实现时,可能存在部分NVE在离开组播组时不向网络设备发送离开组播组的第二组播协议报文,针对这种情况,所述网络设备可以按照预设的时间周期,对各个NVE进行组播组查询。组播组查询有两种方式,一种是特定组查询,查询某一个特定组播组的成员信息,在报文中携带要查询的组播组标识,另一种是通用组查询,查询所有组播组成员信息,报文中不包含要查询的组播组标识。这两种组播组查询的方式的具体内容可以参见前面的描述,此处不再赘述。
[0180]图4为本发明数据传输方法实施例三的流程图,本实施例的执行主体为NV03管理器。NV03管理器本身不参与数据传输的过程,而是用于根据第二组播信息为所述网络设备与其他网络设备建立组播组的单播隧道接口。如图3所示,本实施例的方法可以包括:
[0181]步骤401、NV03管理器接收网络设备发送的第二信息,所述第二信息包括所述网络设备涉及的组播组。
[0182]步骤402、所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0183]进一步地,具体实现时,步骤402的一种实现方式可以为:
[0184]所述NV03管理器根据所述第二信息向所述网络设备发送组播组的单播隧道接口配置指令,以使所述网络设备建立所述组播组的单播隧道接口。
[0185]具体地,NV03管理器可以根据所述第二信息确定每个组播组分别涉及哪些网络设备,然后基于每个组播组,为每个网络设备配置到该组播组涉及的其它网络设备的单播隧道接口,所述单播隧道接口例如为该组播组涉及的其他网络设备的IP地址。
[0186]或者,步骤402的另一种实现方式可以为:
[0187]所述NV03管理器根据所述第二信息为复制点配置各组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的各组播组的单播隧道接口。
[0188]具体地,NV03管理器可以根据所述第二信息确定每个组播组分别涉及哪些网络设备,然后基于每个组播组在网络设备上的分布,为复制点配置各组播组中的网络设备之间的单播隧道的列表,所述列表可以包括每个组播组涉及的所有网络设备的IP地址,将所述复制点作为各个网络设备之间的组播组的单播隧道接口,并将所述复制点作为BUM报文传输的中继点。即,当网络设备接收到BUM报文时,将BUM报文进行单播隧道封装后发送到复制点,复制点根据所述组播组中的网络设备之间的单播隧道的列表查询到该BUM报文对应的组播组涉及的是哪些网络设备,并根据该组播组中的网络设备之间的单播隧道的列表将该BUM报文复制到涉及的网络设备。
[0189]在具体实现时,当第二信息发生变化时,网络设备可以重新向NV03管理器发送更新后的第二信息,这时,NV03管理器可以根据更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0190]本实施例,NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,使得网络设备能够在接收NVE发送的经过组播隧道封装的BUM报文后,根据BUM报文中携带的组播组的信息,对所述BUM报文进行单播隧道封装后通过组播组的单播隧道接口复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备能够通过组播组的单播隧道接口将BUM报文发送给所述组播组对应的其他网络设备,即,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0191]图5为本发明数据传输方法实施例四的信令流程图,本实施例描述了 NVE、网络设备以及NV03管理器互相交互的过程,本实施例可以采用图1所示的网络架构,NVE和网络设备的个数均可以为多个,为了便于描述,在本实施例中,以第一网络设备和第二网络设备之间以及与各自连接的NVE之间的交互为例进行描述,假设第一网络设备和第二网络设备均属于第一组播组,第一网络设备下连接有第一 NVE和第二 NVE,第二网络设备下连接有第三NVE和第四NVE (图中未示出),第一 NVE、第二 NVE和第三NVE属于第一组播组。在本实施例中,假设组播隧道和组播组的单播隧道接口均已配置完成。如图5所示,本实施例的方法可以包括:
[0192]步骤501、第一 NVE对待发送的第一 BUM报文进行组播隧道封装,所述组播隧道封装包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息。
[0193]由于第一 NVE属于第一组播组,因此,在步骤501中第一 NVE可以在第一 BUM报文的报文头中添加第一组播组的标识。
[0194]步骤502、第一 NVE向第一网络设备发送所述经过组播隧道封装的第一 BUM报文。
[0195]步骤503、第一网络设备通过所述组播组的NVE接口将所述第一 BUM报文复制到第二NVE。
[0196]具体地,第一网络设备根据该第一 BUM报文中的报文头判断该第一 BUM报文对应的组播组为第一组播组,然后确定出该第一网络设备所连接的NVE中,除了第一 NVE之外,属于第一组播组的NVE为第二 NVE,因此将所述BUM报文复制到第二 NVE。
[0197]需要说明的是,步骤503为可选步骤,如果第一网络设备所连接的NVE中,除了第一 NVE之外,没有其他NVE属于第一组播组,则不需要执行步骤503。
[0198]步骤504、第一网络设备对所述第一 BUM报文进行单播隧道封装后,通过组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的第二网络设备。
[0199]具体地,一种可能的实现方式为,第一网络设备根据该第一 BUM报文中的报文头判断该第一 BUM报文对应的组播组为第一组播组,然后根据组播组的单播隧道接口确定出该第一网络设备所连接的其他网络设备中,属于第一组播组的网络设备为第二网络设备,因此将所述第一 BUM报文复制到第二网络设备。
[0200]或者,步骤504的另一种可能的实现方式可以为,组播组的单播隧道接口为复制点,则步骤504具体为,第一网络设备对所述第一 BUM报文进行单播隧道封装后发送给复制点,由复制点将所述第一 BUM报文复制到所述组播组对应的第二网络设备。在这种方式中,需要在图1所示的网络架构中增加网络实体复制点,复制点在物理形态上可以与网络设备相同的,具有复制和转发功能,可以为交换机或路由器。图6为在图1的基础上增加了复制点的网络架构图,如图6所示,复制点可以设置在NV03管理器与各个网络设备之间。
[0201]步骤505、第二网络设备通过所述组播组的NVE接口将所述第一 BUM报文复制到第三 NVE。
[0202]具体地,第二网络设备根据该第一 BUM报文中的报文头判断该第一 BUM报文对应的组播组为第一组播组,然后确定出该第二网络设备所连接的NVE中,属于第一组播组的NVE为第三NVE,因此将所述第一 BUM报文复制到第三NVE。
[0203]本实施例,第一 NVE对待发送的第一 BUM报文进行组播隧道封装,实现在第一 BUM报文的报文头中携带该第一 BUM报文的组播组信息,再由第一 NVE将该第一 BUM报文发送给第一网络设备,第一网络设备将所述BUM报文复制到与所述第一网络设备连接的且也属于第一组播组的第二 NVE,并且,第一网络设备对所述第一 BUM报文进行单播隧道封装后,通过组播组的单播隧道接口将该第一 BUM报文复制到所述组播组对应的第二网络设备,再由第二网络设备将所述第一 BUM报文复制到第三NVE,在本实施例的方案中,由于各个网络设备是通过组播组的单播隧道接口将第一 BUM报文发送给所述组播组对应的其他网络设备,即,仍然是通过单播的方式发送第一 BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0204]图7为本发明数据传输方法实施例五的信令流程图,本实施例描述了 NVE、网络设备以及NV03管理器互相交互以建立并更新组播组的NVE接口和组播组的单播隧道接口的过程,其中,本实施例的建立组播组的NVE接口和组播组的单播隧道接口的过程需要在图5所示实施例的方法之前(步骤501之前)进行,并作为图5所示实施例的方法的基础,而更新组播组的NVE接口和组播组的单播隧道接口的过程与图5所示实施例中的各个步骤没有顺序关系。本实施例可以采用图1所示的网络架构,NVE和网络设备均可以为多个,由于在本实施例中,各个NVE的操作类似,各个网络设备的操作类似,且不涉及各个NVE之间以及各个网络设备之间的互相交互,因此,为了便于描述,在本实施例的步骤中,不再区分NVE的标识和网络设备的标识,而在对步骤进行举例说明时才采用第一 NVE、第一网络设备等名称。如图7所示,本实施例的方法包括:
[0205]步骤701、NVE向所述网络设备发送加入组播组的第一组播协议报文,所述第一组播协议报文中携带所述加入的组播组的标识。
[0206]在具体实现时,第一 NVE在第一次检测到其所连接的一个VM或主机加入了第一组播组,则确定该第一 NVE属于第一组播组,需要建立第一组播组的组播隧道,因此触发步骤701的执行,而在此之后再次检测到该第一 NVE连接的其他的VM或主机加入第一组播组时,则不需要再执行步骤701。
[0207]步骤702、网络设备根据所述加入的组播组的标识获得第一信息,并根据所述第一信息建立组播组的NVE接口,并根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
[0208]具体地,网络设备会收集该网络设备连接的所有NVE所加入的组播组的信息,来获得第一信息,并根据所述第一信息建立组播隧道以及确定第二信息。
[0209]需要说明的是,第一组播组、第二组播组分别为组播组的标识,而第一信息用于表明网络设备上连接的各个NVE分别属于那些组播组,例如(假设):对于第一网络设备来说,第一信息为:第一 NVE属于第一组播组,第二 NVE属于第一组播组和第二组播组。第二信息用于表明所述网络设备对应哪些组播组,例如,对于第一网络设备来说,第二信息为第二网络设备涉及的组播组为第一组播组和第二组播组。
[0210]步骤703、网络设备向NV03管理器发送所述第二信息。
[0211]步骤704、NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0212]进一步地,步骤704的一种可能的实现方式可以为:NV03管理器根据所述第二信息确定每个组播组分别涉及哪些网络设备,然后基于每个组播组,为每个网络设备配置到该组播组涉及的其它网络设备的接口,例如该组播组涉及的其他网络设备的IP地址,作为该组播组的单播隧道接口。
[0213]进一步地,步骤704的另一种实现方式可以为:
[0214]所述NV03管理器根据所述第二信息为复制点配置各组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口,并将所述复制点作为BUM报文传输的中继点。
[0215]这种方式需要采用图6所示的网络架构。复制点在物理形态上可以与网络设备相同的,具有复制和转发功能,可以为交换机或路由器。复制点可以设置在NV03管理器与各个网络设备之间,复制点与网络设备之间通过单播隧道进行数据传输。
[0216]具体地,NV03管理器可以根据所述第二信息确定每个组播组分别涉及哪些网络设备,然后基于每个组播组在网络设备上的分布,为复制点配置各组播组中的网络设备之间的单播隧道的列表,所述各组播组中的网络设备之间的单播隧道的列表可以包括每个组播组涉及的所有网络设备的IP地址,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。在这种方式下,报文的传输也对应于图5所示实施例的步骤504的第二种实施方式,即,当网络设备接收到BUM报文时,将BUM报文进行单播隧道封装后发送到复制点,复制点根据所述组播组中的网络设备之间的单播隧道的列表查询到该BUM报文对应的组播组涉及的是哪些网络设备,并根据该所述组播组中的网络设备之间的单播隧道的列表将该BUM报文复制到涉及的网络设备。
[0217]在这种实现方式中,对于组播组的单播隧道接口的建立,复制点需要执行的步骤为:
[0218]接收NV03管理器发送的组播组中的网络设备之间的单播隧道的列表,将所述组播组中的网络设备之间的单播隧道的列表作为组播组的单播隧道接口。
[0219]而对于BUM报文的复制和传输,复制点需要执行的步骤为:
[0220]步骤一、复制点接收网络设备发送的BUM报文;
[0221]步骤二、复制点根据组播组中的网络设备之间的单播隧道的列表,将所述BUM报文复制到所述组播组对应的网络设备。
[0222]采用这种实现方式的技术效果为,复制报文的功能由复制点来执行,各个网络设备不需要进行复制,从而可以节省复制报文所需的网络带宽;并且,由于NV03不需要对每个网络设备配置组播组的单播隧道接口,而只需要配置复制点一个网络实体,配置的对象由多个减少为一个,从而能够提高配置效率。
[0223]在具体实现时,复制点也可以设置为多个,例如可以按照VNI/VSID来分配不同的复制点,可以将一部分VNI或VSID所对应的虚拟网络中的报文分配到一个复制点进行复制和传输,另一部分VNI或VSID所对应的虚拟网络中的报文分配到其他复制点进行复制和传输。为了保证配置的效率和降低成本,可以控制复制点的数量少于网络设备的数量。
[0224]进一步地,本实施例,在步骤702之后还可以包括对第一信息以及第二信息进行更新,从而对组播组的NVE接口以及组播组的单播隧道接口进行更新的过程。具体地,还可以包括:
[0225]步骤705、NVE向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或退出的组播组的标识。
[0226]例如,当第一 NVE连接的VM或主机中又有一个VM或主机加入第二组播组,或者其他组播组时,或者当有一个属于第一组播组的VM或主机离开第一组播组时,则会触发步骤705的执行。
[0227]步骤706、网络设备根据所述NVE加入或离开的组播组的标识更新第一信息和组播组的NVE接口,并根据所述第一信息更新第二信息。
[0228]可以理解的是,由于第二信息为所述网络设备涉及的组播组,某个组播组第一个NVE加入时,或者,某个组播组的最后一个NVE离开时,所述第二信息会发生变化,因此,网络设备更新第二信息的时机为某个组播组第一个NVE加入,或者,某个组播组的最后一个NVE离开,从网络设备的角度,某个组播组的第一个NVE加入可以为建立某个组播组的第一个NVE接口,某个组播组的最后一个NVE离开可以为删除所述组播组的最后一个NVE接口。
[0229]进一步地,可能存在部分NVE在离开组播组时不向网络设备发送离开组播组的组播协议报文,针对这种情况,所述网络设备可以按照预设的时间周期,对各个NVE进行组播组查询。组播组查询有两种方式,一种是特定组查询,查询某一个特定组播组的成员信息,在报文中携带要查询的组播组标识,另一种是通用组查询,查询所有组播组成员信息,报文中不包含要查询的组播组标识。这两种组播组查询的方式的具体内容可以参见前面的描述,此处不再赘述。
[0230]步骤707、网络设备向NV03管理器发送所述第二信息。
[0231]步骤708、NV03管理器根据所述第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0232]本实施例中,NVE向所述网络设备发送加入组播组的第一组播协议报文,获知各个NVE属于哪个组播组的第一信息,并且确定出网络设备本身属于哪几个组播组的第二信息,并将第二信息发送给NV03管理器,从而,网络设备可以根据第一信息建立该网络设备上的组播组的NVE接口,NV03管理器可以根据第二组播信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,以使BUM报文能够在NVE与网络设备之间进行组播复制和传输,在各个网络设备之间进行单播复制和传输;并且,当NVE的组播组状态有变化时,网络设备能够获知该变化并且更新第一信息和第二信息,从而更新组播隧道和组播组的单播隧道接口,从而保证BUM报文复制和传输的正确性。
[0233]图8为本发明NVE实施例一的结构示意图,如图8所示,本实施例的NVE800可以包括:封装模块11和BUM报文发送模块12,其中,
[0234]封装模块11,用于对待发送的第一 BUM报文进行组播隧道封装,所述组播隧道封装包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息;
[0235]BUM报文发送模块12,用于向网络设备发送所述经过组播隧道封装的第一 BUM报文,以使所述网络设备将所述第一 BUM报文复制到所述组播组的其他NVE,和/或,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0236]本实施例的NVE,可以用于执行图2所示方法实施例的技术方案或者图5所示方法实施例中对应NVE执行的技术方案,其实现原理类似,此处不再赘述。
[0237]本实施例的NVE,通过对待发送的第一 BUM报文进行组播隧道封装,实现在第一BUM报文的报文头中携带该BUM报文的组播组信息,再通过NVE将该第一 BUM报文发送给网络设备,以使网络设备将所述第一 BUM报文复制到所述组播组的其他NVE,或者,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过组播组的单播隧道接口复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备是通过组播组的单播隧道接口将BUM报文发送给所述组播组对应的其他网络设备,S卩,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0238]图9为本发明NVE实施例二的结构示意图,如图9所示,本实施例的NVE900在图8所示NVE实施例的基础上,还可以包括:
[0239]BUM报文接收模块13,可以用于接收所述网络设备发送的第二 BUM报文,所述第二BUM报文经过组播隧道封装;
[0240]解析模块14,可以用于解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的虚拟机。
[0241]进一步地,本实施例的NVE,还可以包括:
[0242]组播信息发送模块15,用于在向网络设备发送所述经过组播隧道封装的第一 BUM报文之前,或者在所述NVE接收所述网络设备发送的第二 BUM报文之前,向所述网络设备发送加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识,以使所述网络设备获得第一信息,并根据所述第一信息在所述网络设备上添加所述组播组的NVE接口,根据所述第一信息确定第二信息,,并向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
[0243]进一步地,所述组播信息发送模块15,还可以用于向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识,以使所述网络设备根据所述加入或离开的组播组的标识更新所述第一信息和所述加入或离开的组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0244]进一步地,本实施例的NVE,还可以包括:
[0245]查询报文接收模块16,用于接收所述网络设备发送的组播组状态查询报文,所述组播组状态查询报文中携带组播组标识;
[0246]响应模块17,用于当所述NVE属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备发送响应报文;当所述NVE不属于所述组播组标识所对应的组播组时,不向所述网络设备发送响应报文,以使所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0247]进一步地,所述查询报文接收模块16,还可以用于接收所述网络设备发送的组播组状态查询报文;
[0248]所述响应模块17,还可以用于向所述网络设备发送响应报文,所述响应报文中携带所述NVE所属的组播组的信息,以使所述网络设备确定是否需要更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0249]本实施例的NVE,可以用于执行图2所示方法实施例的技术方案,或者图7所示方法实施例中对应NVE执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0250]图10为本发明网络设备实施例一的结构示意图,如图10所示,本实施例的网络设备1000可以包括:BUM报文接收模块21和BUM报文传输模块22,其中,
[0251]BUM报文接收模块21,可以用于接收网络虚拟边缘NVE发送的经过组播隧道封装的第一 BUM报文,所述经过组播隧道封装的第一 BUM报文中携带所述第一 BUM报文对应的组播组的信息;
[0252]BUM报文传输模块22,可以用于将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE ;和/或,对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
[0253]本实施例的网络设备,可以用于执行图3所示方法实施例的技术方案,或图5所示方法实施例中对应网络设备执行的技术方案其实现原理类似,此处不再赘述。
[0254]本实施例,通过接收NVE发送的经过组播隧道封装的第一 BUM报文后,根据第一BUM报文中携带的组播组的信息,将所述第一 BUM报文复制到所述网络设备连接的且属于所述组播组的其他NVE,以及/或者,对所述第一 BUM报文进行单播隧道封装后通过组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备是通过组播组的单播隧道接口将BUM报文发送给所述组播组对应的其他网络设备,即,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0255]进一步地,上述实施例的网络设备,所述BUM报文接收模块21,还可以用于通过所述组播组的单播隧道接口接收其他网络设备发送的第二 BUM报文;
[0256]所述BUM报文传输模块22,还可以用于所述网络设备解除所述第二 BUM报文的单播隧道封装后,将所述第二 BUM报文复制到所述网络设备连接的属于所述组播组的NVE。
[0257]图11为本发明网络设备实施例二的结构示意图,如图11所示,本实施例的网络设备1100在图10所示网络设备的基础上,进一步地,还可以包括:
[0258]组播信息接收模块23,用于接收所述NVE发送的加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述加入的组播组的标识;
[0259]组播信息获取模块24,用于根据所述组播组的标识获得第一信息,并根据所述第一信息建立所述组播组的NVE接口,根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组;
[0260]第二信息发送模块25,用于向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0261]进一步地,所述第二信息发送模块25具体可以用于:
[0262]向NV03管理器发送所述第二信息;
[0263]所述网络设备还可以包括:指令接收模块26,用于接收所述NV03管理器根据所述第二信息发送的组播组的单播隧道接口配置指令,建立组播组的单播隧道接口。
[0264]进一步地,所述第二信息发送模块25,具体可以用于:
[0265]向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0266]进一步地,所述组播信息接收模块23,还可以用于:
[0267]接收所述NVE发送的加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识;
[0268]所述组播信息获取模块24,还可以用于根据所述加入或离开的组播组的标识更新第一信息和组播组的NVE接口,并根据所述第一信息更新第二信息;
[0269]所述第二信息发送模块25,还可以用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0270]进一步地,本实施例的网络设备还可以包括:
[0271]第一组播信息查询模块27,用于向所述NVE发送组播组状态查询报文,所述组播组状态查询报文中携带组播组标识;
[0272]所述组播信息获取模块24,还可以用于当在预设时间内未接收述NVE发送的响应报文时,确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息;
[0273]所述第二信息发送模块25,还可以用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0274]进一步地,本实施例的网络设备还可以包括:
[0275]第二组播信息查询模块28,用于向所述NVE发送组播组状态查询报文;
[0276]所述组播信息接收模块23,还可以用于接收所述NVE发送的响应报文,所述响应报文中携带所述NVE所属的组播组的信息;
[0277]所述组播信息获取模块24,还可以用于当判断出所述NVE所属的组播组的信息有变化时,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息;
[0278]所述第二信息发送模块25,还可以用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0279]本实施例的网络设备,可以用于执行图3所示方法实施例的技术方案,或图7所示方法实施例中对应网络设备执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0280]图12为本发明NV03管理器实施例的结构示意图,如图12所示,本实施例的NV03管理器1200可以包括:第二信息接收模块31和BUM报文组播组的单播隧道接口建立模块32,其中,
[0281]第二信息接收模块31,可以用于接收网络设备发送的第二信息,所述第二信息包括所述网络设备涉及的组播组,所述第二信息由所述网络设备根据第一信息确定,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系;
[0282]组播组的单播隧道接口建立模块32,可以用于根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0283]进一步地,所述组播组的单播隧道接口建立模块32具体可以用于:
[0284]所述NV03管理器根据所述第二信息向所述网络设备发送组播组的单播隧道接口配置指令,以使所述网络设备建立所述组播组的单播隧道接口。
[0285]或者,所述组播组的单播隧道接口建立模块32具体可以用于:
[0286]根据所述第二信息为复制点配置各组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
[0287]本实施例的NV03管理器,可以用于执行图4所示方法实施例的技术方案,或者可以用于执行图5或图7所示方法实施例中对应NV03管理器执行的技术方案其实现原理类似,此处不再赘述。
[0288]本实施例的NV03管理器,通过组播组的单播隧道接口建立模块根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,使得网络设备能够在接收NVE发送的经过组播隧道封装的BUM报文后,根据BUM报文中携带的组播组的信息,对所述BUM报文进行单播隧道封装后通过组播组的单播隧道接口复制到所述组播组对应的其他网络设备,在本实施例的方案中,由于网络设备能够通过组播组的单播隧道接口将BUM报文发送给所述组播组对应的其他网络设备,即,仍然是通过单播的方式发送BUM报文,符合网络设备的原有设计,而不需要将网络设备改造为支持双向组播传输,因此能够降低实现成本。
[0289]图13为本发明复制点实施例的结构示意图,如图13所示,本实施例的复制点1300可以包括:接收模块41和BUM报文传输模块42,其中,
[0290] 接收模块41,可以用于接收网络设备发送的经过组播隧道封装和单播隧道封装的BUM报文,所述组播隧道封装和单播隧道封装的BUM报文中携带所述BUM报文对应的组播组;
[0291 ] BUM报文传输模块42,可以用于根据各组播组中的网络设备之间的单播隧道的列表,将所述BUM报文复制到所述组播组对应的网络设备。
[0292]进一步地,所述接收模块41,还可以用于:
[0293]接收三层网络上的网络虚拟化NV03管理器发送的各组播组中的网络设备之间的单播隧道的列表。
[0294]本实施例的复制点,可以用于执行图5所示方法实施例中步骤504的一种实现方式所述的技术方案以及图7所示方法实施例中步骤704的一种实现方式所述的技术方案,其实现原理类似,此处不再赘述。
[0295]本实施例的复制点的技术效果为,复制报文的功能由复制点来执行,各个网络设备不需要进行复制,从而可以节省复制报文所需的网络带宽;并且,由于NV03不需要对每个网络设备配置组播组的单播隧道接口,而只需要配置复制点,可以减少配置的对象,从而能够提高配置效率。
[0296]图14为本发明数据传输系统实施例的结构示意图,如图14所示,本实施例的系统1400可以包括:NVE、网络设备、和NV03管理器,其中,NVE可以采用图8或图9所示装置实施例的结构,网络设备可以采用图10或图11所示装置实施例的结构,NV03管理器可以采用图12所示装置实施例的结构。
[0297]进一步地,本实施例的数据传输系统还可以包括复制点,该复制点可以采用图13所示装置实施例的结构。
[0298]本实施例的数据传输系统,可以执行图5或图7所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0299]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0300]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种数据传输方法,其特征在于,包括: 网络虚拟边缘NVE对待发送的第一广播、未知单播和组播BUM报文进行组播隧道封装,所述组播隧道封装包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息; 所述NVE向网络设备发送所述经过组播隧道封装的第一 BUM报文,以使所述网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE,和/或,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
2.根据权利要求1所述的方法,其特征在于,还包括: 所述NVE接收所述网络设备发送的第二 BUM报文,所述第二 BUM报文经过组播隧道封装; 所述NVE解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的虚拟机。
3.根据权利要求1或2所述的方法,其特征在于,在所述NVE向网络设备发送所述经过组播隧道封装的第一 BUM报文之前,或者在所述NVE接收所述网络设备发送的第二 BUM报文之前,还包括: 所述NVE向所述网络设备发送加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识,以使所述网络设备获得第一信息,并根据所述第一信息在所述网络设备上添加所述组播组的NVE接口 ;根据所述第一信息确定第二信息,并向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的单播隧道作为组播组接口,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
4.根据权利要求3所述的方法,其特征在于,还包括: 所述NVE向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识,以使所述网络设备根据所述加入或离开的组播组的标识更新所述第一信息和所述加入或离开的组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
5.根据权利要求3或4所述的方法,其特征在于,还包括: 所述NVE接收所述网络设备发送的组播组状态查询报文,所述组播组状态查询报文中携带组播组标识; 当所述NVE属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备发送响应报文; 当所述NVE不属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备不发送响应报文,以使所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
6.根据权利要求3或4所述的方法,其特征在于,还包括: 所述NVE接收所述网络设备发送的组播组状态查询报文; 所述NVE向所述网络设备发送响应报文,所述响应报文中携带所述NVE所属的组播组的信息,以使所述网络设备确定是否需要更新所述第一信息和所述组播组的NVE接口,以及根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
7.一种数据传输方法,其特征在于,包括: 网络设备接收网络虚拟边缘NVE发送的经过组播隧道封装的第一广播、未知单播和组播BUM报文,所述经过组播隧道封装的第一 BUM报文中携带所述第一 BUM报文对应的组播组的信息,并执行以下步骤: 将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE ;和/或 对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
8.根据权利要求7所述的方法,其特征在于,还包括: 所述网络设备通过所述组播组的单播隧道接口接收其他网络设备发送的第二 BUM报文; 所述网络设备解除所述第二 BUM报文的单播隧道封装后,将所述第二 BUM报文复制到所述网络设备连接的且属于所述组播组的NVE。
9.根据权利要求7或8所述的方法,其特征在于,在所述网络设备接收网络虚拟边缘NVE发送的经过组播隧道封装的BUM报文之前,还包括: 所述网络设备接收所述NVE发送的加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识; 所述网络设备根据所述组播组的标识获得第一信息,并根据所述第一信息建立所述组播组的NVE接口,根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组; 所述网络设备向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
10.根据权利要求9所述的方法,其特征在于,所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括: 所述网络设备向NV03管理器发送所述第二信息; 所述网络设备接收所述NV03管理器根据所述第二信息发送的组播组的单播隧道接口配置指令,建立组播组的单播隧道接口。
11.根据权利要求9所述的方法,其特征在于,所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括: 所述网络设备向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
12.根据权利要求9?11中任一项所述的方法,其特征在于,还包括: 所述网络设备接收所述NVE发送的加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识; 所述网络设备根据所述加入或离开的组播组的标识更新第一信息和所述加入或离开的组播组的NVE接口,并根据所述第一信息更新第二信息; 所述网络设备向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接□。
13.根据权利要求9?12中任一项所述的方法,其特征在于,还包括: 所述网络设备向所述NVE发送组播组状态查询报文,所述组播组状态查询报文中携带组播组标识; 当所述网络设备在预设时间内未接收述NVE发送的响应报文时,所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息; 所述网络设备向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
14.根据权利要求9?12中任一项所述的方法,其特征在于,还包括: 所述网络设备向所述NVE发送组播组状态查询报文; 所述网络设备接收所述NVE发送的响应报文,所述响应报文中携带所述NVE所属的组播组的信息; 当所述网络设备判断出所述NVE所属的组播组的信息有变化时,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息; 所述网络设备向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接□。
15.一种数据传输方法,其特征在于,包括: 三层网络上的网络虚拟化NV03管理器接收网络设备发送的第二信息,所述第二信息包括所述网络设备涉及的组播组;所述第二信息由所述网络设备根据第一信息确定,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系; 所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
16.根据权利要求15所述的方法,其特征在于,所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括: 所述NV03管理器根据所述第二信息向所述网络设备发送组播组的单播隧道接口配置指令,以使所述网络设备建立所述组播组的单播隧道接口。
17.根据权利要求15所述的方法,其特征在于,所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,包括: 所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接□。
18.一种网络虚拟边缘NVE,其特征在于,包括: 封装模块,用于对待发送的第一广播、未知单播和组播BUM报文进行组播隧道封装,所述组播隧道封装用于包括为所述第一 BUM报文添加用于指示所述第一 BUM报文所属的组播组的信息; BUM报文发送模块,用于向网络设备发送所述经过组播隧道封装的第一 BUM报文,以使所述网络设备将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE,和/或,使所述网络设备对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
19.根据权利要求18所述的NVE,其特征在于,还包括: BUM报文接收模块,用于接收所述网络设备发送的第二 BUM报文,所述第二 BUM报文经过组播隧道封装; 解析模块,用于解除所述第二 BUM报文的组播隧道封装后,将所述第二 BUM报文进行解析并根据解析的信息将所述第二 BUM报文发送给相应的虚拟机。
20.根据权利要求18或19所述的NVE,其特征在于,还包括: 组播信息发送模块,用于在向网络设备发送所述经过组播隧道封装的第一 BUM报文之前,或者在所述NVE接收所述网络设备发送的第二 BUM报文之前,向所述网络设备发送加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述组播组的标识,以使所述网络设备获得第一信息,并根据所述第一信息在所述网络设备上添加所述组播组的NVE接口 ;并根据所述第一信息确定第二信息,并向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组。
21.根据权利要求20所述的NVE,其特征在于, 所述组播信息发送模块,还用于向所述网络设备发送加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识,以使所述网络设备根据所述加入或离开的组播组的标识更新所述第一信息和所述加入或离开的组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
22.根据权利要求20或21所述的NVE,其特征在于,还包括: 查询报文接收模块,用于接收所述网络设备发送的组播组状态查询报文,所述组播组状态查询报文中携带组播组标识; 响应模块,用于当所述NVE属于所述组播组标识所对应的组播组时,所述NVE向所述网络设备发送响应报文;当所述NVE不属于所述组播组标识所对应的组播组时,不向所述网络设备发送响应报文,以使所述网络设备确定所述NVE离开所述组播组标识所对应的组播组,并更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
23.根据权利要求20或21所述的NVE,其特征在于, 所述查询报文接收模块,还用于接收所述网络设备发送的组播组状态查询报文; 所述响应模块,还用于向所述网络设备发送响应报文,所述响应报文中携带所述NVE所属的组播组的信息,以使所述网络设备确定是否需要更新所述第一信息和所述组播组的NVE接口,根据所述第一信息更新所述第二信息,并向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
24.一种网络设备,其特征在于,包括: BUM报文接收模块,用于接收网络虚拟边缘NVE发送的经过组播隧道封装的第一广播、未知单播和组播BUM报文,所述经过组播隧道封装的第一 BUM报文中携带所述第一 BUM报文对应的组播组的信息; BUM报文传输模块,用于将所述第一 BUM报文复制到所述网络设备连接的所述组播组的其他NVE ;和/或,对所述第一 BUM报文进行单播隧道封装后通过所述组播组的单播隧道接口将所述第一 BUM报文复制到所述组播组对应的其他网络设备。
25.根据权利要求24所述的网络设备,其特征在于, 所述BUM报文接收模块,还用于通过所述组播组的单播隧道接口接收其他网络设备发送的第二 BUM报文; 所述BUM报文传输模块,还用于所述网络设备解除所述第二 BUM报文的单播隧道封装后,将所述第二 BUM报文复制到所述网络设备连接的且属于所述组播组的NVE。
26.根据权利要求24或25所述的网络设备,其特征在于,还包括: 组播信息接收模块,用于接收所述NVE发送的加入所述组播组的第一组播协议报文,所述第一组播协议报文中携带所述加入的组播组的标识; 组播信息获取模块,用于根据所述组播组的标识获得第一信息,并根据所述第一信息建立所述组播组的NVE接口,根据所述第一信息确定第二信息,其中,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系,所述第二信息包括所述网络设备涉及的组播组; 第二信息发送模块,用于向三层网络上的网络虚拟化NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
27.根据权利要求26所述的网络设备,其特征在于,所述第二信息发送模块具体用于: 向NV03管理器发送所述第二信息; 所述网络设备还包括:指令接收模块,用于接收所述NV03管理器根据所述第二信息发送的组播组的单播隧道接口配置指令,建立组播组的单播隧道接口。
28.根据权利要求26所述的网络设备,其特征在于,所述第二信息发送模块,具体用于: 向NV03管理器发送所述第二信息,以使所述NV03管理器根据所述第二信息为复制点配置组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
29.根据权利要求26?28中任一项所述的网络设备,其特征在于,所述组播信息接收模块,还用于: 接收所述NVE发送的加入或离开组播组的第二组播协议报文,所述第二组播协议报文中携带所述加入或离开的组播组的标识; 所述组播信息获取模块,还用于根据所述加入或离开的组播组的标识更新第一信息和所述加入或离开的组播组的NVE接口,并根据所述第一信息更新第二信息; 所述第二信息发送模块,还用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
30.根据权利要求26?29中任一项所述的网络设备,其特征在于,还包括: 第一组播信息查询模块,用于向所述NVE发送组播组状态查询报文,所述组播组状态查询报文中携带组播组标识; 所述组播信息获取模块,还用于当在预设时间内未接收述NVE发送的响应报文时,确定所述NVE离开所述组播组标识所对应的组播组,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息; 所述第二信息发送模块,还用于向所述NV03管理器发送所述更新后的第二信息,以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
31.根据权利要求26?29中任一项所述的网络设备,其特征在于,还包括: 第二组播信息查询模块,用于向所述NVE发送组播组状态查询报文; 所述组播信息接收模块,还用于接收所述NVE发送的响应报文,所述响应报文中携带所述NVE所属的组播组的信息; 所述组播信息获取模块,还用于当判断出所述NVE所属的组播组的信息有变化时,更新所述第一信息和所述组播组的NVE接口,并根据所述第一信息更新所述第二信息; 所述第二信息发送模块,还用于向所述NV03管理器发送所述更新后的第二信息以使所述NV03管理器根据所述更新后的第二信息更新所述网络设备与其他网络设备之间的组播组的单播隧道接口。
32.一种三层网络上的网络虚拟化NV03管理器,其特征在于,包括: 第二信息接收模块,用于接收网络设备发送的第二信息,所述第二信息包括所述网络设备涉及的组播组,所述第二信息由所述网络设备根据第一信息确定,所述第一信息包括与所述网络设备连接的NVE及其所属的组播组的对应关系; 组播组的单播隧道接口建立模块,用于根据所述第二信息建立所述网络设备与其他网络设备之间的组播组的单播隧道接口。
33.根据权利要求32所述的NV03管理器,其特征在于,所述组播组的单播隧道接口建立模块具体用于: 所述NV03管理器根据所述第二信息向所述网络设备发送组播组的单播隧道接口配置指令,以使所述网络设备建立所述组播组的单播隧道接口。
34.根据权利要求32所述的NV03管理器,其特征在于,所述组播组的单播隧道接口建立模块具体用于: 根据所述第二信息为复制点配置各组播组中的网络设备之间的单播隧道的列表,将所述复制点作为所述网络设备与其他网络设备之间的组播组的单播隧道接口。
35.一种数据传输系统,其特征在于,包括:如权利要求18?23中任一项所述的网络虚拟边缘NVE、如权利要求24?31中任一项所述的网络设备、以及如权利要求32?34中任一项所述的三层网络上的网络虚拟化NV03管理器。
【文档编号】H04L12/18GK104426680SQ201310395295
【公开日】2015年3月18日 申请日期:2013年9月3日 优先权日:2013年9月3日
【发明者】杨继尚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1