一种虚拟机通信方法及装置.pdf

上传人:e1 文档编号:1519491 上传时间:2018-06-20 格式:PDF 页数:15 大小:1.70MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310362412.5

申请日:

2013.08.19

公开号:

CN104426816A

公开日:

2015.03.18

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L12/947申请日:20130819|||公开

IPC分类号:

H04L12/947(2013.01)I; G06F9/455

主分类号:

H04L12/947

申请人:

华为技术有限公司

发明人:

闫立俊

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京中博世达专利商标代理有限公司11274

代理人:

申健

PDF下载: PDF下载
内容摘要

本发明的实施例公开了一种虚拟机通信方法及装置,涉及通信领域,能够减少虚拟网络中的广播报文数量。具体方案为:虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址。本发明用于虚拟机之间的通信。

权利要求书

权利要求书1.  一种虚拟机通信方法,其特征在于,包括:虚拟交换机接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;所述虚拟交换机从所述第一广播报文中获取所述目的虚拟机的网络协议IP地址;所述虚拟交换机根据所述目的虚拟机的IP地址在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;若所述虚拟交换机在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述虚拟交换机获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。2.  根据权利要求1所述的方法,其特征在于,所述虚拟交换机根据所述目的虚拟机的IP地址在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址之前,还包括:所述虚拟交换机接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述虚拟交换机从所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述虚拟交换机将所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。3.  根据权利要求1或2所述的方法,其特征在于,所述虚拟机获取所述目的虚拟机的MAC地址之后,还包括:所述虚拟交换机向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。4.  根据权利要求1或2所述的方法,其特征在于,所述第一广播报文还包括所述请求虚拟机的MAC地址;所述方法还包括:所述虚拟交换机从所述第一广播报文中获取所述请求虚拟机的MAC地址;所述虚拟交换机根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述请求虚拟机的MAC地址。5.  根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述虚拟交换机在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述虚拟交换机将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文后与所述请求虚拟机连接。6.  一种虚拟交换机,其特征在于,包括:接收单元、获取单元及存储单元,其中,接收单元,用于接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;获取单元,用于从所述接收单元接收到的所述第一广播报文中获取所述目的虚拟机的网络协议IP地址,根据所述目的虚拟机的IP地址在存储单元存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;若在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。7.  根据权利要求6所述的装置,其特征在于,所述接收单元,还用于接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述获取单元,还用于从所述接收单元接受的所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述存储单元,用于将所述获取单元获取的所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。8.  根据权利要求6或7所述的装置,其特征在于,所述虚拟交换机还包括发送单元,所述发送单元,用于向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。9.  根据权利要求6或7所述的装置,其特征在于,所述第一广播报文还包括所述请求虚拟机的MAC地址;所述获取单元,还用于从所述第一广播报文中获取所述请求虚拟机的MAC地址;所述虚拟交换机还包括发送单元,所述发送单元,用于根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述获取单元获取的所述请求虚拟机的MAC地址。10.  根据权利要求6所述的装置,其特征在于,若在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文之后与所述请求虚拟机连接。

说明书

