WO2015024373A1 - 一种虚拟机通信方法及装置 - Google Patents

一种虚拟机通信方法及装置 Download PDF

Info

Publication number
WO2015024373A1
WO2015024373A1 PCT/CN2014/072326 CN2014072326W WO2015024373A1 WO 2015024373 A1 WO2015024373 A1 WO 2015024373A1 CN 2014072326 W CN2014072326 W CN 2014072326W WO 2015024373 A1 WO2015024373 A1 WO 2015024373A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
address
mac address
destination virtual
destination
Prior art date
Application number
PCT/CN2014/072326
Other languages
English (en)
French (fr)
Inventor
闫立俊
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015024373A1 publication Critical patent/WO2015024373A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present invention relates to the field of communications, and in particular, to a virtual machine communication method and apparatus. Background technique
  • a virtual switch is a software-simulated switch in a virtualized network environment and is a key part of a virtual platform network.
  • OSI Open System Interconnection
  • the virtual switch is second.
  • the layer data link layer is mainly applied, and the Layer 2 network exchange of VMs (virtual machines) in the server can be completed.
  • a virtual switch configures the virtual local area network (Virtual Local Area Network) of the system. When a VM sends broadcast packets, the virtual switch broadcasts to all servers in the Layer 2 data link layer. .
  • VM1 and VM2 are virtual machines running on top of server virtual machine monitoring.
  • the NIC of the virtual machine is connected to the virtual port of the virtual switch.
  • the virtual port VLAN corresponding to VM1 is 1, and the virtual port VLAN corresponding to VM2 is 2.
  • the physical switch port is configured with a VLAN list, and the VLANs used by the VM are all configured in the list. in. In this way, the broadcast packets sent from VM1 will be broadcast to all servers through the physical switch. This process is handled by the virtual switch, and the virtual switch is simulated by the server software. Because there are more broadcasts, it will eventually increase the load on the server processor. Summary of the invention
  • Embodiments of the present invention provide a virtual machine communication method and apparatus, which relate to the communication field, and can solve the problem that the processor load is excessive due to a large number of broadcasts.
  • a virtual machine communication method includes: receiving, by a virtual switch, a first broadcast message that is sent by a requesting virtual machine, where the first broadcast message includes an IP address of the destination virtual machine; Obtaining, by the first broadcast packet, a network protocol IP address of the destination virtual machine; The virtual switch searches for the media intervention control layer MAC address of the destination virtual machine in the already stored address list according to the IP address of the destination virtual machine; if the virtual switch finds the destination in the address list The virtual machine obtains the MAC address of the destination virtual machine, so that the request virtual machine is connected to the destination virtual machine.
  • the virtual switch searches for the media intervention control layer MAC address of the destination virtual machine in the already stored address list according to the IP address of the destination virtual machine.
  • the method further includes: the virtual switch receiving the second broadcast packet sent by the destination virtual machine, where the second broadcast packet includes an IP address of the destination virtual machine and a MAC address of the destination virtual machine; Obtaining, by the virtual switch, the IP address of the destination virtual machine and the MAC address of the destination virtual machine from the second broadcast packet; the virtual switch, the IP address of the destination virtual machine, and the destination virtual machine The MAC address is stored in the address list.
  • the virtual machine further includes: The requesting virtual machine sends a first broadcast response, where the first broadcast response includes a MAC address of the destination virtual machine.
  • the first broadcast message further includes a MAC address of the requesting virtual machine
  • the method further includes: The virtual switch obtains the MAC address of the requesting virtual machine from the first broadcast packet; the virtual switch sends a second broadcast response to the destination virtual machine according to the MAC address of the destination virtual machine, where The second broadcast response includes a MAC address of the requesting virtual machine.
  • the method further includes: if the virtual switch does not find the MAC address of the destination virtual machine in the address list, the virtual switch The first broadcast message is broadcast to all the virtual machines, so that the destination virtual machine is connected to the request virtual machine after receiving the first broadcast message.
  • a virtual switch includes: a receiving unit, an obtaining unit, and a storage unit, where
  • a receiving unit configured to receive a first broadcast message that is sent by the requesting virtual machine, where the first broadcast message includes an IP address of the destination virtual machine
  • an acquiring unit configured to receive from the receiving unit Obtaining a network protocol IP address of the destination virtual machine in the first broadcast packet, and searching for a media intervention control layer MAC address of the destination virtual machine in an address list stored in the storage unit according to the IP address of the destination virtual machine; If the MAC address of the destination virtual machine is found in the address list, the acquiring unit is further configured to acquire a MAC address of the destination virtual machine, so as to facilitate the requesting virtual machine and the destination virtual machine. Make a connection.
  • the receiving unit is further configured to receive a second broadcast packet that is sent by the destination virtual machine, where the second broadcast packet includes the destination The IP address of the virtual machine and the MAC address of the destination virtual machine; the obtaining unit is further configured to obtain an IP address of the destination virtual machine from the second broadcast packet received by the receiving unit, and the The MAC address of the destination virtual machine is used to store the IP address of the destination virtual machine and the MAC address of the destination virtual machine acquired by the obtaining unit in the address list.
  • the virtual switch further includes a sending unit, where the sending unit is configured to send to the requesting virtual machine a first broadcast response, wherein the first broadcast response includes a MAC address of the destination virtual machine.
  • the first broadcast message further includes a MAC address of the requesting virtual machine
  • the acquiring unit is further configured to obtain, by using the first broadcast packet, a MAC address of the requesting virtual machine
  • the virtual switch further includes a sending unit, where the sending unit is configured to send a second broadcast response to the destination virtual machine according to the MAC address of the destination virtual machine, where the second broadcast response includes the acquiring unit The obtained MAC address of the requesting virtual machine.
  • the acquiring unit is further configured to use the first broadcast report.
  • the file is broadcast to all the virtual machines, so that the destination virtual machine is connected to the requesting virtual machine after receiving the first broadcast message.
  • the virtual switch searches for the MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine, and if the MAC address of the destination virtual machine is found, Obtain the MAC address of the destination VM, solve the problem of too many broadcast packets in the virtual network, and reduce the load on the processor.
  • FIG. 1 is a schematic flowchart of a virtual machine communication method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a virtual machine communication method according to another embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a virtual switch according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a distributed virtual switch system according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a virtual switch according to another embodiment of the present invention.
  • the virtual switch receives the first broadcast message sent by the requesting virtual machine.
  • the first broadcast packet includes an IP address of the destination virtual machine.
  • the first broadcast packet may be an ARP (Address Resolution Protocol) packet.
  • ARP Address Resolution Protocol
  • the MAC address of the destination VM must be obtained. Therefore, the first broadcast packet is sent to the virtual switch, and the IP address of the destination VM is carried. The IP address gets the MAC address of the destination virtual machine.
  • the virtual switch acquires a network protocol IP address of the destination virtual machine from the first broadcast packet. After receiving the first broadcast packet, the virtual switch needs to parse the received first broadcast message, and extract the IP address of the destination virtual machine, where the parsing of the broadcast message can be performed by techniques common in the field. Means to analyze.
  • the virtual switch searches for the media intervention control layer MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine.
  • the address list stores the IP address and MAC address of the virtual machine, and the virtual machine's IP address and the virtual machine's MAC address exist in a corresponding relationship.
  • the IP address of a virtual machine is stored in the address list along with the MAC address. If the IP address and MAC address of the destination virtual machine are stored in the address list, the MAC address of the destination virtual machine can be obtained by searching the IP address of the destination virtual machine. In this way, by searching for the processor work that is consumed by the broadcast ARP packet, Reduce processor load.
  • the virtual switch acquires a MAC address of the destination virtual machine. If the virtual switch finds the MAC address of the destination virtual machine in the address list, the virtual switch can obtain the MAC address of the destination virtual machine, so as to request the virtual machine to connect with the destination virtual machine.
  • the virtual machine communication method provided by the embodiment of the present invention searches for the MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine by the virtual switch. If the MAC address of the destination virtual machine is found, the acquisition destination is obtained. The MAC address of the virtual machine solves the problem of too many broadcast packets in the virtual network and reduces the load on the processor.
  • Another embodiment of the present invention provides a virtual machine communication method. Referring to FIG. 2, the method includes:
  • the virtual switch receives the second broadcast packet sent by the destination virtual machine.
  • the second broadcast packet includes an IP address of the destination virtual machine and a MAC address of the destination virtual machine.
  • the second broadcast packet may be an ARP packet.
  • the virtual switch acquires an IP address of the destination virtual machine and a MAC address of the destination virtual machine from the second broadcast packet.
  • the second broadcast packet can be a free ARP packet carrying the IP address and MAC address of the destination virtual machine.
  • the virtual switch can obtain the IP address and MAC address of the destination virtual machine through parsing.
  • the virtual switch stores the IP address of the destination virtual machine and the MAC address of the destination virtual machine in an address list.
  • the virtual switch stores the IP address and MAC address of the destination VM. When it is needed, it can be directly obtained through the search, which avoids sending too many broadcasts.
  • the IP address and MAC address of the destination virtual machine may be deleted to avoid affecting system performance due to excessive address information being stored.
  • the virtual switch receives the first broadcast message sent by the requesting virtual machine. Before the virtual machine is requested to transmit data to the destination virtual machine, the MAC address of the destination VM must be obtained. Therefore, the first broadcast packet is sent to the virtual switch. The IP address of the virtual machine, so that the virtual switch obtains the MAC address of the destination virtual machine according to the IP address of the destination virtual machine.
  • the virtual switch acquires a network protocol IP address of the destination virtual machine from the first broadcast packet. After receiving the first broadcast packet, the virtual switch needs to parse the received first broadcast message, and extract the IP address of the destination virtual machine, where the parsing of the broadcast message can be performed by techniques common in the field. Means to analyze.
  • the virtual switch searches for the MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine.
  • the address list stores the IP address and MAC address of the virtual machine, and the virtual machine's IP address and the virtual machine's MAC address exist in a corresponding relationship.
  • the IP address of a virtual machine is stored in the address list along with the MAC address. If the IP address and MAC address of the destination virtual machine are stored in the address list, the MAC address of the destination virtual machine can be obtained by searching the IP address of the destination virtual machine. This reduces the processor load by eliminating the need to dissipate the processor work required to broadcast ARP packets.
  • the virtual switch acquires a MAC address of the destination virtual machine. If the virtual switch finds the MAC address of the destination virtual machine in the address list, the virtual switch can obtain the MAC address of the destination virtual machine, so as to request the virtual machine to connect with the destination virtual machine.
  • the virtual switch sends a first broadcast response to the requesting virtual machine.
  • the first broadcast response includes the MAC address of the destination virtual machine.
  • This embodiment does not limit the specific format of the first broadcast response, as long as the MAC address of the destination virtual machine can be sent to the requesting virtual machine.
  • the first broadcast response may be an ARP response.
  • the virtual switch feeds back the MAC address of the destination virtual machine to the requesting virtual machine, so that the requesting virtual machine can transmit data to the destination virtual machine according to the MAC address of the destination virtual machine.
  • the method further includes: 209.
  • the virtual switch acquires a MAC address of the requesting virtual machine from the first broadcast packet, and sends a second broadcast response to the destination virtual machine.
  • the second broadcast response includes the MAC address of the requesting virtual machine.
  • the specific format of the second broadcast response is not limited, as long as the MAC address of the requesting virtual machine can be sent to the destination virtual machine.
  • the second broadcast response may be an ARP response.
  • the first broadcast message includes a MAC address of the requesting virtual machine.
  • the virtual switch sends the MAC address of the requesting virtual machine to the destination virtual machine according to the MAC address of the destination virtual machine, so that the destination virtual machine can transmit data to the requesting virtual machine according to the MAC address of the requesting virtual machine, and the destination virtual machine returns a response.
  • the method further includes:
  • the virtual switch broadcasts the first broadcast packet to all the packets. If the virtual switch does not find the MAC address of the destination VM in the address list, the virtual switch needs to broadcast the first broadcast packet in the data link layer network, so that the destination VM receives its own MAC after receiving the broadcast. The address is sent to the requesting virtual machine to enable the connection between the two virtual machines.
  • the virtual machine communication method provided by the embodiment of the present invention searches for the MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine by the virtual switch. If the MAC address of the destination virtual machine is found, the acquisition destination is obtained. The MAC address of the virtual machine solves the problem of too many broadcast packets in the virtual network and reduces the load on the processor.
  • the virtual switch 30 includes: a receiving unit 301, an obtaining unit 302, and a storage unit 303.
  • the receiving unit 301 is configured to receive the first broadcast packet that is sent by the requesting virtual machine 31, where the first broadcast packet includes an IP address of the destination virtual machine 32.
  • the obtaining unit 302 is configured to obtain the network protocol IP address of the destination virtual machine 32 from the first broadcast packet received by the receiving unit 301, and find the destination virtual in the address list stored in the storage unit 303 according to the IP address of the destination virtual machine 32.
  • the media of machine 32 is involved in the control layer MAC address.
  • the obtaining unit 302 is further configured to obtain the MAC address of the destination virtual machine 32, so as to request the virtual machine 31 to connect with the destination virtual machine 32.
  • the virtual switch provided by the embodiment of the present invention searches for the MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine through the virtual switch, and obtains the destination virtual machine if the MAC address of the destination virtual machine is found.
  • the MAC address solves the problem of excessive number of broadcast messages in the virtual network and reduces the load on the processor.
  • the receiving unit 301 is further configured to receive the second broadcast packet sent by the destination virtual machine 32, where the second broadcast packet includes an IP address of the destination virtual machine 32 and a MAC address of the destination virtual machine 32.
  • the obtaining unit 302 is further configured to obtain the IP address of the destination virtual machine 32 and the MAC address of the destination virtual machine 32 from the second broadcast message received by the receiving unit 301.
  • the storage unit 303 is configured to store the IP address of the destination virtual machine 32 acquired by the obtaining unit 302 and the MAC address of the destination virtual machine 32 in the address list.
  • the virtual switch 30 further includes a sending unit 304, where the sending unit 304 is configured to send a first broadcast response to the requesting virtual machine 31, where the first broadcast response includes a MAC address of the destination virtual machine 32.
  • the first broadcast message further includes a MAC address requesting the virtual machine 31.
  • the obtaining unit 302 is further configured to obtain the MAC address of the requesting virtual machine 31 from the first broadcast message.
  • the sending unit 304 is configured to send a second broadcast response to the destination virtual machine 32 according to the MAC address of the destination virtual machine 32, where the second broadcast response includes the MAC address of the request virtual machine 31 acquired by the obtaining unit 302.
  • the obtaining unit 302 is further configured to broadcast the first broadcast packet to all the virtual machines, so that the destination virtual machine 32 receives the first
  • the broadcast message is connected to the requesting virtual machine 31.
  • the virtual switch provided by the embodiment of the present invention is virtualized according to the purpose through the virtual switch.
  • the IP address of the virtual machine is used to find the MAC address of the destination VM in the stored address list. If the MAC address of the destination VM is found, the MAC address of the destination VM is obtained, which resolves the excessive number of broadcast packets in the virtual network. The problem is that the load on the processor is reduced.
  • the virtual machine communication method provided by the embodiment of the present invention can also be applied to a distributed virtual switch system.
  • the structure of the distributed virtual switch system is as shown in FIG. 4, including the first virtual switch 41, the second virtual switch 42, and the configuration. Management module 43.
  • the first virtual switch 41 includes a first parsing module 411, a first storage module 412, and a first response module 413.
  • the second virtual switch 42 includes a second parsing module 421, a second storage module 422, and a second response module 423.
  • the obtaining unit 302 corresponding to the embodiment in FIG. 3 corresponds to the parsing module and the configuration management module 43
  • the storage unit 303 corresponds to the storage module
  • the receiving unit 301 and the sending unit 304 correspond to the response module.
  • the distributed virtual machine system works as follows: When the destination virtual machine 45 sends the second broadcast message to the second virtual switch 42, the second response module 423 receives the destination virtual machine 45.
  • the second parsing module 421 extracts the IP address of the destination virtual machine 45 and the MAC address of the destination virtual machine 45 included in the second broadcast packet, and extracts the IP of the extracted destination virtual machine 45.
  • the MAC address of the address and destination virtual machine 45 is stored in the storage module.
  • the configuration management module 43 performs unified management, and the configuration management module 43 acquires the IP address of the destination virtual machine 45 from the first storage unit, and searches for the destination virtual machine in the second storage unit according to the IP address of the destination virtual machine 45. 45 MAC address. If the MAC address of the destination virtual machine 45 is found, the configuration management module 43 sends the MAC address of the destination virtual machine 45 to the first response module 413, and the first response module 413 sends the MAC address of the destination virtual machine 45 to the MAC address of the destination virtual machine 45.
  • the virtual machine 44 is requested to facilitate the establishment of a connection between the virtual machine 44 and the destination virtual machine 45.
  • the first response module 413 broadcasts the first broadcast message in the data link layer, so that the second virtual machine responds after receiving the message.
  • the first parsing module 41 1 may further extract the MAC address of the requesting virtual machine 44 from the first broadcast packet, and store the MAC address in the storage module, so that when other virtual machines need to obtain the requesting virtual machine 44, When the MAC address is obtained, the configuration management module 43 can quickly find it.
  • the configuration management module 43 sends the MAC address of the requesting virtual machine 44 to the second response module 423, and the second response module 423 sends the MAC address of the requesting virtual machine 44 to the destination virtual machine 45 through the ARP response.
  • a connection is established between the destination virtual machine 45 and the requesting virtual machine 44.
  • the distributed virtual switch system provided by the embodiment of the present invention searches for the MAC address of the destination virtual machine in the stored address list through the IP address of the virtual switch of the virtual switch. If the MAC address of the destination virtual machine is found, the The MAC address of the destination VM solves the problem of too many broadcast packets in the virtual network and reduces the load on the processor.
  • Another embodiment of the present invention provides a virtual switch 5001. Referring to FIG.
  • the device may be embedded or itself a microprocessor computer, such as a general-purpose computer, a custom machine, a mobile terminal, or a tablet device.
  • the virtual switch 5001 includes: at least one processor 5011, a memory 5012, a bus 5013, and a transmitter 5014.
  • the at least one processor 5011, the memory 5012, and the transmitter 5014 are connected by a bus 5013 and complete communication with each other.
  • the bus 5013 may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component) bus, or an EISA (Extended Industry Standard Architecture) bus.
  • the bus 5013 can be divided into an address bus, a data bus, a control bus, and the like.
  • the memory 5012 is configured to store executable program code, the program code including computer operating instructions.
  • the memory 5012 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the processor 5011 may be a central processing unit (CPU 1111) or a specific integrated circuit (Application Specific) Integrated Circuit (abbreviated as ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • the processor 5011 is configured to call the program code in the memory 5012 to perform the operation of the obtaining unit in the embodiment corresponding to FIG. 3.
  • the virtual switch provided by the embodiment of the present invention searches for the MAC address of the destination virtual machine in the stored address list according to the IP address of the destination virtual machine through the virtual switch, and obtains the destination virtual machine if the MAC address of the destination virtual machine is found.
  • the MAC address solves the problem of excessive number of broadcast messages in the virtual network and reduces the load on the processor.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium can be any available media that can be accessed by a computer.
  • computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage media or other magnetic storage device, or can be used for carrying or storing in the form of an instruction or data structure.
  • connection may suitably be a computer readable medium.
  • the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave
  • coaxial cable , fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, wireless, and microwaves are included in the fixing of the associated media.
  • a disk and a disc include a compact disc (CD), a laser disc, a disc, a digital versatile disc (DVD), a floppy disc, and a Blu-ray disc, wherein the disc is usually magnetically copied, and the disc is The laser is used to optically replicate the data. Combinations of the above should also be included within the scope of the computer readable media.

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 ( 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地址, 可选的, 该第 一广播 4艮文可以是 ARP (Address Resolution Protocol, 地址解析协议) 报文。 请求虚拟机要向目的虚拟机传输数据前,必须先获取目的虚拟机 的 MAC地址, 所以要向虚拟交换机发送第一广播报文, 携带目的虚 拟机的 IP地址, 以便于虚拟交换机根据目的虚拟机的 IP地址获取该 目的虚拟机的 MAC地址。
102、 虚拟交换机从第一广播报文中获取目的虚拟机的网络协议 IP地址。 当虚拟交换机接收到第一广播报文之后,需要解析接收到的第一 广播 4艮文, 从中提取出目的虚拟机的 IP地址, 此处, 解析广播 4艮文 可以通过本领域内常见的技术手段进行解析。
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地址。 当虚拟交换机接收到第一广播报文之后,需要解析接收到的第一 广播 4艮文, 从中提取出目的虚拟机的 IP地址, 此处, 解析广播 4艮文 可以通过本领域内常见的技术手段进行解析。
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在数据链路层内广播第一广播报文,以便于第二虚 拟机接受到后进行响应。 可选的,第一解析模块 41 1还可以从第一广播报文中提取请求虚 拟机 44的 MAC地址, 并存储在存储模块中, 以便于当有其他虚拟 机需要获取该请求虚拟机 44的 MAC地址时, 配置管理模块 43可以 快速查找到。
同时, 可选的, 配置管理模块 43将请求虚拟机 44的 MAC地址 发送至第二应答模块 423 , 由第二应答模块 423通过 ARP响应将请 求虚拟机 44的 MAC地址发送至目的虚拟机 45 , 以便于目的虚拟机 45和请求虚拟机 44之间建立连接。 本发明的实施例提供的分布式虚拟交换机系统,通过虚拟交换机 居目的虚拟机的 IP地址在已经存储的地址列表中查找目的虚拟机 的 MAC地址, 如果查找到目的虚拟机的 MAC地址, 则获取目的虚 拟机的 MAC地址, 解决了虚拟网络中广播报文数量过多的问题, 减 少了处理器的负荷。 本发明的另一实施例提供一种虚拟交换机 5001 , 参照图 5所示, 该设备可以嵌入或本身就是微处理计算机, 比如: 通用计算机、 客户 定制机、 手机终端或平板机等便携设备, 该虚拟交换机 5001 包括: 至少一个处理器 501 1、 存储器 5012、 总线 5013和发射器 5014 , 该 至少一个处理器 501 1、 存储器 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 ) 、 软盘和蓝光光碟, 其中盘通常磁性的复制 数据, 而碟则用激光来光学的复制数据。 上面的组合也应当包括在计 算机可读介质的保护范围之内。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应所述以权利要求的保护范围为准。

Claims

权利要求
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地址,则所述 获取单元, 还用于将所述第一广播报文广播至所有虚拟机, 以便于所 述目的虚拟机接收到所述第一广播报文之后与所述请求虚拟机连接。
PCT/CN2014/072326 2013-08-19 2014-02-20 一种虚拟机通信方法及装置 WO2015024373A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310362412.5 2013-08-19
CN201310362412.5A CN104426816B (zh) 2013-08-19 2013-08-19 一种虚拟机通信方法及装置

Publications (1)

Publication Number Publication Date
WO2015024373A1 true WO2015024373A1 (zh) 2015-02-26

Family

ID=52483019

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/072326 WO2015024373A1 (zh) 2013-08-19 2014-02-20 一种虚拟机通信方法及装置

Country Status (2)

Country Link
CN (1) CN104426816B (zh)
WO (1) WO2015024373A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095460A (zh) * 2022-01-20 2022-02-25 杭州优云科技有限公司 一种报文广播方法及设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3995955B1 (en) 2017-06-30 2024-10-16 Huawei Technologies Co., Ltd. Data processing method, network interface card, and server
CN107342956A (zh) * 2017-07-14 2017-11-10 郑州云海信息技术有限公司 一种实现广播处理的方法及装置
CN109240796A (zh) * 2018-08-10 2019-01-18 新华三云计算技术有限公司 虚拟机信息获取方法及装置
CN112235175B (zh) * 2020-09-01 2022-03-18 深圳市共进电子股份有限公司 一种网桥设备的访问方法、访问装置及网桥设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459618A (zh) * 2009-01-06 2009-06-17 北京航空航天大学 虚拟机网络的数据包转发方法和装置
CN101924707A (zh) * 2010-09-27 2010-12-22 杭州华三通信技术有限公司 地址解析协议报文的处理方法和设备
CN102457586A (zh) * 2010-10-18 2012-05-16 中兴通讯股份有限公司 一种实现二层网络的扩展方法及扩展的二层网络
US20120158997A1 (en) * 2010-12-15 2012-06-21 Industrial Technology Research Institute Network system and method of address resolution

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143068B (zh) * 2011-03-01 2014-04-02 华为技术有限公司 一种mac地址学习的方法,装置和系统
CN103139071B (zh) * 2011-11-29 2016-07-13 华为技术有限公司 报文转发方法、装置和系统
CN102868605B (zh) * 2012-09-05 2016-02-03 浙江宇视科技有限公司 一种环网数据保护方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459618A (zh) * 2009-01-06 2009-06-17 北京航空航天大学 虚拟机网络的数据包转发方法和装置
CN101924707A (zh) * 2010-09-27 2010-12-22 杭州华三通信技术有限公司 地址解析协议报文的处理方法和设备
CN102457586A (zh) * 2010-10-18 2012-05-16 中兴通讯股份有限公司 一种实现二层网络的扩展方法及扩展的二层网络
US20120158997A1 (en) * 2010-12-15 2012-06-21 Industrial Technology Research Institute Network system and method of address resolution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095460A (zh) * 2022-01-20 2022-02-25 杭州优云科技有限公司 一种报文广播方法及设备
CN114095460B (zh) * 2022-01-20 2022-05-31 杭州优云科技有限公司 一种报文广播方法及设备

Also Published As

Publication number Publication date
CN104426816A (zh) 2015-03-18
CN104426816B (zh) 2018-08-21

Similar Documents

Publication Publication Date Title
US11659441B2 (en) Load balance method and apparatus thereof
AU2017427437B2 (en) Pdu type setting method, ue policy setting method, and related entity
CN112398817B (zh) 数据发送的方法及设备
US20190327345A1 (en) Method and apparatus for forwarding heterogeneous protocol message and network switching device
CN107070691B (zh) Docker容器的跨主机通信方法和系统
JP6269999B2 (ja) パケット処理方法および装置
WO2019205952A1 (zh) 一种信息处理方法及装置
WO2018059284A1 (zh) 一种数据传输的方法及网络设备
US10164866B2 (en) Virtual extensible LAN intercommunication mechanism for multicast in networking
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US9832136B1 (en) Streaming software to multiple virtual machines in different subnets
US20140007089A1 (en) Migrating virtual machines between computing devices
WO2014089799A1 (zh) 一种确定虚拟机漂移的方法和装置
US20140351445A1 (en) Mac layer transport for wi-fi direct services application service platform without internet protocol
WO2014086047A1 (zh) 一种转发报文的方法、装置和数据中心网络
WO2012126254A1 (zh) 虚拟机参数迁移的方法、设备和虚拟机服务器
WO2015081734A1 (zh) 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器
US20220060881A1 (en) Group management method, apparatus, and system
WO2014079005A1 (zh) Mac地址强制转发装置及方法
WO2015024373A1 (zh) 一种虚拟机通信方法及装置
WO2019128273A1 (zh) 确定网络设备连接关系的方法、设备及系统
WO2015085576A1 (zh) 地址解析协议消息的处理方法和转发器、控制器
WO2015003295A1 (zh) 一种在虚拟域中通信的方法、设备和系统
WO2013044691A1 (zh) 基于lisp的映射请求响应、信息获取方法及相应设备
WO2019238060A1 (zh) 一种数据传输方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14838174

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14838174

Country of ref document: EP

Kind code of ref document: A1