CN104426816B - 一种虚拟机通信方法及装置 - Google Patents
一种虚拟机通信方法及装置 Download PDFInfo
- Publication number
- CN104426816B CN104426816B CN201310362412.5A CN201310362412A CN104426816B CN 104426816 B CN104426816 B CN 104426816B CN 201310362412 A CN201310362412 A CN 201310362412A CN 104426816 B CN104426816 B CN 104426816B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- address
- mac address
- destination
- virtual
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例公开了一种虚拟机通信方法及装置,涉及通信领域,能够减少虚拟网络中的广播报文数量。具体方案为:虚拟交换机根据目的虚拟机的IP地址在已经存储的地址列表中查找目的虚拟机的MAC地址,如果查找到目的虚拟机的MAC地址,则获取目的虚拟机的MAC地址。本发明用于虚拟机之间的通信。
Description
技术领域
本发明涉及通信领域,尤其涉及一种虚拟机通信方法及装置。
背景技术
虚拟交换机是虚拟化网络环境下软件模拟的交换机,是构成虚拟平台网络的关键部分,一般来说,在OSI(Open System Interconnection,开放式系统互联参考模型)七层模型中,虚拟交换机以第二层数据链路层的应用为主,可以完成服务器内VM(VirtualMachine,虚拟机)的二层网络交换。通常情况下,虚拟交换机会将系统使用的VLAN(VirtualLocal 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 IndustryStandard 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)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种虚拟机通信方法,其特征在于,应用于分布式虚拟交换机系统,所述分布式虚拟交换机系统包括第一虚拟交换机、第二虚拟交换机和配置管理模块,所述方法包括:
所述第一虚拟交换机接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含目的虚拟机的网络协议IP地址;
所述第一虚拟交换机从所述第一广播报文中获取所述目的虚拟机的IP地址;
所述配置管理模块从所述第一虚拟交换机获取所述目的虚拟机的IP地址,根据所述目的虚拟机的IP地址在存储于所述第二虚拟交换机中的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;
若所述配置管理模块在所述第二虚拟交换机中的地址列表中查找到所述目的虚拟机的MAC地址,则所述配置管理模块获取所述目的虚拟机的MAC地址,将所述目的虚拟机的MAC地址发送至所述第一虚拟交换机;
所述第一虚拟交换机向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。
2.根据权利要求1所述的方法,其特征在于,所述配置管理模块根据所述目的虚拟机的IP地址在存储于所述第二虚拟交换机中的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址之前,还包括:
所述第二虚拟交换机接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
所述第二虚拟交换机从所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
所述第二虚拟交换机将所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述第二虚拟交换机的地址列表中。
3.根据权利要求1或2所述的方法,其特征在于,
所述第一广播报文还包括所述请求虚拟机的MAC地址;
所述方法还包括:
所述第一虚拟交换机从所述第一广播报文中获取所述请求虚拟机的MAC地址,将所述请求虚拟机的MAC地址存储在所述第一虚拟交换机中的地址列表中;
所述配置管理模块从所述第一虚拟交换机中的地址列表中查找所述请求虚拟机的MAC地址,将所述请求虚拟机的MAC地址发送至所述第二虚拟交换机;
所述第二虚拟交换机根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述请求虚拟机的MAC地址。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述配置管理模块在所述第二虚拟交换机中的地址列表中没有查找到所述目的虚拟机的MAC地址,则所述第一虚拟交换机将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文后与所述请求虚拟机连接。
5.一种分布式虚拟交换机系统,其特征在于,包括:第一虚拟交换机、第二虚拟交换机和配置管理模块,
所述第一虚拟交换机,用于接收请求虚拟机发送的第一广播报文,其中,所述第一广播报文包含目的虚拟机的网络协议IP地址;从所述第一广播报文中获取所述目的虚拟机的IP地址;
所述配置管理模块,用于从所述第一虚拟交换机获取所述目的虚拟机的IP地址,根据所述目的虚拟机的IP地址在存储于所述第二虚拟交换机中的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址;若所述配置管理模块在所述第二虚拟交换机中的地址列表中查找到所述目的虚拟机的MAC地址,则所述配置管理模块获取所述目的虚拟机的MAC地址,将所述目的虚拟机的MAC地址发送至所述第一虚拟交换机;
所述第一虚拟交换机还用于:向所述请求虚拟机发送第一广播响应,其中,所述第一广播响应包括所述目的虚拟机的MAC地址,以便于所述请求虚拟机与所述目的虚拟机进行连接。
6.根据权利要求5所述的系统,其特征在于,在所述配置管理模块根据所述目的虚拟机的IP地址在存储于所述第二虚拟交换机中的地址列表中查找所述目的虚拟机的媒体介入控制层MAC地址之前,所述第二虚拟交换机用于:
接收所述目的虚拟机发送的第二广播报文,其中,所述第二广播报文包括所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
从所述第二广播报文中获取所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址;
将所述目的虚拟机的IP地址及所述目的虚拟机的MAC地址存储在所述第二虚拟交换机的地址列表中。
7.根据权利要求5或6所述的系统,其特征在于,
所述第一广播报文还包括所述请求虚拟机的MAC地址;
所述第一虚拟交换机,还用于从所述第一广播报文中获取所述请求虚拟机的MAC地址,将所述请求虚拟机的MAC地址存储在所述第一虚拟交换机中的地址列表中;
所述配置管理模块,还用于从所述第一虚拟交换机中的地址列表中查找所述请求虚拟机的MAC地址,将所述请求虚拟机的MAC地址发送至所述第二虚拟交换机;
所述第二虚拟交换机,还用于根据所述目的虚拟机的MAC地址向所述目的虚拟机发送第二广播响应,其中,所述第二广播响应包括所述请求虚拟机的MAC地址。
8.根据权利要求5所述的系统,其特征在于,
若所述配置管理模块在所述第二虚拟交换机中的地址列表中没有查找到所述目的虚拟机的MAC地址,则所述第一虚拟交换机还用于将所述第一广播报文广播至所有虚拟机,以便于所述目的虚拟机接收到所述第一广播报文后与所述请求虚拟机连接。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310362412.5A CN104426816B (zh) | 2013-08-19 | 2013-08-19 | 一种虚拟机通信方法及装置 |
| PCT/CN2014/072326 WO2015024373A1 (zh) | 2013-08-19 | 2014-02-20 | 一种虚拟机通信方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310362412.5A CN104426816B (zh) | 2013-08-19 | 2013-08-19 | 一种虚拟机通信方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104426816A CN104426816A (zh) | 2015-03-18 |
| CN104426816B true CN104426816B (zh) | 2018-08-21 |
Family
ID=52483019
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310362412.5A Active CN104426816B (zh) | 2013-08-19 | 2013-08-19 | 一种虚拟机通信方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN104426816B (zh) |
| WO (1) | WO2015024373A1 (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110050447B (zh) * | 2017-06-30 | 2021-02-12 | 华为技术有限公司 | 一种数据处理方法、网络接口卡及服务器 |
| CN107342956A (zh) * | 2017-07-14 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种实现广播处理的方法及装置 |
| CN109240796A (zh) * | 2018-08-10 | 2019-01-18 | 新华三云计算技术有限公司 | 虚拟机信息获取方法及装置 |
| CN112235175B (zh) * | 2020-09-01 | 2022-03-18 | 深圳市共进电子股份有限公司 | 一种网桥设备的访问方法、访问装置及网桥设备 |
| CN114095460B (zh) * | 2022-01-20 | 2022-05-31 | 杭州优云科技有限公司 | 一种报文广播方法及设备 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101924707A (zh) * | 2010-09-27 | 2010-12-22 | 杭州华三通信技术有限公司 | 地址解析协议报文的处理方法和设备 |
| CN102143068A (zh) * | 2011-03-01 | 2011-08-03 | 华为技术有限公司 | 一种mac地址学习的方法,装置和系统 |
| CN102868605A (zh) * | 2012-09-05 | 2013-01-09 | 浙江宇视科技有限公司 | 一种环网数据保护方法和装置 |
| CN103139071A (zh) * | 2011-11-29 | 2013-06-05 | 华为技术有限公司 | 报文转发方法、装置和系统 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101459618B (zh) * | 2009-01-06 | 2011-01-19 | 北京航空航天大学 | 虚拟机网络的数据包转发方法和装置 |
| CN102457586B (zh) * | 2010-10-18 | 2015-06-03 | 中兴通讯股份有限公司 | 一种实现二层网络的扩展方法及扩展的二层网络 |
| US8521884B2 (en) * | 2010-12-15 | 2013-08-27 | Industrial Technology Research Institute | Network system and method of address resolution |
-
2013
- 2013-08-19 CN CN201310362412.5A patent/CN104426816B/zh active Active
-
2014
- 2014-02-20 WO PCT/CN2014/072326 patent/WO2015024373A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101924707A (zh) * | 2010-09-27 | 2010-12-22 | 杭州华三通信技术有限公司 | 地址解析协议报文的处理方法和设备 |
| CN102143068A (zh) * | 2011-03-01 | 2011-08-03 | 华为技术有限公司 | 一种mac地址学习的方法,装置和系统 |
| CN103139071A (zh) * | 2011-11-29 | 2013-06-05 | 华为技术有限公司 | 报文转发方法、装置和系统 |
| CN102868605A (zh) * | 2012-09-05 | 2013-01-09 | 浙江宇视科技有限公司 | 一种环网数据保护方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104426816A (zh) | 2015-03-18 |
| WO2015024373A1 (zh) | 2015-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11659441B2 (en) | Load balance method and apparatus thereof | |
| EP3828709B1 (en) | Communication method and network card | |
| CN104144156B (zh) | 报文处理方法和装置 | |
| US11356410B2 (en) | Packet transmission method and device, and computer readable storage medium | |
| US9866525B2 (en) | Source-destination network address translation (SDNAT) proxy and method thereof | |
| CN101924707A (zh) | 地址解析协议报文的处理方法和设备 | |
| CN104753789B (zh) | 一种转发报文的方法及系统 | |
| WO2014089799A1 (zh) | 一种确定虚拟机漂移的方法和装置 | |
| CN104426816B (zh) | 一种虚拟机通信方法及装置 | |
| CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
| CN103109517A (zh) | 一种双栈终端访问服务器的方法、终端和系统 | |
| EP3382998A1 (en) | Detecting hardware address conflicts in computer networks | |
| US20120243521A1 (en) | Gateway device | |
| WO2020038443A1 (zh) | 桥接通信的方法和设备 | |
| CN113163024B (zh) | 报文处理方法、服务器及存储介质 | |
| CN106507414B (zh) | 报文转发方法及装置 | |
| CN103503413B (zh) | 传输网络信息的方法及装置 | |
| CN114025009A (zh) | 转发请求的方法、系统、代理服务器和装置 | |
| CN102572012A (zh) | 一种消息处理方法、交换机及系统 | |
| CN104702707A (zh) | 一种数据处理方法及装置 | |
| WO2014166078A1 (zh) | 数据发送处理方法及路由器 | |
| US12003417B2 (en) | Communication method and apparatus | |
| US20250300962A1 (en) | Address configuration method and electronic device | |
| CN105052207B (zh) | 一种信息查询方法、设备及系统 | |
| CN108011989B (zh) | 一种重定向方法及装置 |
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 | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20220214 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
| TR01 | Transfer of patent right |