说明书一种虚拟机通信方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种虚拟机通信方法及装置。
背景技术
虚拟交换机是虚拟化网络环境下软件模拟的交换机,是构成虚拟平台网络的关键部分,一般来说,在OSI(Open System Interconnection,开放式系统互联参考模型)七层模型中,虚拟交换机以第二层数据链路层的应用为主,可以完成服务器内VM(Virtual Machine,虚拟机)的二层网络交换。通常情况下,虚拟交换机会将系统使用的VLAN(Virtual Local Area Network,虚拟局域网)都进行配置,当有VM发送广播报文时,虚拟交换机会在第二层数据链路层内广播到所有服务器。
例如,在一个虚拟化网络环境中,VM1、VM2是运行在服务器虚拟机监控之上的虚拟机。虚拟机的网卡连接到虚拟交换机的虚拟端口,比如,VM1对应的虚拟端口VLAN是1,VM2对应的虚拟端口VLAN是2,物理交换机的端口会配置VLAN列表,将VM使用的VLAN都配置在列表中。这样,从VM1发送的广播报文将通过物理交换机广播到所有服务器,这一过程由虚拟交换机处理,而虚拟交换机是由服务器软件模拟的,因为广播较多,最终会增加服务器处理器的负荷。
发明内容
本发明的实施例提供一种虚拟机通信方法及装置,涉及通信领域,能够解决因为广播较多而导致处理器负荷过大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,一种虚拟机通信方法,包括:
虚拟交换机接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;
所述虚拟交换机从所述第一广播报文中获取所述目的虚拟机的网络协议IP地址;
所述虚拟交换机根据所述目的虚拟机的IP地址在已经存储的地址 列表中查找所述目的虚拟机的媒体介入控制层MAC地址;
若所述虚拟交换机在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述虚拟交换机获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。
结合第一方面,在第一种可能的实现方式中,所述虚拟交换机根据所述目的虚拟机的IP地址在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址之前,还包括:
所述虚拟交换机接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
所述虚拟交换机从所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
所述虚拟交换机将所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟机获取所述目的虚拟机的MAC地址之后,还包括:
所述虚拟交换机向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,
所述第一广播报文还包括所述请求虚拟机的MAC地址;
所述方法还包括:
所述虚拟交换机从所述第一广播报文中获取所述请求虚拟机的MAC地址;
所述虚拟交换机根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述请求虚拟机的MAC地址。
结合第一方面,在第四种可能的实现方式中,所述方法还包括:
若所述虚拟交换机在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述虚拟交换机将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文后与所述请求虚拟机连接。
第二方面,一种虚拟交换机,包括:接收单元、获取单元及存储单元,其中,
接收单元,用于接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;
获取单元,用于从所述接收单元接收到的所述第一广播报文中获取所述目的虚拟机的网络协议IP地址,根据所述目的虚拟机的IP地址在存储单元存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;
若在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。
结合第二方面,在第一种可能的实现方式中,
所述接收单元,还用于接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
所述获取单元,还用于从所述接收单元接受的所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
所述存储单元,用于将所述获取单元获取的所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟交换机还包括发送单元,
所述发送单元,用于向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。
结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,
所述第一广播报文还包括所述请求虚拟机的MAC地址;
所述获取单元,还用于从所述第一广播报文中获取所述请求虚拟机的MAC地址;
所述虚拟交换机还包括发送单元,
所述发送单元,用于根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述获取单元获取的所述请求虚拟机的MAC地址。
结合第二方面,在第四种可能的实现方式中,
若在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文之后与所述请求虚拟机连接。
本发明的实施例提供的虚拟机通信方法及装置,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明的实施例提供的一种虚拟机通信方法流程示意图;
图2为本发明的另一实施例提供的一种虚拟机通信方法流程示意图;
图3为本发明的实施例提供的一种虚拟交换机结构示意图;
图4为本发明的实施例提供的一种分布式虚拟交换机系统结构示意图;
图5为本发明的另一实施例提供的一种虚拟交换机结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在虚拟化网络环境下,虚拟机之间进行数据传输前,需要获得对方的物理地址进行连接,本发明的实施例,提供一种虚拟机通信方法,参照图1所示,该方法包括:
101、虚拟交换机接收请求虚拟机发送的第一广播报文。
其中,第一广播报文包含目的虚拟机的IP地址,可选的,该第一广播报文可以是ARP(Address Resolution Protocol,地址解析协议)报文。
请求虚拟机要向目的虚拟机传输数据前,必须先获取目的虚拟机的MAC地址,所以要向虚拟交换机发送第一广播报文,携带目的虚拟机的IP地址,以便于虚拟交换机根据目的虚拟机的IP地址获取该目的虚拟机的MAC地址。
102、虚拟交换机从第一广播报文中获取目的虚拟机的网络协议IP地址。
当虚拟交换机接收到第一广播报文之后,需要解析接收到的第一广播报文,从中提取出目的虚拟机的IP地址,此处,解析广播报文可以通过本领域内常见的技术手段进行解析。
103、虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的媒体介入控制层MAC地址。
其中,地址列表中存储了虚拟机的IP地址与MAC地址,虚拟机的IP地址与虚拟机的MAC地址之间存在一一对应的关系,一个虚拟机的IP地址与MAC地址一起存储在地址列表中,如果地址列表中存储了目的虚拟机的IP地址与MAC地址,那么通过查找该目的虚拟机的IP地址,就可以获取目的虚拟机的MAC地址。
这样通过查找免去了广播ARP报文所需要消耗的处理器工作,减少处理器负荷。
104、虚拟交换机获取目的虚拟机的MAC地址。
如果虚拟交换机在地址列表中查找到目的虚拟机的MAC地址,虚 拟交换机就可以获取目的虚拟机的MAC地址,以便于请求虚拟机与目的虚拟机进行连接。
本发明的实施例提供的虚拟机通信方法,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
本发明的另一实施例提供一种虚拟机通信方法,参照图2所示,该方法包括:
201、虚拟交换机接收目的虚拟机发送的第二广播报文。
其中,第二广播报文包括目的虚拟机的IP地址及目的虚拟机的MAC地址,可选的,该第二广播报文可以是ARP报文。
202、虚拟交换机从第二广播报文中获取目的虚拟机的IP地址及目的虚拟机的MAC地址。
其中,第二广播报文可以是免费ARP报文,携带了目的虚拟机自身的IP地址及MAC地址,虚拟交换机可以通过解析获取该目的虚拟机的IP地址及MAC地址。
203、虚拟交换机将目的虚拟机的IP地址及目的虚拟机的MAC地址存储在地址列表中。
虚拟交换机将将目的虚拟机的IP地址及MAC地址存储下来,当需要用到的时候,可以通过查找直接获取,避免了发送过多的广播报文。可选的,可以在超过一定时间后,将目的虚拟机的IP地址及MAC地址删除,避免因为存储过多的地址信息而影响系统的性能。
204、虚拟交换机接收请求虚拟机发送的第一广播报文。
请求虚拟机要向目的虚拟机传输数据前,必须先获取目的虚拟机的MAC地址,所以要向虚拟交换机发送第一广播报文,携带目的虚拟机的IP地址,以便于虚拟交换机根据目的虚拟机的IP地址获取该目的虚拟机的MAC地址。
205、虚拟交换机从第一广播报文中获取目的虚拟机的网络协议IP地址。
当虚拟交换机接收到第一广播报文之后,需要解析接收到的第一广播报文,从中提取出目的虚拟机的IP地址,此处,解析广播报文可以通过本领域内常见的技术手段进行解析。
206、虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址。
其中,地址列表中存储了虚拟机的IP地址与MAC地址,虚拟机的IP地址与虚拟机的MAC地址之间存在一一对应的关系,一个虚拟机的IP地址与MAC地址一起存储在地址列表中,如果地址列表中存储了目的虚拟机的IP地址与MAC地址,那么通过查找该目的虚拟机的IP地址,就可以获取目的虚拟机的MAC地址。
这样通过查找免去了广播ARP报文所需要消耗的处理器工作,减少处理器负荷。
207、虚拟交换机获取目的虚拟机的MAC地址。
如果虚拟交换机在地址列表中查找到目的虚拟机的MAC地址,虚拟交换机就可以获取目的虚拟机的MAC地址,以便于请求虚拟机与目的虚拟机进行连接。
208、虚拟交换机将向请求虚拟机发送第一广播响应。
其中,该第一广播响应包括目的虚拟机的MAC地址,本实施例对第一广播响应的具体形式不做限制,只要能够将目的虚拟机的MAC地址发送至请求虚拟机即可,在常见的响应方式中,该第一广播响应可以是ARP响应。
虚拟交换机将目的虚拟机的MAC地址反馈给请求虚拟机,这样,请求虚拟机就可以根据目的虚拟机的MAC地址向目的虚拟机传输数据。
可选的,步骤207之后还包括:
209、虚拟交换机从第一广播报文中获取请求虚拟机的MAC地址,并且向目的虚拟机发送第二广播响应。
其中,该第二广播响应包括请求虚拟机的MAC地址,本实施例对第二广播响应的具体形式不做限制,只要能够将请求虚拟机的MAC地址发送至目的虚拟机即可,在常见的响应方式中,该第二广播响应可 以是ARP响应。
其中,该第一广播报文包括请求虚拟机的MAC地址。虚拟交换机根据目的虚拟机的MAC地址将请求虚拟机的MAC地址发送给目的虚拟机,这样目的虚拟机就可以根据请求虚拟机的MAC地址向请求虚拟机传输数据,通过让目的虚拟机返回响应,可以达到与步骤208相同的效果。
可选的,步骤206之后还包括:
210、虚拟交换机将第一广播报文广播至所有报文。
若虚拟交换机在地址列表中没有查找到目的虚拟机的MAC地址,则虚拟交换机需要将第一广播报文在数据链路层网络内进行广播,以便于目的虚拟机接收到广播后将自己的MAC地址发送给请求虚拟机,从而实现两个虚拟机之间的连接。
本发明的实施例提供的虚拟机通信方法,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
本发明的实施例提供一种虚拟交换机,参照图3所示,该虚拟交换机30包括:接收单元301、获取单元302及存储单元303。
其中,接收单元301,用于接收请求虚拟机31发送的第一广播报文,其中,第一广播报文包含目的虚拟机32的IP地址。
获取单元302,用于从接收单元301接收到的第一广播报文中获取目的虚拟机32的网络协议IP地址,根据目的虚拟机32的IP地址在存储单元303存储的地址列表中查找目的虚拟机32的媒体介入控制层MAC地址。
若在地址列表中查找到目的虚拟机32的MAC地址,则获取单元302,还用于获取目的虚拟机32的MAC地址,以便于请求虚拟机31与目的虚拟机32进行连接。
本发明的实施例提供的虚拟交换机,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址, 如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
可选的,接收单元301,还用于接收目的虚拟机32发送的第二广播报文,其中,第二广播报文包括目的虚拟机32的IP地址及目的虚拟机32的MAC地址。
获取单元302,还用于从接收单元301接受的第二广播报文中获取目的虚拟机32的IP地址及目的虚拟机32的MAC地址。
存储单元303,用于将获取单元302获取的目的虚拟机32的IP地址及目的虚拟机32的MAC地址存储在地址列表中。
可选的,虚拟交换机30还包括发送单元304,
发送单元304,用于向请求虚拟机31发送第一广播响应,其中,第一广播响应包括目的虚拟机32的MAC地址。
或者,可选的,第一广播报文还包括请求虚拟机31的MAC地址。
获取单元302,还用于从第一广播报文中获取请求虚拟机31的MAC地址。
发送单元304,用于根据目的虚拟机32的MAC地址向目的虚拟机32发送第二广播响应,其中,第二广播响应包括获取单元302获取的请求虚拟机31的MAC地址。
可选的,若在地址列表中没有查找到目的虚拟机32的MAC地址,则获取单元302,还用于将第一广播报文广播至所有虚拟机,以便于目的虚拟机32接收到第一广播报文后与请求虚拟机31连接。
本发明的实施例提供的虚拟交换机,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
本发明的实施例提供的虚拟机通信方法,还可以应用于分布式虚拟交换机系统,该分布式虚拟交换机系统的结构参照图4所示,包括第一虚拟交换机41、第二虚拟交换机42以及配置管理模块43。其中,第一虚拟交换机41包括第一解析模块411、第一存储模块412以及第一应答模块413。第二虚拟交换机42包括第二解析模块421、第二存 储模块422以及第二应答模块423。其中,图3对应的实施例中的获取单元302对应解析模块和配置管理模块43,存储单元303对应存储模块,接收单元301和发送单元304对应应答模块。参考图3对应的实施例,分布式虚拟机系统的工作原理如下:
当目的虚拟机45向第二虚拟交换机42发送第二广播报文时,第二应答模块423会接收目的虚拟机45发送的第二广播报文,第二解析模块421通过解析,提取出第二广播报文中包含的目的虚拟机45的IP地址及目的虚拟机45的MAC地址,将提取出的目的虚拟机45的IP地址及目的虚拟机45的MAC地址存储在存储模块中。
当请求虚拟机44向第一虚拟交换机41发送第一广播报文时,第一应答模块413会接收请求虚拟机44发送的第一广播报文,第二解析模块421通过解析,提取出第一广播报文中包含的目的虚拟机45的IP地址。
此时,由配置管理模块43进行统一管理,配置管理模块43从第一存储单元中获取目的虚拟机45的IP地址,根据目的虚拟机45的IP地址,在第二存储单元中查找目的虚拟机45的MAC地址。如果查找到目的虚拟机45的MAC地址,配置管理模块43将目的虚拟机45的MAC地址发送至第一应答模块413,由第一应答模块413通过ARP响应将目的虚拟机45的MAC地址发送给请求虚拟机44以便于请求虚拟机44与目的虚拟机45之间建立连接。如果查询失败,则由第一应答模块413在数据链路层内广播第一广播报文,以便于第二虚拟机接受到后进行响应。
可选的,第一解析模块411还可以从第一广播报文中提取请求虚拟机44的MAC地址,并存储在存储模块中,以便于当有其他虚拟机需要获取该请求虚拟机44的MAC地址时,配置管理模块43可以快速查找到。
同时,可选的,配置管理模块43将请求虚拟机44的MAC地址发送至第二应答模块423,由第二应答模块423通过ARP响应将请求虚拟机44的MAC地址发送至目的虚拟机45,以便于目的虚拟机45和请求虚拟机44之间建立连接。
本发明的实施例提供的分布式虚拟交换机系统,通过虚拟交换机 根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
本发明的另一实施例提供一种虚拟交换机5001,参照图5所示,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,该虚拟交换机5001包括:至少一个处理器5011、存储器5012、总线5013和发射器5014,该至少一个处理器5011、存储器5012和发射器5014通过总线5013连接并完成相互间的通信。
该总线5013可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。该总线5013可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器5012用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器5012可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器5011可能是一个中央处理器5011(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器5011,用于调用存储器5012中的程序代码,用以执行图3对应的实施例中获取单元的操作,具体描述参照图3对应的设备实施例,这里不再赘述。
本发明的实施例提供的虚拟交换机,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了 解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

一种虚拟机通信方法及装置.pdf_第1页
第1页 / 共15页
一种虚拟机通信方法及装置.pdf_第2页
第2页 / 共15页
一种虚拟机通信方法及装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种虚拟机通信方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种虚拟机通信方法及装置.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201310362412.5(22)申请日 2013.08.19H04L 12/947(2013.01)G06F 9/455(2006.01)(71)申请人华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人闫立俊(74)专利代理机构北京中博世达专利商标代理有限公司 11274代理人申健(54) 发明名称一种虚拟机通信方法及装置(57) 摘要本发明的实施例公开了一种虚拟机通信方法及装置,涉及通信领域,能够减少虚拟网络中的广播报文数量。具体方案为:虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找。

2、目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址。本发明用于虚拟机之间的通信。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书8页 附图4页(10)申请公布号 CN 104426816 A(43)申请公布日 2015.03.18CN 104426816 A1/2页21.一种虚拟机通信方法,其特征在于,包括:虚拟交换机接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;所述虚拟交换机从所述第一广播报文中获取所述目的虚拟机的网络协议IP地址;所述虚拟交换机根据所述目的虚拟机的。

3、IP地址在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;若所述虚拟交换机在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述虚拟交换机获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。2.根据权利要求1所述的方法,其特征在于,所述虚拟交换机根据所述目的虚拟机的IP地址在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址之前,还包括:所述虚拟交换机接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述虚拟交换机从所述第二广播报文中获取所述目的虚拟机的IP地址及所述。

4、目的虚拟机的MAC地址;所述虚拟交换机将所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。3.根据权利要求1或2所述的方法,其特征在于,所述虚拟机获取所述目的虚拟机的MAC地址之后,还包括:所述虚拟交换机向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。4.根据权利要求1或2所述的方法,其特征在于,所述第一广播报文还包括所述请求虚拟机的MAC地址;所述方法还包括:所述虚拟交换机从所述第一广播报文中获取所述请求虚拟机的MAC地址;所述虚拟交换机根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所。

5、述请求虚拟机的MAC地址。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述虚拟交换机在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述虚拟交换机将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文后与所述请求虚拟机连接。6.一种虚拟交换机,其特征在于,包括:接收单元、获取单元及存储单元,其中,接收单元,用于接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;获取单元,用于从所述接收单元接收到的所述第一广播报文中获取所述目的虚拟机的网络协议IP地址,根据所述目的虚拟机的IP地址在存储单元存储的地址列表中查找所述。

6、目的虚拟机的媒体介入控制层MAC地址;若在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于获权 利 要 求 书CN 104426816 A2/2页3取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。7.根据权利要求6所述的装置,其特征在于,所述接收单元,还用于接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述获取单元,还用于从所述接收单元接受的所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;所述存储单元,用于将所述获取单元获取的所述目的虚拟机的IP。

7、地址及所述目的虚拟机的MAC地址存储在所述地址列表中。8.根据权利要求6或7所述的装置,其特征在于,所述虚拟交换机还包括发送单元,所述发送单元,用于向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。9.根据权利要求6或7所述的装置,其特征在于,所述第一广播报文还包括所述请求虚拟机的MAC地址;所述获取单元,还用于从所述第一广播报文中获取所述请求虚拟机的MAC地址;所述虚拟交换机还包括发送单元,所述发送单元,用于根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述获取单元获取的所述请求虚拟机的MAC地址。10.根据权。

8、利要求6所述的装置,其特征在于,若在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文之后与所述请求虚拟机连接。权 利 要 求 书CN 104426816 A1/8页4一种虚拟机通信方法及装置技术领域0001 本发明涉及通信领域,尤其涉及一种虚拟机通信方法及装置。背景技术0002 虚拟交换机是虚拟化网络环境下软件模拟的交换机,是构成虚拟平台网络的关键部分,一般来说,在OSI(Open System Interconnection,开放式系统互联参考模型)七层模型中,虚拟交换机以第二层数据链路层。

9、的应用为主,可以完成服务器内VM(Virtual Machine,虚拟机)的二层网络交换。通常情况下,虚拟交换机会将系统使用的VLAN(Virtual Local Area Network,虚拟局域网)都进行配置,当有VM发送广播报文时,虚拟交换机会在第二层数据链路层内广播到所有服务器。0003 例如,在一个虚拟化网络环境中,VM1、VM2是运行在服务器虚拟机监控之上的虚拟机。虚拟机的网卡连接到虚拟交换机的虚拟端口,比如,VM1对应的虚拟端口VLAN是1,VM2对应的虚拟端口VLAN是2,物理交换机的端口会配置VLAN列表,将VM使用的VLAN都配置在列表中。这样,从VM1发送的广播报文将通过。

10、物理交换机广播到所有服务器,这一过程由虚拟交换机处理,而虚拟交换机是由服务器软件模拟的,因为广播较多,最终会增加服务器处理器的负荷。发明内容0004 本发明的实施例提供一种虚拟机通信方法及装置,涉及通信领域,能够解决因为广播较多而导致处理器负荷过大的问题。0005 为达到上述目的,本发明的实施例采用如下技术方案:0006 第一方面,一种虚拟机通信方法,包括:0007 虚拟交换机接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;0008 所述虚拟交换机从所述第一广播报文中获取所述目的虚拟机的网络协议IP地址;0009 所述虚拟交换机根据所述目的虚拟机的IP地址。

11、在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;0010 若所述虚拟交换机在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述虚拟交换机获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。0011 结合第一方面,在第一种可能的实现方式中,所述虚拟交换机根据所述目的虚拟机的IP地址在已经存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址之前,还包括:0012 所述虚拟交换机接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;说 明 书CN 104426816 A2/8页5。

12、0013 所述虚拟交换机从所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;0014 所述虚拟交换机将所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。0015 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟机获取所述目的虚拟机的MAC地址之后,还包括:0016 所述虚拟交换机向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。0017 结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,0018 所述第一广播报文还包括所述请求虚拟机的MAC地址;0019。

13、 所述方法还包括:0020 所述虚拟交换机从所述第一广播报文中获取所述请求虚拟机的MAC地址;0021 所述虚拟交换机根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述请求虚拟机的MAC地址。0022 结合第一方面,在第四种可能的实现方式中,所述方法还包括:0023 若所述虚拟交换机在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述虚拟交换机将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文后与所述请求虚拟机连接。0024 第二方面,一种虚拟交换机,包括:接收单元、获取单元及存储单元,其中,0025 接收单元,用。

14、于接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含所述目的虚拟机的IP地址;0026 获取单元,用于从所述接收单元接收到的所述第一广播报文中获取所述目的虚拟机的网络协议IP地址,根据所述目的虚拟机的IP地址在存储单元存储的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;0027 若在所述地址列表中查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于获取所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。0028 结合第二方面,在第一种可能的实现方式中,0029 所述接收单元,还用于接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述。

15、目的虚拟机的IP地址及所述目的虚拟机的MAC地址;0030 所述获取单元,还用于从所述接收单元接受的所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;0031 所述存储单元,用于将所述获取单元获取的所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述地址列表中。0032 结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟交换机还包括发送单元,0033 所述发送单元,用于向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址。0034 结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现。

16、方式说 明 书CN 104426816 A3/8页6中,0035 所述第一广播报文还包括所述请求虚拟机的MAC地址;0036 所述获取单元,还用于从所述第一广播报文中获取所述请求虚拟机的MAC地址;0037 所述虚拟交换机还包括发送单元,0038 所述发送单元,用于根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述获取单元获取的所述请求虚拟机的MAC地址。0039 结合第二方面,在第四种可能的实现方式中,0040 若在所述地址列表中没有查找到所述目的虚拟机的MAC地址,则所述获取单元,还用于将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收。

17、到所述第一广播报文之后与所述请求虚拟机连接。0041 本发明的实施例提供的虚拟机通信方法及装置,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。附图说明0042 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。0043 图1为本发明的实施例提供的一种虚拟机通信方法流程示意图;0044 图2为本发明的另一实施例提供的一种虚拟机通信方法流程示。

18、意图;0045 图3为本发明的实施例提供的一种虚拟交换机结构示意图;0046 图4为本发明的实施例提供的一种分布式虚拟交换机系统结构示意图;0047 图5为本发明的另一实施例提供的一种虚拟交换机结构示意图。具体实施方式0048 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。0049 在虚拟化网络环境下,虚拟机之间进行数据传输前,需要获得对方的物理地址进行连接,本发明的实施例,提供一种虚拟机通信方法,参照图1所示,该方法包括:0050 101、虚拟交换机接收请求虚拟机发送的第一广播报文。0051 。

19、其中,第一广播报文包含目的虚拟机的IP地址,可选的,该第一广播报文可以是ARP(Address Resolution Protocol,地址解析协议)报文。0052 请求虚拟机要向目的虚拟机传输数据前,必须先获取目的虚拟机的MAC地址,所以要向虚拟交换机发送第一广播报文,携带目的虚拟机的IP地址,以便于虚拟交换机根据目的虚拟机的IP地址获取该目的虚拟机的MAC地址。0053 102、虚拟交换机从第一广播报文中获取目的虚拟机的网络协议IP地址。0054 当虚拟交换机接收到第一广播报文之后,需要解析接收到的第一广播报文,从中提取出目的虚拟机的IP地址,此处,解析广播报文可以通过本领域内常见的技术手。

20、段进行解析。说 明 书CN 104426816 A4/8页70055 103、虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的媒体介入控制层MAC地址。0056 其中,地址列表中存储了虚拟机的IP地址与MAC地址,虚拟机的IP地址与虚拟机的MAC地址之间存在一一对应的关系,一个虚拟机的IP地址与MAC地址一起存储在地址列表中,如果地址列表中存储了目的虚拟机的IP地址与MAC地址,那么通过查找该目的虚拟机的IP地址,就可以获取目的虚拟机的MAC地址。0057 这样通过查找免去了广播ARP报文所需要消耗的处理器工作,减少处理器负荷。0058 104、虚拟交换机获取目的虚拟机。

21、的MAC地址。0059 如果虚拟交换机在地址列表中查找到目的虚拟机的MAC地址,虚拟交换机就可以获取目的虚拟机的MAC地址,以便于请求虚拟机与目的虚拟机进行连接。0060 本发明的实施例提供的虚拟机通信方法,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。0061 本发明的另一实施例提供一种虚拟机通信方法,参照图2所示,该方法包括:0062 201、虚拟交换机接收目的虚拟机发送的第二广播报文。0063 其中,第二广播报文包括目的虚拟。

22、机的IP地址及目的虚拟机的MAC地址,可选的,该第二广播报文可以是ARP报文。0064 202、虚拟交换机从第二广播报文中获取目的虚拟机的IP地址及目的虚拟机的MAC地址。0065 其中,第二广播报文可以是免费ARP报文,携带了目的虚拟机自身的IP地址及MAC地址,虚拟交换机可以通过解析获取该目的虚拟机的IP地址及MAC地址。0066 203、虚拟交换机将目的虚拟机的IP地址及目的虚拟机的MAC地址存储在地址列表中。0067 虚拟交换机将将目的虚拟机的IP地址及MAC地址存储下来,当需要用到的时候,可以通过查找直接获取,避免了发送过多的广播报文。可选的,可以在超过一定时间后,将目的虚拟机的IP。

23、地址及MAC地址删除,避免因为存储过多的地址信息而影响系统的性能。0068 204、虚拟交换机接收请求虚拟机发送的第一广播报文。0069 请求虚拟机要向目的虚拟机传输数据前,必须先获取目的虚拟机的MAC地址,所以要向虚拟交换机发送第一广播报文,携带目的虚拟机的IP地址,以便于虚拟交换机根据目的虚拟机的IP地址获取该目的虚拟机的MAC地址。0070 205、虚拟交换机从第一广播报文中获取目的虚拟机的网络协议IP地址。0071 当虚拟交换机接收到第一广播报文之后,需要解析接收到的第一广播报文,从中提取出目的虚拟机的IP地址,此处,解析广播报文可以通过本领域内常见的技术手段进行解析。0072 206。

24、、虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址。0073 其中,地址列表中存储了虚拟机的IP地址与MAC地址,虚拟机的IP地址与虚拟机的MAC地址之间存在一一对应的关系,一个虚拟机的IP地址与MAC地址一起存储在地址列说 明 书CN 104426816 A5/8页8表中,如果地址列表中存储了目的虚拟机的IP地址与MAC地址,那么通过查找该目的虚拟机的IP地址,就可以获取目的虚拟机的MAC地址。0074 这样通过查找免去了广播ARP报文所需要消耗的处理器工作,减少处理器负荷。0075 207、虚拟交换机获取目的虚拟机的MAC地址。0076 如果虚拟交换机在地。

25、址列表中查找到目的虚拟机的MAC地址,虚拟交换机就可以获取目的虚拟机的MAC地址,以便于请求虚拟机与目的虚拟机进行连接。0077 208、虚拟交换机将向请求虚拟机发送第一广播响应。0078 其中,该第一广播响应包括目的虚拟机的MAC地址,本实施例对第一广播响应的具体形式不做限制,只要能够将目的虚拟机的MAC地址发送至请求虚拟机即可,在常见的响应方式中,该第一广播响应可以是ARP响应。0079 虚拟交换机将目的虚拟机的MAC地址反馈给请求虚拟机,这样,请求虚拟机就可以根据目的虚拟机的MAC地址向目的虚拟机传输数据。0080 可选的,步骤207之后还包括:0081 209、虚拟交换机从第一广播报文。

26、中获取请求虚拟机的MAC地址,并且向目的虚拟机发送第二广播响应。0082 其中,该第二广播响应包括请求虚拟机的MAC地址,本实施例对第二广播响应的具体形式不做限制,只要能够将请求虚拟机的MAC地址发送至目的虚拟机即可,在常见的响应方式中,该第二广播响应可以是ARP响应。0083 其中,该第一广播报文包括请求虚拟机的MAC地址。虚拟交换机根据目的虚拟机的MAC地址将请求虚拟机的MAC地址发送给目的虚拟机,这样目的虚拟机就可以根据请求虚拟机的MAC地址向请求虚拟机传输数据,通过让目的虚拟机返回响应,可以达到与步骤208相同的效果。0084 可选的,步骤206之后还包括:0085 210、虚拟交换机。

27、将第一广播报文广播至所有报文。0086 若虚拟交换机在地址列表中没有查找到目的虚拟机的MAC地址,则虚拟交换机需要将第一广播报文在数据链路层网络内进行广播,以便于目的虚拟机接收到广播后将自己的MAC地址发送给请求虚拟机,从而实现两个虚拟机之间的连接。0087 本发明的实施例提供的虚拟机通信方法,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。0088 本发明的实施例提供一种虚拟交换机,参照图3所示,该虚拟交换机30包括:接收单元30。

28、1、获取单元302及存储单元303。0089 其中,接收单元301,用于接收请求虚拟机31发送的第一广播报文,其中,第一广播报文包含目的虚拟机32的IP地址。0090 获取单元302,用于从接收单元301接收到的第一广播报文中获取目的虚拟机32的网络协议IP地址,根据目的虚拟机32的IP地址在存储单元303存储的地址列表中查找目的虚拟机32的媒体介入控制层MAC地址。0091 若在地址列表中查找到目的虚拟机32的MAC地址,则获取单元302,还用于获取目说 明 书CN 104426816 A6/8页9的虚拟机32的MAC地址,以便于请求虚拟机31与目的虚拟机32进行连接。0092 本发明的实施。

29、例提供的虚拟交换机,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。0093 可选的,接收单元301,还用于接收目的虚拟机32发送的第二广播报文,其中,第二广播报文包括目的虚拟机32的IP地址及目的虚拟机32的MAC地址。0094 获取单元302,还用于从接收单元301接受的第二广播报文中获取目的虚拟机32的IP地址及目的虚拟机32的MAC地址。0095 存储单元303,用于将获取单元302获取的目的虚拟机32的IP地址及目的虚拟机。

30、32的MAC地址存储在地址列表中。0096 可选的,虚拟交换机30还包括发送单元304,0097 发送单元304,用于向请求虚拟机31发送第一广播响应,其中,第一广播响应包括目的虚拟机32的MAC地址。0098 或者,可选的,第一广播报文还包括请求虚拟机31的MAC地址。0099 获取单元302,还用于从第一广播报文中获取请求虚拟机31的MAC地址。0100 发送单元304,用于根据目的虚拟机32的MAC地址向目的虚拟机32发送第二广播响应,其中,第二广播响应包括获取单元302获取的请求虚拟机31的MAC地址。0101 可选的,若在地址列表中没有查找到目的虚拟机32的MAC地址,则获取单元30。

31、2,还用于将第一广播报文广播至所有虚拟机,以便于目的虚拟机32接收到第一广播报文后与请求虚拟机31连接。0102 本发明的实施例提供的虚拟交换机,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。0103 本发明的实施例提供的虚拟机通信方法,还可以应用于分布式虚拟交换机系统,该分布式虚拟交换机系统的结构参照图4所示,包括第一虚拟交换机41、第二虚拟交换机42以及配置管理模块43。其中,第一虚拟交换机41包括第一解析模块411、第一存储。

32、模块412以及第一应答模块413。第二虚拟交换机42包括第二解析模块421、第二存储模块422以及第二应答模块423。其中,图3对应的实施例中的获取单元302对应解析模块和配置管理模块43,存储单元303对应存储模块,接收单元301和发送单元304对应应答模块。参考图3对应的实施例,分布式虚拟机系统的工作原理如下:0104 当目的虚拟机45向第二虚拟交换机42发送第二广播报文时,第二应答模块423会接收目的虚拟机45发送的第二广播报文,第二解析模块421通过解析,提取出第二广播报文中包含的目的虚拟机45的IP地址及目的虚拟机45的MAC地址,将提取出的目的虚拟机45的IP地址及目的虚拟机45的。

33、MAC地址存储在存储模块中。0105 当请求虚拟机44向第一虚拟交换机41发送第一广播报文时,第一应答模块413会接收请求虚拟机44发送的第一广播报文,第二解析模块421通过解析,提取出第一广播报文中包含的目的虚拟机45的IP地址。说 明 书CN 104426816 A7/8页100106 此时,由配置管理模块43进行统一管理,配置管理模块43从第一存储单元中获取目的虚拟机45的IP地址,根据目的虚拟机45的IP地址,在第二存储单元中查找目的虚拟机45的MAC地址。如果查找到目的虚拟机45的MAC地址,配置管理模块43将目的虚拟机45的MAC地址发送至第一应答模块413,由第一应答模块413通。

34、过ARP响应将目的虚拟机45的MAC地址发送给请求虚拟机44以便于请求虚拟机44与目的虚拟机45之间建立连接。如果查询失败,则由第一应答模块413在数据链路层内广播第一广播报文,以便于第二虚拟机接受到后进行响应。0107 可选的,第一解析模块411还可以从第一广播报文中提取请求虚拟机44的MAC地址,并存储在存储模块中,以便于当有其他虚拟机需要获取该请求虚拟机44的MAC地址时,配置管理模块43可以快速查找到。0108 同时,可选的,配置管理模块43将请求虚拟机44的MAC地址发送至第二应答模块423,由第二应答模块423通过ARP响应将请求虚拟机44的MAC地址发送至目的虚拟机45,以便于目。

35、的虚拟机45和请求虚拟机44之间建立连接。0109 本发明的实施例提供的分布式虚拟交换机系统,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。0110 本发明的另一实施例提供一种虚拟交换机5001,参照图5所示,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,该虚拟交换机5001包括:至少一个处理器5011、存储器5012、总线5013和发射器5014,该至少一个处理器5011、存储器。

36、5012和发射器5014通过总线5013连接并完成相互间的通信。0111 该总线5013可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。该总线5013可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:0112 存储器5012用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器5。

37、012可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。0113 处理器5011可能是一个中央处理器5011(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。0114 处理器5011,用于调用存储器5012中的程序代码,用以执行图3对应的实施例中获取单元的操作,具体描述参照图3对应的设备实施例,这里不再赘述。0115 本发明的实施例提供的虚拟交换机,通过虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址,解决了虚拟网络中广播报文数量过多的问题,减少了处理器的负荷。说 明 书CN 104426816 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1