CN105450526A - 一种报文处理方法和设备 - Google Patents
一种报文处理方法和设备 Download PDFInfo
- Publication number
- CN105450526A CN105450526A CN201410232568.6A CN201410232568A CN105450526A CN 105450526 A CN105450526 A CN 105450526A CN 201410232568 A CN201410232568 A CN 201410232568A CN 105450526 A CN105450526 A CN 105450526A
- Authority
- CN
- China
- Prior art keywords
- nve
- entity
- virtual machine
- information
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种报文处理方法和设备,用于解决现有处理方式中由手动配置于需要VM的信息,容易出错的问题。方法包括:第一NVE实体在确定接收到的源虚拟机发送的报文为目标虚拟机位置未知的未知报文后,向与该未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE查询该未知报文的目标虚拟机的信息,该控制面信令中包括用于指示第二NVE实体启动数据面查询的指示信息;第一NVE实体接收第二NVE实体返回的响应信令,并根据该响应信令确定目标虚拟机的信息。由于无需手动配置或更新VM的信息,提高了获取目标虚拟机的信息的准确性,应用范围更广。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种报文处理方法和设备。
背景技术
数据中心(DataCenter,DC)是大量数据集中而形成的集成IT应用环境,是数据计算、网络传输、存储的中心。随着各行业IT应用的快速增长,“虚拟化”和“云计算”成为数据中心的发展趋势。在数据中心,需要支持大量的虚拟网络(VirtualNetwork,VN),为不同的租户提供相互隔离的网络服务。
随着数据中心的服务器虚拟化技术的大量使用,虚拟机(VirtualMachine,VM)的迁移需要一个容量大于现有层2网络容量的虚拟化技术,并且在混合云和公有云的数据中心,需要支持海量租户,传统网络无法满足需求。针对上述问题,基于层三网络的网络虚拟化(NetworkVirtualizationoverLayer3,NVO3)技术应运而生,NVO3可以不改动现有网络架构,仅需增加网关设备,就可以解决虚拟机迁移问题,并能够支持更多的租户。NVO3技术的基本思路是,通过引入隧道技术,对虚拟网络的报文进行隧道再封装,从而将不同的虚拟网络通过不同的隧道加以区分。
在数据中心中引入网络虚拟边缘(NetworkVirtualizationEdge,NVE)实体,该NVE实体位于承载网络和租户虚拟网络之间的网络边缘实体,实现对虚拟网络的隧道封装。面向虚拟网络侧,NVE实体的功能为负责封装租户数据,以及向其他NVE实体发送数据或接收其他NVE实体发送的数据;面向租户侧,NVE实体的功能为向租户系统发送报文(数据面数据)或接收租户系统发送的报文。
为避免三角路由造成的流量绕行,通常NVE实体会作为分布式网关(DistributedGateway)对接收到的报文进行转发,这要求NVE实体需要能够获取到所有需要被访问的虚拟机的信息,如虚拟机的标识信息,虚拟机所属的NVE实体等。如果NVE实体接收到了未知报文(即目标VM的位置未知的数据面报文,例如目标虚拟机的媒体接入控制(MediaAccessControl,MAC)地址未知,或者目标虚拟机所属的NVE实体未知),现有的处理方式为:在每个NVE实体上对所有VM的信息进行统一管理和配置,即在每个NVE实体上尽量配置所有VM的信息,若NVE实体接收到了未知报文,则直接丢弃该未知报文。该方式下,由于要求在每个NVE实体上对所有VM的信息进行统一管理和配置,即在每个NVE实体上尽量配置所有VM的信息,这样,该系统每增加或修改一个VM的信息,则所有NVE实体的配置都需要修改,操作频繁,并且由于是手动配置,容易出错。
发明内容
本发明实施例提供了一种报文处理方法和设备,解决了现有处理方式中由手动配置于需要VM的信息,容易出错的问题。
第一方面,一种报文处理方法,该方法包括:
第二NVE实体接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
若本地存储的虚拟机信息中未包含所述目标虚拟机的信息,所述第二NVE实体向自身所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息。
结合第一方面,在第一种可能的实现方式中,所述第二NVE实体接收所述第一NVE实体发送的控制面信令,包括:
所述第二NVE实体直接接收所述第一NVE实体发送的所述控制面信令;或者,所述第二NVE实体接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体;
所述第二NVE实体向所述第一NVE实体返回响应信令,包括:
所述第二NVE实体直接向所述第一NVE实体返回响应信令;或者,所述第二NVE实体通过控制节点向所述第一NVE实体返回响应信令。
结合第一方面,在第二种可能的实现方式中,所述第二NVE实体向自身所管理的虚拟机发送数据面报文,包括:
所述第二NVE实体从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并向自身所管理的同一租户内的虚拟机发送所述数据面报文;或者
所述第二NVE实体向自身所管理的所有虚拟机发送所述数据面报文。
结合第一方面、第一方面的第一种可能的实现方式、或者第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二NVE实体确定所述目标虚拟机归属于自身,包括:
在接收到虚拟机发送的响应报文后,所述第二NVE实体确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;
在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,所述第二NVE实体确定所述目标虚拟机归属于自身。
结合第一方面、第一方面的第一种可能的实现方式、或者第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述目标虚拟机的信息包括以下信息中的至少一种信息:
所述目标虚拟机的地址信息、所述目标虚拟机所属的NVE实体的信息、所述目标虚拟机所属的租户的信息。
第二方面,一种NVE实体,该NVE实体包括:
第一确定模块,用于在确定接收到的源虚拟机发送的报文为目标虚拟机位置未知的未知报文后,向与所述未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
第二确定模块,用于接收所述第二NVE实体返回的响应信令,并根据所述响应信令,确定所述未知报文的目标虚拟机的信息。
结合第二方面,在第一种可能的实现方式中,所述第一确定模块具体用于:
确定出与所述未知报文相关的第二NVE实体,并向每个所述第二NVE实体发送控制面信令;或者
向控制节点发送控制面信令,以使所述控制节点将所述控制面信令发送给由所述控制节点确定出的与所述未知报文相关的第二NVE实体。
第三方面,一种NVE实体,该NVE实体包括:
第一处理模块,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
第二处理模块,用于在本地存储的虚拟机信息中未包含目标虚拟机的信息时,向自身所属的NVE实体所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息。
结合第三方面,在第一种可能的实现方式中,所述第一处理模块具体用于:直接接收所述第一NVE实体发送的所述控制面信令;或者,接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体;
所述第二处理模块具体用于:直接向所述第一NVE实体返回响应信令;或者,通过控制节点向所述第一NVE实体返回响应信令。
结合第三方面,在第二种可能的实现方式中,所述第二处理模块向自身所管理的虚拟机发送数据面报文,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并向自身所管理的同一租户内的虚拟机发送所述数据面报文;或者
向自身所管理的所有虚拟机发送所述数据面报文。
结合第三方面、第三方面的第一种可能的实现方式、或者第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二处理模块确定所述目标虚拟机归属于自身所属的NVE实体,包括:
在接收到虚拟机发送的响应报文后,确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;以及在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,确定所述目标虚拟机归属于自身所属的NVE实体。
第四方面,一种控制节点,包括:
收发模块,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示与所述未知报文相关的第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
确定模块,用于确定出与所述未知报文相关的第二NVE实体,并将所述控制面信令发送给所述第二NVE实体。
结合第四方面,在第一种可能的实现方式中,所述确定模块确定出与所述未知报文相关的第二NVE实体,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据所述租户的信息,确定出所述租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体;或者
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据已配置的所述租户的子网归属信息,确定出所述控制面信令所包含的目标虚拟机的地址信息所归属的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体。
第五方面,一种NVE实体,包括:
收发器,用于接收源虚拟机发送的报文;向与所述未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;以及接收所述第二NVE实体返回的响应信令;
处理器,用于在确定所述收发器接收到的报文为目标虚拟机位置未知的未知报文后,触发所述收发器发送所述控制面信令;以及根据所述收发器接收到的响应信令,确定所述未知报文的目标虚拟机的信息。
其中,所述收发器与所述处理器之间通过总线连接。
结合第五方面,在第一种可能的实现方式中,处理器具体用于:
确定出与该未知报文相关的第二NVE实体,并触发所述收发器向每个第二NVE实体发送控制面信令;或者
触发所述收发器向控制节点发送控制面信令,以使控制节点将该控制面信令发送给由该控制节点确定出的与该未知报文相关的第二NVE实体。
第六方面,一种NVE实体,包括:
收发器,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;以及向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息;
处理器,用于在本地存储的虚拟机信息中未包含所述目标虚拟机的信息时,向自身所属的NVE实体所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,触发所述收发器发送所述响应信令,所述响应信令中携带所述目标虚拟机的信息。
其中,所述收发器与所述处理器之间通过总线连接。
结合第六方面,在第一种可能的实现方式中,所述收发器具体用于:直接接收所述第一NVE实体发送的所述控制面信令;或者,接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体;
所述收发器具体用于:直接向所述第一NVE实体返回响应信令;或者,通过控制节点向所述第一NVE实体返回响应信令。
结合第六方面,在第二种可能的实现方式中,所述处理器具体用于:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并触所述发收发器向自身所管理的同一租户内的虚拟机发送所述数据面报文;或者
触发所述收发器向自身所管理的所有虚拟机发送所述数据面报文。
结合第六方面、第六方面的第一种可能的实现方式、或者第六方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器确定目标虚拟机归属于自身所属的NVE实体,包括:
在所述收发器接收到虚拟机发送的响应报文后,确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;以及在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,确定所述目标虚拟机归属于自身所属的NVE实体。
第七方面,一种控制节点,包括:
收发器,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示与所述未知报文相关的第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
处理器,用于确定出与所述未知报文相关的第二NVE实体,并触发所述收发器将所述控制面信令发送给所述第二NVE实体。
其中,所述收发器与所述处理器之间通过总线连接。
结合第七方面,在第一种可能的实现方式中,所述处理器确定出与所述未知报文相关的第二NVE实体,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据所述租户的信息,确定出所述租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体;或者
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据已配置的所述租户的子网归属信息,确定出所述控制面信令所包含的目标虚拟机的地址信息所归属的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体。
本发明实施例提供的方法和设备中,第一NVE实体接收到源虚拟机发送的未知报文后,通过向与该未知报文相关的第二NVE实体发送控制面信令,以使第二NVE实体启动数据面查询,以查询该未知报文的目标虚拟机的信息,从而无需手动配置或更新VM的信息,提高了查询的准确性。
附图说明
图1为本发明提供的第一种报文处理方法的流程示意图;
图2为本发明提供的第二种报文处理方法的流程示意图;
图3为本发明提供的第三种报文处理方法的流程示意图;
图4为本发明提供的实施例一的数据中心的架构图;
图5为本发明提供的第一种NVE实体的示意图;
图6为本发明提供的第二种NVE实体的示意图;
图7为本发明提供的第一种控制节点的示意图;
图8为本发明提供的第三种NVE实体的示意图;
图9为本发明提供的第四种NVE实体的示意图;
图10为本发明提供的第二种控制节点的示意图。
具体实施方式
本发明实施例的第一NVE实体接收到源虚拟机发送的未知报文后,通过向与该未知报文相关的第二NVE实体发送控制面信令,以使第二NVE实体启动数据面查询,以查询该未知报文的目标虚拟机的信息,从而无需手动配置或更新VM的信息,提高了查询的准确性。
为了便于描述,本发明实施例中使用了“第一”、“第二”的字样,对不同的NVE实体进行区分,但并不对NVE实体的数量和操作优先级进行限制,第一NVE实体为数据中心中的任一NVE实体,第二NVE实体为第一NVE实体确定出的与未知报文相关的所有NVE实体,第二NVE实体的数量可能为一个,也可能为两个及两个以上。
下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供的一种报文处理方法,如图1所示,该方法包括:
步骤11、第一NVE实体在确定接收到的源虚拟机发送的报文为目标虚拟机位置未知的未知报文后,向与该未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE查询该未知报文的目标虚拟机的信息,该控制面信令中包括用于指示第二NVE实体启动数据面查询的指示信息。
较佳地,第一NVE实体接收到的未知报文至少包括以下两种类型:
第一种类型为地址信息未知(如MAC地址未知或IP地址未知)的报文,该类型未知报文用于查询目标虚拟机的地址信息;
第二种类型为目标虚拟机所在的NVE实体未知的报文,该类型未知报文用于与所在NVE实体未知的目标虚拟机进行通信。
步骤12、第一NVE实体接收第二NVE实体返回的响应信令,并根据该响应信令确定目标虚拟机的信息。
本发明实施例中,第一NVE实体在确定接收到的源虚拟机发送的报文为目标虚拟机位置未知的未知报文后,向与该未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询接收到的未知报文的目标虚拟机的信息,该控制面信令中包括用于指示第二NVE实体启动数据面查询的指示信息;以及第一NVE实体接收第二NVE实体返回的响应信令,并根据该响应信令确定目标虚拟机的信息。由于无需手动配置或更新VM的信息,提高了获取目标虚拟机的信息的准确性,应用范围更广。
本发明实施例中,第一NVE实体发送的控制面信令中包括用于指示第二NVE实体启动数据面查询的指示信息,较佳地,控制面信令中通过1比特表示该指示信息,例如,若为“1”则指示第二NVE实体启动数据面查询的指示信息,若为“0”则指示第二NVE实体不启动数据面查询的指示信息。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则该控制面信令中的目标虚拟机的地址信息即为目标虚拟机的IP地址;若目标虚拟机的MAC地址已知,则该控制面信令中的目标虚拟机的地址信息即为目标虚拟机的MAC地址。
在实施中,第一NVE实体可以根据源虚拟机发送数据面报文的端口(或接口)、或本地已保存的源虚拟机的配置信息,确定出该源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括以下信息中的至少一种信息:
该目标虚拟机的地址信息(如MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
基于上述任一实施例,步骤11包括以下两种优选的实现方式:
方式1、第一NVE实体接收到未知报文后,确定出与该未知报文相关的第二NVE实体,并向每个第二NVE实体发送控制面信令,以指示第二NVE实体查询该未知报文的目标虚拟机的信息。
该方式下,在实施中,第一NVE实体确定出与接收到的未知报文相关的第二NVE实体,包括:
第一NVE实体确定发送未知报文的源虚拟机所属的租户的信息(如该租户的标识信息等);以及
第一NVE实体根据该租户的信息,确定出该租户使用的其他虚拟机所在的NVE实体,将确定出的NVE实体作为与该未知报文相关的第二NVE实体。
方式2、第一NVE实体接收到未知报文后,向控制节点发送控制面信令,以使该控制节点将该控制面信令发送给由该控制节点确定出的与未知报文相关的第二NVE实体。
该方式下,第一NVE实体接收到未知报文后,向控制节点发送控制面信令;控制节点在接收到控制面信令后,确定出与未知报文相关的第二NVE实体,并将该控制信令发送给自身确定出的每个第二NVE实体,以指示第二NVE实体查询该未知报文的目标虚拟机的信息。
该方式下,在实施中,控制节点确定出与接收到的未知报文相关的第二NVE实体,包括:
控制节点从接收到的控制面信令中,获取发送未知报文的源虚拟机所属的租户的信息,根据确定出的租户的信息,确定出该租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与未知报文相关的第二NVE实体;
或者
控制节点从接收到的控制面信令中,获取发送未知报文的源虚拟机所属的租户的信息,根据已配置的该租户的子网归属信息,确定出控制面信令所包含的目标虚拟机的地址信息(IP地址或MAC地址)所归属的NVE实体,并将确定出的NVE实体作为与未知报文相关的第二NVE实体。
较佳地,控制节点本地保存有已配置的各租户的子网归属信息。
较佳地,本发明实施例中的控制节点可以为网络虚拟化管理(NetworkVirtualizationAuthority,NVA)实体。
在实施中,第一NVE实体可以采用上述任一方式,向与该未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询该未知报文的目标虚拟机的信息。
基于上述任一实施例,步骤12中,第一NVE实体接收第二NVE实体返回的响应信令,包括以下两种优选的实现方式:
方式一、第一NVE实体直接接收第二NVE实体返回的响应信令。
该方式下,该第二NVE实体在确定出目标虚拟机的信息后,直接向第一NVE实体返回响应信令。
方式二、第一NVE实体接收第二NVE实体通过控制节点发送的响应信令。
该方式下,第二NVE实体在确定出目标虚拟机的信息后,向控制节点返回响应信令;该控制节点在接收到该第二NVE实体返回的响应信令后,将该响应信令发送给第一NVE实体。
在实施中,第一NVE实体可以采用上述任一方式,接收第二NVE实体返回的响应信令,以获取目标虚拟机的信息。
基于上述任一实施例,第一NVE实体接收到的未知报文的类型不同,第一NVE实体根据第二NVE实体返回的响应信令,确定出目标虚拟机的信息之后,执行不同的处理。具体如下:
一、第一NVE实体接收到的未知报文为用于查询目标虚拟机的地址信息的报文,第一NVE实体接收第二NVE实体返回的响应信令之后,还包括:第一NVE实体通过本地数据面报文,将目标虚拟机的地址信息发送给源虚拟机。
二、第一NVE实体接收到的未知报文为用于与所在NVE实体未知的目标虚拟机进行通信的报文,第一NVE实体接收第二NVE实体返回的响应信令之后,还包括:第一NVE实体将未知报文发送给目标虚拟机所属的NVE实体。
基于同一发明构思,本发明实施例还提供了一种报文处理方法,如图2所示,该方法包括:
步骤21、第二NVE实体接收第一NVE实体发送的控制面信令,该控制面信令是第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示第二NVE实体查询该未知报文的目标虚拟机的信息,该控制面信令中包括用于指示第二NVE实体启动数据面查询的指示信息。
步骤22、若本地存储的虚拟机信息中未包含目标虚拟机的信息,第二NVE实体向自身所管理的虚拟机发送数据面报文,以查询目标虚拟机是否归属于自身,并在确定出目标虚拟机归属于自身时,向第一NVE实体返回响应信令,该响应信令中携带目标虚拟机的信息。
本发明实施例中,第二NVE实体接收第一NVE实体发送的控制面信令;若本地存储的虚拟机信息中未包含目标虚拟机的信息,第二NVE实体向自身所管理的虚拟机发送数据面报文,以查询目标虚拟机是否归属于自身,并在确定出目标虚拟机归属于自身时,向第一NVE实体返回响应信令,该响应信令中携带目标虚拟机的信息。由于无需手动配置或更新VM的信息,提高了获取目标虚拟机的信息的准确性。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括但不限于以下信息中的至少一种信息:该目标虚拟机的地址信息(MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
在实施中,步骤21包括以下两种优选的实现方式:
方式A、第二NVE实体直接接收第一NVE实体发送的控制面信令。
该方式下,第一NVE实体接收到未知报文后,直接向每个第二NVE实体发送控制面信令,以查询该未知报文的目标虚拟机的信息。
方式B、第二NVE实体接收控制节点发送的控制面信令,其中,该控制节点在接收到第一NVE实体发送的控制面信令后,将该控制面信令发送给自身确定出的与未知报文相关的第二NVE实体。
该方式下,第一NVE实体接收到未知报文后,向控制节点发送控制面信令,以使控制节点将该控制面信令发送给与该未知报文相关的第二NVE实体。
较佳地,本发明实施例中的控制节点可以为NVA实体。
在实施中,第二NVE实体可以采用上述任一方法,接收第一NVE实体发送的控制面信令。
基于上述任一实施例,步骤22中,第二NVE实体向第一NVE实体返回响应信令,包括以下两种优选的实现方式:
方式a、第二NVE实体直接向第一NVE实体返回响应信令。
方式b、第二NVE实体通过控制节点向第一NVE实体返回响应信令。
在实施中,第二NVE实体可以采用上述任一方式,向第一NVE实体返回响应信令。
基于上述任一实施例,步骤22中,较佳地,第二NVE实体向自身所管理的虚拟机发送数据面报文,包括:
第二NVE实体从接收到的控制面信令中,获取发送未知报文的源虚拟机所属的租户的信息;以及
第二NVE实体向自身所管理的同一租户(即源虚拟机所属的租户)内的所有虚拟机发送数据面报文。
当然,除了上述方式,还可以采用其他方式查询所述目标虚拟机是否归属于自身,如,第二NVE实体向自身所管理的所有虚拟机发送该数据面报文。
基于上述任一实施例,作为一种优选的实现方式,步骤12中,第二NVE实体确定目标虚拟机是否归属于自身,包括:
若接收到虚拟机发送的响应报文,第二NVE实体确定目标虚拟机归属于自身,向第一NVE实体返回响应信令,并在该响应信令中携带目标虚拟机的信息。
具体的,目标虚拟机在接收到第二NVE实体发送的数据面报文后,向该第二NVE实体发送响应报文,该响应报文可以不携带任何信息,也可以携带该目标虚拟机的地址信息(MAC地址或IP地址);相应的,第二NVE实体在接收到目标虚拟机发送响应报文后,确定目标虚拟机归属于自身,进而向第一NVE实体发送响应信令,并在该响应信令中携带目标虚拟机的信息。
在实施中,第二NVE实体根据可以根据目标虚拟机发送数据面报文的端口(或接口)、或本地已保存的源虚拟机的配置信息,确定出目标虚拟机所属的租户的信息。
该方式下,基于安全考虑,避免其他租户的虚拟机进行ARP欺骗,较佳地,第二NVE实体确定目标虚拟机归属于自身,包括:
在接收到虚拟机发送的响应报文后,第二NVE实体确定发送该响应报文的虚拟机与源虚拟机是否属于同一租户;以及
在确定发送该响应报文的虚拟机与源虚拟机属于同一租户后,第二NVE实体确定目标虚拟机归属于自身。
较佳地,若第二NVE实体接收到多个虚拟机发送的响应报文,第二NVE实体确定目标虚拟机归属于自身,包括:
第二NVE实体将接收到的最后一个响应报文对应的虚拟机,确定为目标虚拟机。
基于上述任一实施例,该方法还包括:若第二NVE实体未接收到任何虚拟机发送的响应报文,确定目标虚拟机不归属于自身,向第一NVE实体返回查询失败响应,或不向第一NVE实体返回任何响应信令。
基于上述任一实施例,较佳地,第二NVE实体向自身所管理的虚拟机发送数据面报文,包括:第二NVE实体通过地址解析协议(AddressResolutionProtocol,ARP)请求,向自身所管理的虚拟机发送数据面报文;
第二NVE实体接收目标虚拟机发送的响应报文,包括:第二NVE实体接收目标虚拟机发送的ARP响应。
基于同一发明构思,本发明实施例还提供了一种报文处理方法,如图3所示,该方法包括:
步骤31、控制节点接收第一NVE实体发送的控制面信令,该控制面信令是第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示与该未知报文相关的第二NVE实体查询该未知报文的目标虚拟机的信息,该控制面信令中包括用于指示第二NVE实体启动数据面查询的指示信息;
步骤32、控制节点确定出与该未知报文相关的第二NVE实体,并将接收到的控制面信令发送给第二NVE实体。
较佳地,本发明实施例中的控制节点可以为NVA实体。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括以下信息中的至少一种信息:该目标虚拟机的地址信息(如MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
基于上述任一实施例,在实施中,控制节点确定出与接收到的未知报文相关的第二NVE实体,包括:
控制节点从接收到的控制面信令中,获取发送未知报文的源虚拟机所属的租户的信息,根据确定出的租户的信息,确定出该租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与该未知报文相关的第二NVE实体;
或者
控制节点从接收到的控制面信令中,获取发送未知报文的源虚拟机所属的租户的信息,根据已配置的该租户的子网归属信息,确定出控制面信令所包含的目标虚拟机的地址信息(IP地址或MAC地址)所归属的NVE实体,并将确定出的NVE实体作为与该未知报文相关的第二NVE实体。
较佳地,控制节点本地保存有已配置的各租户的子网归属信息。
基于上述任一实施例,该方法还包括:接收第二NVE实体返回的响应信令,并将该响应信令发送给第一NVE实体。
下面通过一个具体实施例,对本发明提供的报文处理方法进行详细说明。
实施例一、本实施例中,假设租户使用的虚拟机包括Host#1和Host#2,其中,Host#1归属于NVE#1,Host#2归属于NVE#2,且Host#1和Host#2属于不同子网;数据中心的具体架构如图4所示。若Host#1需要访问Host#2,且NVE#1不知道Host#2的位置信息,本实施例中的未知报文为目标虚拟机所在的NVE实体未知的报文,则具体处理过程如下:
1、Host#1发送网关ARP请求给NVE#1;
2、NVE#1发送ARP响应给Host#1;
3、Host#1将自身与Host#2的通信报文M1发送给NVE#1;
4、NVE#1发送Host#2的位置查询信令(控制面信令)给NVE#2,或者,NVE#1通过NVA将Host#2的位置查询信令发送给NVE#2;
5、NVE#2接收到Host#2的位置查询信令后,则向本地归属该租户的所有接口发起查询Host#2的ARP请求;
6、Host#2接收到NVE#2发送的ARP请求,向NVE#2发送ARP响应;
7、NVE#2接收到Host#2的ARP响应后,生成Host#2在NVE#2的位置信息并将生成的位置信息发送给NVE#1,或者,通过NVA将生成的位置信息发送给NVE#1;
8、NVE#1根据接收到的位置信息,得知Host#2在NVE#2,则在M1报文外封装从NVE#1到NVE#2的头部H1,生成新的M2报文发给NVE#2;
9、NVE#2接到M2报文后,去除封装头H1并取出M1报文,通过对M1报文的解析,发现该报文是发送给Host#2的,则NVE#2将M1报文发给Host#2;
10、Host#2收到来自Host#1发来的M1报文。
上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。
基于同一发明构思,本发明实施例还提供了一种NVE实体,如图5所示,该NVE实体包括:
第一确定模块51,用于在确定接收到的源虚拟机发送的报文为目标虚拟机位置未知的未知报文后,向与所述未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
第二确定模块52,用于接收所述第二NVE实体返回的响应信令,并根据所述响应信令,确定所述未知报文的目标虚拟机的信息。
较佳地,第一确定模块51接收到的未知报文至少包括以下两种类型:
第一种类型为地址信息未知(如MAC地址未知或IP地址未知)的报文,该类型未知报文用于查询目标虚拟机的地址信息;
第二种类型为目标虚拟机所在的NVE实体未知的报文,该类型未知报文用于与所在NVE实体未知的目标虚拟机进行通信。
较佳地,第一确定模块51发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则该控制面信令中的目标虚拟机的地址信息即为目标虚拟机的IP地址;若目标虚拟机的MAC地址已知,则该控制面信令中的目标虚拟机的地址信息即为目标虚拟机的MAC地址。
在实施中,第一确定模块51可以根据源虚拟机发送数据面报文的端口(或接口)、或本地已保存的源虚拟机的配置信息,确定出该源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括以下信息中的至少一种信息:该目标虚拟机的地址信息(如MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
较佳地,第一确定模块51具体用于:
确定出与该未知报文相关的第二NVE实体,并向每个第二NVE实体发送控制面信令;或者
向控制节点发送控制面信令,以使控制节点将该控制面信令发送给由控制节点确定出的与该未知报文相关的第二NVE实体。
较佳地,第一确定模块51确定出与接收到的未知报文相关的第二NVE实体,包括:
确定发送未知报文的源虚拟机所属的租户的信息(如该租户的标识信息等);以及根据该租户的信息,确定出该租户使用的其他虚拟机所在的NVE实体,将确定出的NVE实体作为与该未知报文相关的第二NVE实体。
基于同一发明构思,本发明实施例还提供了另一种NVE实体,如图6所示,该NVE实体包括:
第一处理模块61,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
第二处理模块62,用于在本地存储的虚拟机信息中未包含所述目标虚拟机的信息时,向自身所属的NVE实体所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括但不限于以下信息中的至少一种信息:该目标虚拟机的地址信息(MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
较佳地,第一处理模块61具体用于:直接接收所述第一NVE实体发送的所述控制面信令;或者,接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体;
第二处理模块62具体用于:直接向所述第一NVE实体返回响应信令;或者,通过控制节点向所述第一NVE实体返回响应信令。
较佳地,第二处理模块62向自身所管理的虚拟机发送数据面报文,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并向自身所管理的同一租户(即该源虚拟机所属的租户)内的虚拟机发送所述数据面报文;或者
向自身所管理的所有虚拟机发送所述数据面报文。
较佳地,第二处理模块62确定所述目标虚拟机归属于自身所属的NVE实体,包括:
在接收到虚拟机发送的响应报文后,确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;以及在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,确定所述目标虚拟机归属于自身所属的NVE实体。
在实施中,根据不同的应用场景,接收未知报文并发送控制面信令的NVE实体,也可能成为接收控制面信令并返回响应信令的NVE实体;相应的,接收控制面信令并返回响应信令的NVE实体也可能成为接收未知报文并发送控制面信令的NVE实体,所以较佳地,图5所示的NVE实体中的模块和图6所示的NVE实体中的模块还可以合在一个NVE实体中,并根据需要选择对应的模块工作。
基于同一发明构思,本发明实施例提供了一种控制节点,如图7所示,该控制节点包括:
收发模块71,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示与所述未知报文相关的第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
确定模块72,用于确定出与所述未知报文相关的第二NVE实体,并将所述控制面信令发送给所述第二NVE实体。
较佳地,本发明实施例中的控制节点可以为NVA实体。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括以下信息中的至少一种信息:该目标虚拟机的地址信息(如MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
较佳地,确定模块72确定出与所述未知报文相关的第二NVE实体,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据所述租户的信息,确定出所述租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体;或者
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据已配置的所述租户的子网归属信息,确定出所述控制面信令所包含的目标虚拟机的地址信息所归属的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体。
较佳地,控制节点本地保存有已配置的各租户的子网归属信息。
基于上述任一实施例,收发模块71还用于:接收第二NVE实体返回的响应信令,并将该响应信令发送给第一NVE实体。
下面结合优选的硬件结构,对本发明实施例提供的NVE实体的结构、处理方式进行说明。
如图8所示,该NVE实体包括:
收发器81,用于接收源虚拟机发送的报文;向与所述未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;以及接收所述第二NVE实体返回的响应信令;
处理器82,用于在确定收发器81接收到的报文为目标虚拟机位置未知的未知报文后,触发收发器81发送所述控制面信令;以及根据收发器81接收到的响应信令,确定所述未知报文的目标虚拟机的信息。
其中,收发器81与处理器82之间通过总线连接。
较佳地,收发器81发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括以下信息中的至少一种信息:
该目标虚拟机的地址信息(如MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
较佳地,处理器82具体用于:
确定出与该未知报文相关的第二NVE实体,并触发收发器81向每个第二NVE实体发送控制面信令;或者
触发收发器81向控制节点发送控制面信令,以使控制节点将该控制面信令发送给由该控制节点确定出的与该未知报文相关的第二NVE实体。
较佳地,处理器82确定出与未知报文相关的第二NVE实体,包括:
确定发送未知报文的源虚拟机所属的租户的信息(如该租户的标识信息等);以及根据该租户的信息,确定出该租户使用的其他虚拟机所在的NVE实体,将确定出的NVE实体作为与该未知报文相关的第二NVE实体。
下面结合优选的硬件结构,对本发明实施例提供的另一NVE实体的结构、处理方式进行说明。
如图9所示,该NVE实体包括:
收发器91,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;以及向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息;
处理器92,用于在本地存储的虚拟机信息中未包含所述目标虚拟机的信息时,向自身所属的NVE实体所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,触发收发器91发送所述响应信令,所述响应信令中携带所述目标虚拟机的信息。
其中,收发器91与处理器92之间通过总线连接。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括但不限于以下信息中的至少一种信息:该目标虚拟机的地址信息(MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
较佳地,收发器91具体用于:直接接收所述第一NVE实体发送的所述控制面信令;或者,接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体。
较佳地,收发器91具体用于:直接向所述第一NVE实体返回响应信令;或者,通过控制节点向所述第一NVE实体返回响应信令。
较佳地,处理器92具体用于:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并触发收发器91向自身所管理的同一租户(即该源虚拟机所属的租户)内的虚拟机发送所述数据面报文;或者
触发收发器91向自身所管理的所有虚拟机发送所述数据面报文。
较佳地,处理器92确定目标虚拟机归属于自身所属的NVE实体,包括:
在收发器91接收到虚拟机发送的响应报文后,确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;以及在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,确定所述目标虚拟机归属于自身所属的NVE实体。
在实施中,根据不同的应用场景,接收未知报文并发送控制面信令的NVE实体,也可能成为接收控制面信令并返回响应信令的NVE实体;相应的,接收控制面信令并返回响应信令的NVE实体也可能成为接收未知报文并发送控制面信令的NVE实体,所以较佳地,图8所示的NVE实体中的收发器的功能和图9所示的NVE实体中的收发器的功能可以合在一个收发器中,并根据需要选择对应的模块工作;图8所示的NVE实体中的处理器的功能和图9所示的NVE实体中的处理器的功能可以合在一个处理器中,并根据需要选择对应的模块工作。
下面结合优选的硬件结构,对本发明实施例提供的控制节点的结构、处理方式进行说明。
如图10所示,该控制节点包括:
收发器101,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示与所述未知报文相关的第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
处理器102,用于确定出与所述未知报文相关的第二NVE实体,并触发收发器101将所述控制面信令发送给所述第二NVE实体。
其中,收发器101与处理器102之间通过总线连接。
较佳地,本发明实施例中的控制节点可以为NVA实体。
较佳地,第一NVE实体发送的控制面信令中还包括以下信息中的至少一种信息:目标虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机的地址信息(如IP地址或MAC地址)、源虚拟机所属的租户的信息。
较佳地,所需查询的目标虚拟机的信息包括以下信息中的至少一种信息:该目标虚拟机的地址信息(如MAC地址或IP地址)、该目标虚拟机所属的NVE实体的信息(如标识信息等)、该目标虚拟机所属的租户的信息。
其中,若目标虚拟机的IP地址已知,则所需查询的目标虚拟机的地址信息为MAC地址;若目标虚拟机的MAC地址已知,则所需查询的目标虚拟机的地址信息为IP地址。
较佳地,处理器102确定出与所述未知报文相关的第二NVE实体,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据所述租户的信息,确定出所述租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体;或者
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据已配置的所述租户的子网归属信息,确定出所述控制面信令所包含的目标虚拟机的地址信息所归属的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体。
较佳地,控制节点本地保存有已配置的各租户的子网归属信息。
基于上述任一实施例,收发器101还用于:接收第二NVE实体返回的响应信令,并将该响应信令发送给第一NVE实体。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种报文处理方法,其特征在于,该方法包括:
第二NVE实体接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
若本地存储的虚拟机信息中未包含所述目标虚拟机的信息,所述第二NVE实体向自身所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息。
2.如权利要求1所述的方法,其特征在于,所述第二NVE实体接收所述第一NVE实体发送的控制面信令,包括:
所述第二NVE实体直接接收所述第一NVE实体发送的所述控制面信令;或者,所述第二NVE实体接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体;
所述第二NVE实体向所述第一NVE实体返回响应信令,包括:
所述第二NVE实体直接向所述第一NVE实体返回响应信令;或者,所述第二NVE实体通过控制节点向所述第一NVE实体返回响应信令。
3.如权利要求1所述的方法,其特征在于,所述第二NVE实体向自身所管理的虚拟机发送数据面报文,包括:
所述第二NVE实体从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并向自身所管理的同一租户内的虚拟机发送所述数据面报文;或者
所述第二NVE实体向自身所管理的所有虚拟机发送所述数据面报文。
4.如权利要求1~3任一项所述的方法,其特征在于,所述第二NVE实体确定所述目标虚拟机归属于自身,包括:
在接收到虚拟机发送的响应报文后,所述第二NVE实体确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;
在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,所述第二NVE实体确定所述目标虚拟机归属于自身。
5.如权利要求1~3任一项所述的方法,其特征在于,所述目标虚拟机的信息包括以下信息中的至少一种信息:
所述目标虚拟机的地址信息、所述目标虚拟机所属的NVE实体的信息、所述目标虚拟机所属的租户的信息。
6.一种网络虚拟边缘NVE实体,其特征在于,该NVE实体包括:
第一确定模块,用于在确定接收到的源虚拟机发送的报文为目标虚拟机位置未知的未知报文后,向与所述未知报文相关的第二NVE实体发送控制面信令,以指示第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
第二确定模块,用于接收所述第二NVE实体返回的响应信令,并根据所述响应信令,确定所述未知报文的目标虚拟机的信息。
7.如权利要求6所述的NVE实体,其特征在于,所述第一确定模块具体用于:
确定出与所述未知报文相关的第二NVE实体,并向每个所述第二NVE实体发送控制面信令;或者
向控制节点发送控制面信令,以使所述控制节点将所述控制面信令发送给由所述控制节点确定出的与所述未知报文相关的第二NVE实体。
8.一种网络虚拟边缘NVE实体,其特征在于,该NVE实体包括:
第一处理模块,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示所述第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
第二处理模块,用于在本地存储的虚拟机信息中未包含所述目标虚拟机的信息时,向自身所属的NVE实体所管理的虚拟机发送数据面报文,以查询所述目标虚拟机是否归属于自身,并在确定出所述目标虚拟机归属于自身时,向所述第一NVE实体返回响应信令,所述响应信令中携带所述目标虚拟机的信息。
9.如权利要求8所述的NVE实体,其特征在于,所述第一处理模块具体用于:直接接收所述第一NVE实体发送的所述控制面信令;或者,接收控制节点发送的所述控制面信令,其中,所述控制节点在接收到所述第一NVE实体发送的所述控制面信令后,将所述控制面信令发送给自身确定出的与所述未知报文相关的第二NVE实体;
所述第二处理模块具体用于:直接向所述第一NVE实体返回响应信令;或者,通过控制节点向所述第一NVE实体返回响应信令。
10.如权利要求8所述的NVE实体,其特征在于,所述第二处理模块向自身所管理的虚拟机发送数据面报文,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,并向自身所管理的同一租户内的虚拟机发送所述数据面报文;或者
向自身所管理的所有虚拟机发送所述数据面报文。
11.如权利要求8~10任一项所述的NVE实体,其特征在于,所述第二处理模块确定所述目标虚拟机归属于自身所属的NVE实体,包括:
在接收到虚拟机发送的响应报文后,确定发送所述响应报文的虚拟机与所述源虚拟机是否属于同一租户;以及在确定发送所述响应报文的虚拟机与所述源虚拟机属于同一租户后,确定所述目标虚拟机归属于自身所属的NVE实体。
12.一种控制节点,其特征在于,该控制节点包括:
收发模块,用于接收第一NVE实体发送的控制面信令,所述控制面信令是所述第一NVE实体在接收到源虚拟机发送的目标虚拟机位置未知的未知报文后发送的,用于指示与所述未知报文相关的第二NVE实体查询所述未知报文的目标虚拟机的信息,所述控制面信令中包括用于指示所述第二NVE实体启动数据面查询的指示信息;
确定模块,用于确定出与所述未知报文相关的第二NVE实体,并将所述控制面信令发送给所述第二NVE实体。
13.如权利要求12所述的控制节点,其特征在于,所述确定模块确定出与所述未知报文相关的第二NVE实体,包括:
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据所述租户的信息,确定出所述租户使用的其他虚拟机所在的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体;或者
从所述控制面信令中,获取发送所述未知报文的源虚拟机所属的租户的信息,根据已配置的所述租户的子网归属信息,确定出所述控制面信令所包含的目标虚拟机的地址信息所归属的NVE实体,并将确定出的NVE实体作为与所述未知报文相关的第二NVE实体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410232568.6A CN105450526B (zh) | 2014-05-28 | 2014-05-28 | 一种报文处理方法和设备 |
PCT/CN2015/076784 WO2015180539A1 (zh) | 2014-05-28 | 2015-04-16 | 一种报文处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410232568.6A CN105450526B (zh) | 2014-05-28 | 2014-05-28 | 一种报文处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450526A true CN105450526A (zh) | 2016-03-30 |
CN105450526B CN105450526B (zh) | 2018-09-21 |
Family
ID=54698051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410232568.6A Active CN105450526B (zh) | 2014-05-28 | 2014-05-28 | 一种报文处理方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105450526B (zh) |
WO (1) | WO2015180539A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565045A (zh) * | 2019-09-26 | 2021-03-26 | 中兴通讯股份有限公司 | Evpn中报文转发方法、装置、设备及存储介质 |
CN113228812A (zh) * | 2019-01-03 | 2021-08-06 | 上海诺基亚贝尔股份有限公司 | 用于共享控制平面容量的方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612782B (zh) * | 2021-08-06 | 2023-02-17 | 中国联合网络通信集团有限公司 | 虚拟机迁移验证方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428038A (zh) * | 2012-05-18 | 2013-12-04 | 中兴通讯股份有限公司 | 虚拟机所属租户标识的检测方法及装置 |
US20140006585A1 (en) * | 2012-06-29 | 2014-01-02 | Futurewei Technologies, Inc. | Providing Mobility in Overlay Networks |
CN103580980A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 虚拟网络自动发现和自动配置的方法及其装置 |
CN103647853A (zh) * | 2013-12-04 | 2014-03-19 | 华为技术有限公司 | 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器 |
CN103685026A (zh) * | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | 一种虚拟网络的接入方法和系统 |
-
2014
- 2014-05-28 CN CN201410232568.6A patent/CN105450526B/zh active Active
-
2015
- 2015-04-16 WO PCT/CN2015/076784 patent/WO2015180539A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428038A (zh) * | 2012-05-18 | 2013-12-04 | 中兴通讯股份有限公司 | 虚拟机所属租户标识的检测方法及装置 |
US20140006585A1 (en) * | 2012-06-29 | 2014-01-02 | Futurewei Technologies, Inc. | Providing Mobility in Overlay Networks |
CN103580980A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 虚拟网络自动发现和自动配置的方法及其装置 |
CN103685026A (zh) * | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | 一种虚拟网络的接入方法和系统 |
CN103647853A (zh) * | 2013-12-04 | 2014-03-19 | 华为技术有限公司 | 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113228812A (zh) * | 2019-01-03 | 2021-08-06 | 上海诺基亚贝尔股份有限公司 | 用于共享控制平面容量的方法和装置 |
CN113228812B (zh) * | 2019-01-03 | 2024-02-06 | 上海诺基亚贝尔股份有限公司 | 用于共享控制平面容量的方法和装置 |
CN112565045A (zh) * | 2019-09-26 | 2021-03-26 | 中兴通讯股份有限公司 | Evpn中报文转发方法、装置、设备及存储介质 |
CN112565045B (zh) * | 2019-09-26 | 2024-05-07 | 中兴通讯股份有限公司 | Evpn中报文转发方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015180539A1 (zh) | 2015-12-03 |
CN105450526B (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11108593B2 (en) | Methods and systems to offload overlay network packet encapsulation to hardware | |
US20230012101A1 (en) | Distributed network address translation for efficient cloud service access | |
US9749145B2 (en) | Interoperability for distributed overlay virtual environment | |
US9419897B2 (en) | Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization | |
CN108347493B (zh) | 混合云管理方法、装置和计算设备 | |
US9628290B2 (en) | Traffic migration acceleration for overlay virtual environments | |
US10771431B2 (en) | Synchronizing IP information of virtual machines | |
US9525648B2 (en) | Method for acquiring physical address of virtual machine | |
US10917379B2 (en) | Domain intercommunication in shared computing environments | |
US9338091B2 (en) | Procedures for efficient cloud service access in a system with multiple tenant logical networks | |
CN104734931A (zh) | 一种虚拟网络功能间链路建立方法及装置 | |
CN105099779A (zh) | 多租户云平台架构 | |
CN108540408B (zh) | 一种基于Openstack的分布式虚拟交换机的管理方法及系统 | |
CN107959613B (zh) | 报文转发方法及装置 | |
WO2015147943A1 (en) | Distributed network address translation for cloud service access | |
CN105554176A (zh) | 发送报文的方法、装置和通信系统 | |
CN105450526A (zh) | 一种报文处理方法和设备 | |
CN105700823A (zh) | 一种ip硬盘之间传输数据的方法和装置 | |
CN109067573B (zh) | 一种流量调度方法及装置 | |
CN104683152A (zh) | Vxlan报文处理方法以及装置 | |
CN108881482B (zh) | 一种流量迁移方法、装置及系统 | |
US11277336B2 (en) | Tunnel-based network connectivity for computing clusters | |
US11108735B2 (en) | Mapping subnets in different virtual networks using private address space | |
EP4319067A1 (en) | Communication method and apparatus, device, system, and computer-readable storage medium | |
EP4224804A1 (en) | Communication method, apparatus, device, system, and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |