WO2013173973A1 - 网络通信方法和装置 - Google Patents

网络通信方法和装置 Download PDF

Info

Publication number
WO2013173973A1
WO2013173973A1 PCT/CN2012/075878 CN2012075878W WO2013173973A1 WO 2013173973 A1 WO2013173973 A1 WO 2013173973A1 CN 2012075878 W CN2012075878 W CN 2012075878W WO 2013173973 A1 WO2013173973 A1 WO 2013173973A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
virtual machine
physical host
vnc
vpn
Prior art date
Application number
PCT/CN2012/075878
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 华为技术有限公司
Priority to CN201280000584.1A priority Critical patent/CN103621046B/zh
Priority to PCT/CN2012/075878 priority patent/WO2013173973A1/zh
Priority to US13/745,405 priority patent/US20130315242A1/en
Publication of WO2013173973A1 publication Critical patent/WO2013173973A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Definitions

  • the present invention relates to communication technologies, and in particular, to a network communication method and apparatus. Background technique
  • the business systems of different users have their own computer, network and other infrastructure, and the infrastructure of different business systems are independent of each other. Therefore, physical isolation can be used to ensure information isolation between business systems. Prevent information leakage from business systems.
  • the financial system's computers and networks are isolated from other business systems to ensure that users of other business systems cannot steal data from the financial system over the network.
  • Virtualization means that computer components run on a virtual basis rather than on a real basis.
  • the CPU virtualization technology can simulate multiple CPUs in parallel with a single CPU, allowing one platform to run multiple operating systems simultaneously, and applications can be independent of each other. The space runs without affecting each other, which significantly improves the efficiency of the computer.
  • VPN Virtual Private Network
  • the IP address of the virtual machine when configured, the IP address of the virtual machine and the IP address of the physical host cannot be set to be the same, and the virtual IP address in the VPN needs to be set differently from the real IP address of the virtual machine. Network segment, otherwise it will cause IP address conflicts in the network and the routing table in the physical host.
  • a first aspect of the embodiments of the present invention provides a network communication method, including: a virtual private network VPN network card VNC on a physical host receives a physical host as a host and has a mapping relationship with the VNC.
  • the physical host selects a VPN network corresponding to the VNC on the physical host from a preset relationship between the VPN network and the VNC;
  • the physical host sends the network communication packet by using the selected VPN network.
  • a network communication apparatus including: a message intercepting module, configured to receive, by using a VNC on a physical host where the network communication device is located, the physical host as a host, and The VNC has a network communication packet sent by the first virtual machine in a mapping relationship, and the source address carried in the network communication packet is an address of the first virtual machine, and the destination address carried in the network communication packet The address of the second virtual machine, or the address of another physical host;
  • a selection module configured to select, from a preset VPN network and a VNC, a VPN network corresponding to the VNC on the physical host;
  • the first sending module is configured to send the network communication packet by using the selected VPN network.
  • the technical effect of the embodiment of the present invention is: receiving the physical by the VNC on the physical host
  • the network communication packet sent by the first virtual machine in which the host is the host and has a mapping relationship with the VNC selects the VPN network corresponding to the VPN network card according to the correspondence between the preset VPN network and the VNC.
  • the selected VPN network sends the network communication message.
  • Embodiment 1 is a flowchart of Embodiment 1 of a network communication method according to the present invention
  • Embodiment 2 is a flowchart of Embodiment 2 of a network communication method according to the present invention
  • FIG. 3 is a schematic diagram of virtual machine communication in the second embodiment of the network communication method according to the present invention
  • FIG. 4 is a schematic diagram of virtual machine communication in the second embodiment of the network communication method according to the present invention.
  • Embodiment 1 of a network communication apparatus according to the present invention.
  • FIG. 7 is a structural diagram of Embodiment 2 of a network communication apparatus according to the present invention. detailed description
  • FIG. 1 is a flowchart of Embodiment 1 of a network communication method according to the present invention.
  • this embodiment provides a network communication method, which may specifically include the following steps: Step 101: A VPN network card (VPN network card; VNC) on the physical host receives a network communication packet sent by the first virtual machine that has the physical host as a host and has a mapping relationship with the VNC.
  • the source address carried in the network communication packet is an address of the first virtual machine
  • the destination address carried in the network communication packet is an address of the second virtual machine or an address of another physical host.
  • the VNC on the physical host receives the network communication packet sent by the first virtual machine, and carries the source address and the destination address in the network communication packet.
  • the source address here may be the MAC address of the first virtual machine that sends the network communication text or the virtual IP address in the VPN network to which the network communication text belongs
  • the destination address may be the MAC address of the second virtual machine that receives the network communication text or
  • the virtual IP address in the VPN network to which it belongs may also be the MAC address of another physical host that receives the network communication text or the virtual IP address in the VPN network to which it belongs.
  • the virtual IP address refers to the address assigned by the VPN network, which is unique in the VPN network. Of course, the virtual IP addresses in different VPN networks can be duplicated.
  • the first virtual machine is a virtual machine having the physical host as a host and having a mapping relationship with the VNC
  • the second virtual machine may also be the host of the physical host and exists with the VNC on the physical host.
  • the second virtual machine may also be a virtual machine that is hosted by another physical host and belongs to the same VPN network as the first virtual machine.
  • Step 102 The physical host selects a VPN network corresponding to the VNC on the physical host from a correspondence between a preset VPN network and a VNC.
  • the physical host After intercepting the network communication message sent by the first virtual machine, the physical host selects a VPN network corresponding to the VNC that receives the network communication message from the preset relationship between the VPN network and the VNC, that is, obtains the first The VPN network to which the virtual machine belongs, so as to know which VPN network the network communication message should be sent.
  • a plurality of virtual machines and multiple VNCs are disposed on the physical host, and each VNC corresponds to at least one virtual machine (that is, receives network communication packets sent by at least one virtual machine), and each VNC corresponds to one VPN.
  • the internet Before the virtual machine communicates, the correspondence between the VPN network and the VNC can be preset according to the pre-configured VPN security communication policy.
  • Step 103 The physical host sends the network communication by using the selected VPN network. After the VPN network corresponding to the VNC on the physical host is selected, the physical host may send the network communication packet by using the selected VPN network, where the network communication packet may be sent to the second virtual machine corresponding to the destination address or On other physical hosts.
  • the first virtual machine may send a network communication message to a second virtual machine that belongs to the same physical host, or may send a network communication message to the second virtual machine that does not belong to one physical host, and may also send Other physical hosts send network communication packets. Since all the network communication sent by the first virtual machine is sent through the corresponding VPN network, the physical host can only see the physical IP address of the host of the communication party in the same VPN network without seeing the inner virtual machine.
  • Virtual IP address At the same time, the virtual machine can only see the virtual IP address or MAC address of the virtual machine in the mutual communication. If the physical IP address or MAC address of the host is not visible, the network is isolated between the physical host and the virtual machine. effect.
  • the external traffic of the virtual machine can be directly directed through the VPN network, and the network communication packet is not forwarded through the routing table in the guest OS, and the traffic is not separated by the IP address, thereby realizing the virtual machine.
  • the network is isolated so that the IP address restrictions can be removed when communicating between virtual machines.
  • This embodiment provides a network communication method, in which a network communication message sent by a first virtual machine that has a physical host as a host and has a mapping relationship with the VNC is received by a VNC on the physical host, according to a preset VPN.
  • the correspondence between the network and the VNC selects the VPN network corresponding to the VNC, and sends the network communication message through the VPN network; the solution does not need to install the VPN software on each virtual machine, which simplifies the setting process and allows the virtual machine.
  • the IP address is the same as the IP address of the physical computer, allowing different virtual machines that belong to different VPN networks to be installed on the same VM management system to set the same IP address, thereby reducing the setting limit of the IP address of the virtual machine in the VPN.
  • FIG. 2 is a flowchart of Embodiment 2 of a network communication method according to the present invention.
  • the network communication method provided in this embodiment is introduced by taking the VPN client in the physical host as an example.
  • the steps in FIG. 2 may also be performed by other software or hardware modules in the physical host. carried out.
  • the VPN client is directly installed on the host operating system (Host Operating System; below Abbreviation: Host OS ) or the hypervisor in the host operating system, no software needs to be installed in the guest OS of the virtual machine.
  • the VPN client can manage multiple VNCs belonging to different VPN networks in one physical host.
  • VNC is also installed in the host operating system or virtual machine manager.
  • the host in the "host operating system” refers to the physical host, for example: the Linux system is installed on the physical host, and the VMware Desktop virtual machine hypervisor is installed on the Linux system.
  • the user establishes a virtual machine on the VMware Desktop.
  • Windows XP is installed in the machine.
  • the Linux system on the physical host is the Host OS
  • the Windows XP installed in the virtual machine is the Guest OS
  • the VMware Desktop software is the Hypervisor.
  • this embodiment provides a network communication method, which may specifically include the following steps:
  • Step 201 The VPN client in the physical host establishes a correspondence between the VPN network and the VNC according to the pre-configured VPN security communication policy, and maps the network cards in the virtual machine to the VPN network to which the virtual machine belongs. On VNC.
  • This embodiment changes the deployment method of the VPN client in the prior art.
  • the VPN client is installed on the Host OS or the Hypervisor, and at least one VNC is set on the VPN client, and each VNC corresponds to one VPN network, and is no longer needed. Install any software in the guest system of each virtual machine.
  • the main function of the VPN client in this embodiment is to obtain a VPN secure communication policy and manage the VNC.
  • the VPN client in the physical host establishes a correspondence between the VPN network and the VNC according to the pre-configured VPN security communication policy, and maps the network cards in each virtual machine to the VPN network to which the virtual machine belongs. Corresponding to VNC.
  • the VPN client in each physical host may establish, according to the pre-configured VPN security communication policy, a VPN network corresponding to the VPN network to which the virtual machine belongs.
  • the master VPN client in one of the physical hosts may establish a correspondence between the VPN network and the VNC on each physical host according to the pre-configured VPN security communication policy, and each physical entity
  • the NICs in each virtual machine on the host are respectively mapped to the VNC of the physical host where the virtual machine belongs, and the corresponding relationship and mapping result are shared with other physical hosts.
  • Controlled VPN client. 3 is a schematic diagram of virtual machine communication in Embodiment 2 of the network communication method according to the present invention. As shown in FIG.
  • the virtual machines VMa and VM1 are installed on Host1, the virtual machines VMb and VM2 are installed on Host2, and the virtual machines VMc, VMd, VM3, and VM4 are installed on Host3.
  • the pre-configured virtual machines VMa and VMb, VMc, and VMd belong to the VPNa network, and the virtual machines VM1, VM2, VM3, and VM4 belong to the VPN1 network, and the two VPN networks are isolated from each other.
  • Two virtual network cards of VNCal and VNC11 are set on Hostl.
  • VNCal, VNCa2, and VNCa3 correspond to the VPNa network
  • VNC11, VNC12, and VNC13 correspond to the VPN1 network.
  • This step is to establish a correspondence between each VPN network and each VNC according to the pre-configured VPN security communication policy, that is, establish a correspondence between the VPNa network and VNCal, VNCa2, and VNCa3, and establish a VPN1 network with VNC11 and VNC 12. Correspondence between VNCs 13.
  • the virtual network card of each virtual machine is mapped to the VNC corresponding to the VPN network, and the virtual network card of the VMa is mapped to the VNCal corresponding to the VPN1 network to which it belongs, and the virtual network card of the VMb is mapped.
  • VNCa2 corresponding to the VPN 1 network to which it belongs, maps the virtual network card of VMc and VMd to VNCa3 corresponding to the VPN1 network to which it belongs, maps the virtual network card of VM1 to VNC11 corresponding to the VPN2 network to which it belongs, and virtual NIC of VM2 Maps to the VNC12 corresponding to the VPN2 network to which it belongs, and maps the virtual network cards of VM3 and VM4 to the VNC13 corresponding to the VPN2 network to which they belong.
  • Step 202 The VPN client in the physical host establishes a tunnel with the other physical host where each virtual machine belongs to the same VPN network according to the pre-configured VPN security communication policy.
  • the tunnel is established between physical hosts, and one tunnel corresponds to two virtual machines in a VPN network and respectively disposed on different physical hosts.
  • the tunnel establishment process is as follows: After the VPN client in the physical host 1 obtains the source and destination addresses of the network communication packets sent by the virtual machine on the physical host, and the VPN network to which the network communication packet belongs, the first need is Find the real IP address (the unique address in the Internet) of the physical host 2 where the virtual machine identified by the destination address is located in the VPN network, and then establish a tunnel between the physical host 1 and the physical host 2, and record the tunnel at the same time.
  • Source address, destination with the network The correspondence between the address and the VPN network to which the network communication message belongs.
  • the network communication packet can be encapsulated into the corresponding tunnel.
  • tunneling is a way to transfer data between networks by using the infrastructure of the Internet.
  • the data (or load) passed using the tunnel can be a data frame or message of a different protocol.
  • the tunneling protocol re-encapsulates data frames or messages of other protocols and then sends them through the tunnel.
  • only one tunnel may be set up between two physical hosts that belong to different virtual machines belonging to the same VPN network, or multiple physical hosts that belong to different virtual machines belonging to the same VPN network may be established.
  • a tunnel Taking Figure 3 as an example, for the first tunnel establishment method, since VMb, VMc, and VMd belong to the VPNa network, and VMb is set on Host2, VMc and VMd are both set on Host3, then Host2 and Host3 are Only one tunnel in the VPNa network needs to be established. The tunnel is identified by the real IP address of Host2 and Host3.
  • the tunnels identified by the virtual IP addresses of VMb and VMc, and the virtual IP address identifiers of VMb and VMd are required. Tunnel.
  • Step 203 The VPN NIC VNC on the physical host receives the network communication packet sent by the first virtual machine that has the physical host as the host and has a mapping relationship with the VNC.
  • the VPN NIC on the physical host receives the network communication packet sent by the first virtual machine that has a physical host as the host and is in a mapping relationship with the VNC.
  • the source address carried in the network communication packet is the The address of a virtual machine
  • the destination address carried in the network communication packet is the address of the second virtual machine or other physical host with the other physical host as the host.
  • the network communication packet sent by the virtual machine is first intercepted by the VNC corresponding to the first virtual machine, and the network communication packet carries the source address and the destination address.
  • the source address here may be the MAC address or virtual IP address of the first virtual machine
  • the destination address may be the MAC address or virtual IP address of the second virtual machine or other physical host.
  • the VMa communicates with the VMb
  • the VMa sends a network communication message to the VMb, where the network communication message carries the virtual IP address of the VMa and the virtual IP address of the VMb, and the network communication message is first sent before being sent to the VMb.
  • Step 204 The VPN client on the physical host selects a VPN network corresponding to the VNC on the physical host from a preset relationship between the VPN network and the VNC. After the network communication message is sent by the virtual machine, the VPN client on the physical host selects the communication message with the received network from the preset relationship between the VPN network and the VNC according to the VNC that receives the network communication message.
  • the VPN network corresponding to the VNC obtains the VPN network to which the first virtual machine belongs, so as to know which VPN network the network communication message belongs to.
  • a plurality of virtual machines and multiple VNCs are disposed on the physical host, and each VNC corresponds to one VPN network.
  • the VPNa network corresponds to VNCal, VNCa2, and VNCa3.
  • the VPN1 network corresponds to VNC11 and VNC12. VNC13.
  • the VPN client in the physical host receives a network communication packet
  • the terminal may first select a VPN network corresponding to the VNC that receives network communication packets according to the correspondence between the VPN network and the VNC. For example, when the VM1 sends the network communication message to the VM2, the VNC 11 receives the network communication message from the VM1, and the physical host can select the VPN network corresponding to the VNC11 as the VPN1 network.
  • Step 205 The VPN client in the physical host encapsulates the network communication message according to the preset tunneling protocol, and then sends the encapsulated network communication packet by selecting the tunnel in the VPN network.
  • the physical host after the physical host receives the network communication packet, if the first virtual machine and the second virtual machine do not correspond to the same VNC, the physical host encapsulates the network communication packet according to the preset tunneling protocol. Then, the network communication packet is sent through the tunnel. Specifically, in the selected VPN network, only one default tunnel may be set from the physical host, or more than one tunnel may be set. For these two different situations, the physical host uses different methods to send network communication packets. . If the selected VPN network has only one default tunnel from the physical host, the encapsulated network communication packet is directly sent to the second virtual machine or other physical host through the default tunnel, without the destination address of the network communication packet. To choose a tunnel.
  • the physical host first extracts the destination addresses carried by the network communication packets.
  • the tunnel corresponding to the extracted destination address is selected from the corresponding relationship between the tunnel and the address, and then the encapsulated network communication packet is sent to the second virtual machine or other physical host through the selected tunnel.
  • FIG. 3 specifically corresponds to a case where there are multiple tunnels starting from one physical host in a VPN network
  • FIG. 4 specifically corresponds to a VPN network, and only one default tunnel is started from one physical host. of happening.
  • the VNCal corresponding to the VMa receives the network communication message and selects the VNCal corresponding.
  • Hostl can encapsulate the network communication packet and send the encapsulated network communication packet to the VMb through the default tunnel from Host1 in VPNa. The tunnel is not required to be selected according to the destination address.
  • the mapping table between the tunnel and the address established on the Host1 may be as shown in Table 1 below, where the network is
  • the destination address of the communication packet can be the virtual IP address or MAC address of the second virtual machine or the physical host.
  • the virtual IP address is used as an example here:
  • the VNCal corresponding to the VMa receives the network communication message, and selects the VPN network corresponding to the VNCal as the VPNa.
  • VPNa there are multiple tunnels from Host1.
  • Hostl extracts its destination address from the network communication packet to 10.0.0.2.
  • the mapping table between the tunnel and the address the corresponding tunnel is obtained as Tunnelal, and Hostl passes the predetermined After the tunnel protocol encrypts the network communication, it transmits it through Tunnelal.
  • VMa and VMb belong to VPNa
  • all network communication messages sent by VMa and VMb that is, all network traffic generated by VMa and VMb, regardless of the protocol, their IP addresses Settings will be encapsulated in Tunnelal in VPNa.
  • VM1 and VM2 belong to VPN1
  • everything is All network communication messages sent by VM1 and VM2, that is, all network traffic generated by VM1 and VM2, regardless of the protocol, and how their IP addresses are set, will be encapsulated in Tunnell l in VPN1. Therefore, in this embodiment, the VPN generated by the virtual machine belongs to which VPN is not determined by the virtual machine's own routing table.
  • This embodiment provides a network communication method, in which a network communication message sent by a first virtual machine that has a physical host as a host and has a mapping relationship with the VNC is received by a VNC on the physical host, according to a preset VPN. Corresponding relationship between the network and the VNC, selecting the VPN network corresponding to the VNC, and sending the network communication text through the VPN network; this embodiment allows the IP address of the virtual machine to be the same as the IP address of the physical host, and is allowed to be installed in the same virtual machine.
  • the different virtual machines belonging to different VPN networks on the management system are set to the same IP address, thereby canceling the restriction on the virtual machine IP address setting in the VPN.
  • Each business system can set the IP address of the virtual machine in the system itself, regardless of the address conflict with the virtual machine inside the host or other business systems.
  • the VPN software client is not required to be installed on the Guest OS, and the user on the Guest OS does not perceive the existence of the VPN, so that it is not necessary to develop different clients according to different Guest OSs, and the configuration is simplified. It is also possible to ensure that users on the virtual machine cannot perform any operations on the VPN client and thus cannot intervene in the VPN security policy.
  • the network traffic of all virtual machines is controlled by the VNC, and the VNC corresponds to a specific VPN network, so the network traffic between the virtual machines is only transmitted in the VPN network, and can only be used by other VPN networks.
  • the node receives the processing, and the traffic of the virtual machines belonging to different VPN networks is isolated by the VPN tunnel.
  • VMa 10.0.0.1, VM1: 10.0.0.1, VMb: 10.0.0.2, VM2: 10.0.0.2, when VMa and VMb
  • VNCal the network communication packet is processed by VNCal on Host 1 and sent to VNCa2 on Host 2, and then forwarded to VMb by VNCa2 on Host 2.
  • the above process is not due to the isolation of VNC, the network communication message is not Will be received by VM2 with the same IP address as the VMb.
  • VMa and VMb are installed on the same host, but no address conflict occurs, and even if the IP addresses of the same network segment are set, they cannot communicate with each other. This eliminates the possibility that the virtual machine bypasses the VPN client to communicate with each other within the host system.
  • FIG. 5 is a flowchart of Embodiment 3 of a network communication method according to the present invention, as shown in FIG. 5, this implementation
  • the example provides a network communication method, which may specifically include the following steps:
  • Step 501 The VPN client in the physical host establishes a correspondence between the VPN network and the VNC according to the pre-configured VPN security communication policy, and maps the network cards in the virtual machine to the VPN network to which the virtual machine belongs.
  • this step can be similar to the previous step 201, and is not described here.
  • Step 502 The VPN NIC on the physical host receives the network communication packet sent by the first virtual machine that has the physical host as the host and is in a mapping relationship with the VNC.
  • the source address carried in the network communication packet is an address of the first virtual machine
  • the destination address carried in the network communication packet is an address of the second virtual machine or another physical host.
  • Step 503 The VPN client in the physical host determines whether the second virtual machine is a virtual machine mapped to the VNC by using the physical host as a host, and if yes, executing step 506, otherwise performing steps 504.
  • the VPN client in the physical host determines whether the second virtual machine is a virtual machine mapped to the VNC by using the physical host as a host, and if the second virtual machine is not the host of the physical host, mapping The virtual machine on the VNC (that is, the second virtual machine and the first virtual machine do not correspond to the same VNC on the same physical host), and proceeds to step 504 to step 505; if the second virtual machine is based on the physical host The virtual machine mapped to the VNC on the VNC (ie, the second virtual machine corresponds to the same VNC as the first virtual machine) proceeds to step 506.
  • the destination address carried in the network communication packet in this embodiment is the address of the second virtual machine corresponding to the same VNC with the physical host as the host. That is, in this embodiment, network communication packets are sent between two virtual machines corresponding to the same VNC on the same physical host. In this embodiment, the network communication packets sent between the virtual machines are first VNC corresponding to the first virtual machine. Intercept.
  • the source address here may be the MAC address or virtual IP address of the first virtual machine, and the destination address may be the MAC address or virtual IP address of the second virtual machine. For example, taking FIG.
  • VMc communicates with VMd, and VMc sends a network communication message to VMd, where the network communication message carries the virtual IP address of VMc and the virtual IP address of VMd, and the network communication message is Before being sent to VMd, it is first intercepted by VNCa3 on Host3 where VMc is located.
  • the VPN client on Host3 can confirm the mapping relationship between the address of the virtual machine and the VNC stored in the VMC on the VNC corresponding to the VPN network to which the virtual machine belongs in step 501. Whether the destination of the network communication message is the first The virtual machine is mapped to another virtual machine on the same VNC.
  • Step 504 The physical host selects a VPN network corresponding to the VNC on the physical host from a preset relationship between the VPN network and the VNC. This step can be similar to the foregoing step 204, and details are not described herein again.
  • Step 505 After the physical host encapsulates the network communication packet according to the preset tunneling protocol, the physical host sends the encapsulated network communication packet to the second virtual machine or other physical host by selecting the tunnel in the VPN network. This step can be similar to step 205 above, and details are not described herein again.
  • Step 506 The physical host directly sends the network communication packet to the second virtual machine through the VNC.
  • the present embodiment specifically communicates between two virtual machines mapped on the same VNC, it is not necessary to send network communication packets through a tunnel in the VPN network.
  • the physical host After selecting the VPN network corresponding to the VNC on the physical host, the physical host can directly send the network communication packet to the second virtual machine on the physical host through the VNC.
  • the VNC As shown in Figure 3 above, if VMc sends network communication packets to VMd, VMc and VMd are mapped to VNCa3 of Host3, Host3 can directly forward network communication messages to VMd through VNCa3.
  • the network communication method shown in FIG. 5 is only an improved solution for mapping at least two virtual machines on one VNC. If only one virtual machine is mapped on one VNC, Step 503 and step 506 are performed. In addition, even if at least two virtual machines are mapped on one VNC, other solutions may be available, for example, using the process shown in FIG. 2, and in step 204, after selecting the VPN network, in step 205 If the other VNCs corresponding to the selected VPN network are forwarded multiple times on the other physical host, the network communication packet can still be finally sent and sent. The first virtual machine is mapped to a second virtual machine on the same VNC.
  • This embodiment provides a network communication method, in which a network communication message sent by a first virtual machine that has a physical host as a host and has a mapping relationship with the VNC is received by a VNC on the physical host, if the network communication report The destination end of the text is the second virtual machine mapped to the first virtual machine on the same VNC, and the network communication message is sent directly through the VNC.
  • This embodiment allows the virtual machine's IP address and the physical host. The same IP address, allowing the same installation On the virtual machine management system, different virtual machines belonging to different VPN networks are set to the same IP address, thereby canceling the restriction on the virtual machine IP address setting in the VPN.
  • Each business system can set the IP address of the virtual machine in the system by itself, without considering the address conflict with the internal virtual machine of the host or other business systems.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the above-described method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
  • FIG. 6 is a structural diagram of Embodiment 1 of a network communication apparatus according to the present invention. As shown in FIG. 6, this embodiment provides a network communication apparatus, which may specifically perform the steps in Embodiment 1 of the foregoing method, and details are not described herein again. .
  • the network communication device provided in this embodiment may specifically include a packet intercepting module 601, a selecting module 602, and a first sending module 603.
  • the packet intercepting module 601 is configured to receive, by using the physical host as a host, a network communication packet sent by a first virtual machine that is in a mapping relationship with the VNC, where the network communication packet carries a source.
  • the address is the address of the first virtual machine, and the destination address carried in the network communication packet is an address of the second virtual machine or an address of another physical host.
  • the selecting module 602 is configured to select a VPN network corresponding to the VNC on the physical host from a correspondence between a preset VPN network and a VNC.
  • the first sending module 603 is configured to send the network communication packet by using the selected VPN network.
  • FIG. 7 is a structural diagram of Embodiment 2 of the network communication apparatus according to the present invention.
  • the embodiment provides a network communication apparatus, which may specifically perform the steps in Embodiment 2 or Embodiment 3 of the foregoing method. I won't go into details here.
  • the network communication device provided in this embodiment is based on the foregoing FIG. 6 , and the first sending module 603 may specifically include a packaging unit 613 and a sending unit 623.
  • the encapsulating unit 613 is configured to encapsulate the network communication packet according to a preset tunneling protocol.
  • Unit 623 for transmission via the selected VPN tunnel in the network, the network communication send the encapsulated ⁇ : Gen described, the second virtual machine to another physical host virtual machine host.
  • the sending unit 623 in this embodiment may specifically include a first sending subunit 6231, where the first sending subunit 6231 is configured to be from the physical host in the selected VPN network. If there is only one default tunnel, the encapsulated network communication packet is sent through the default tunnel.
  • the sending unit 623 in this embodiment may further include an extracting subunit 6232, a selecting subunit 6233, and a second sending subunit 6234.
  • the extracting subunit 6232 is configured to extract a destination address from the network communication packet if there are at least two tunnels in the selected VPN network.
  • the selecting subunit 6233 is configured to select the extracted tunnel corresponding to the destination address from the correspondence between the tunnel and the address.
  • the second sending subunit 6234 is configured to send the encapsulated network communication packet by using the selected tunnel.
  • the selecting module 602 in this embodiment may be specifically configured to: when it is confirmed that the second virtual machine is not the host of the physical host, and the virtual machine has a mapping relationship with the VNC, In the correspondence between the VPN network and the VNC, a VPN network corresponding to the VNC on the physical host is selected.
  • the network communication device provided in this embodiment may further include a second sending module.
  • the second sending module 604 is configured to directly report the network communication by using the VNC after confirming that the second virtual machine is a virtual machine that is hosted by the physical host and has a mapping relationship with the VNC. The text is sent to the second virtual machine.
  • the virtual network communication apparatus may further include a mapping module.
  • the mapping module 605 is configured to: before the VPN network card VNC on the physical host receives the network communication message sent by the first virtual machine that is in the mapping relationship between the physical host and the VNC, according to the pre-configuration
  • the VPN security communication strategy establishes a correspondence between the VPN network and the VNC, and maps the network cards in the virtual machine to the VNC corresponding to the VPN network to which the virtual machine belongs on the host.
  • the address in this embodiment includes a MAC address and a virtual IP address in the VPN network to which it belongs.
  • the network communication device sends a network communication packet sent by the first virtual machine that has the physical host as the host and has a mapping relationship with the VNC, according to the default VPN. Corresponding relationship between the network and the VNC, selecting a VPN network corresponding to the VPN network card, and sending the network communication by selecting the VPN network ⁇ ! Text.
  • This solution eliminates the need to install VPN software on each virtual machine, which simplifies the setup process, allows the virtual machine's IP address to be the same as the physical computer's IP address, and allows installation on the same virtual machine.
  • the different virtual machines belonging to different VPN networks on the management system are set to the same IP address, thereby reducing the setting limit of the IP address of the virtual machine in the VPN.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种网络通信方法和装置,方法包括:物理主机上的VNC接收以所述物理主机为宿主机的、且与VNC存在映射关系的第一虚拟机发送的网络通信报文,网络通信报文中携带的源地址为第一虚拟机的地址,网络通信报文中携带的目的地址为第二虚拟机的地址、或其他物理主机的地址;物理主机从预设的VPN网络与VNC的对应关系中,选择出与物理主机上的VNC对应的VPN网络;物理主机通过选择出的VPN网络发送网络通信报文。虚拟网络通信装置包括报文截获模块、选择模块和第一发送模块。本发明实施例降低了对VPN内虚拟机的IP地址的设置限制。

Description

网络通信方法和装置 技术领域
本发明涉及通信技术, 尤其涉及一种网络通信方法和装置。 背景技术
在数据中心中, 不同用户的业务系统都有自己的计算机、 网络等基 设 施, 且不同业务系统的基础设施之间相互独立, 因此可以通过网络物理隔离 手段来保证业务系统之间的信息隔离, 防止业务系统的信息泄露。 比如, 财 务系统的计算机和网络与其他业务系统相隔离, 这样可以保证其他业务系统 的用户无法通过网络窃取财务系统内的数据。 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行, CPU 的虚拟化技术可以单 CPU模拟多 CPU并行, 允许一个平台同时运行多个操 作系统, 且应用程序都可以在相互独立的空间内运行而互不影响, 从而显著 提高计算机的工作效率。 由于虚拟化技术在提升工作效率方面的优势, 在数 据中心上应用虚拟化技术成为当前技术研究热点,但在数据中心虚拟化之后, 运行用户业务的不再是物理计算机而是安装在物理计算机上的虚拟机, 属于 不同租户的不同虚拟机可能运行在同一物理主机上, 由虚拟机组成的不同业 务系统会共享相同的网络基础设施。 此时难以实现信息系统的隔离, 如财务 系统和研发系统使用不同的虚拟机, 但不同的虚拟机运行在同一物理主机上 或者同处于同一网络内,则用户可以通过研发系统内的计算机通过地址欺骗、 网络监听等手段窃取财务系统的数据。 因此, 在出现不同的租户共享物理基 础设施时, 如何跨越物理边界将虚拟机划分为不同的虚拟网络, 并保证虚拟 网络之间的信息隔离成为保证虚拟化数据中心多租户安全的一项基本要求。
在现有技术中, 为了解决不同租户共享相同物理基础设施时的网络安全 问题, 通常需要在每个虚拟机的客 (Guest ) 系统内安装常规的虚拟专用网 ( Virtual Private Network; 以下简称: VPN )软件, 将属于不同业务系统的 虚拟机隔离在不同的 VPN网络内,从而实现相同业务网络内虚拟机的安全通 信, 并对网络流量进行加密, 防止网络通信内容被共享基础设施上的其他用 户窃取。
并且, 现有技术在配置虚拟机的 IP地址时, 不能将虛拟机的 IP地址与 物理主机的 IP地址设置为相同, 且需要将 VPN内的虚拟 IP地址与虚拟机的 真实 IP地址设置在不同的网段, 否则会引起网络内 IP地址冲突以及物理主 机中路由表的错乱。
因此现有技术为了实现虚拟机相关的安全通信所需进行的设置较为繁 琐。 发明内容 本发明实施例提供一种网络通信方法和装置, 解决了现有技术为了实 现虚拟机相关的安全通信所需进行的设置较为复杂的问题。 本发明实施例的第一个方面是提供一种网络通信方法, 包括: 物理主机上的虚拟专用网 VPN网卡 VNC接收以所述物理主机为宿主 机的、 且与所述 VNC存在映射关系的第一虚拟机发送的网络通信报文, 所述网络通信报文中携带的源地址为所述第一虚拟机的地址, 所述网络通 信报文中携带的目的地址为第二虚拟机的地址、 或其他物理主机的地址; 所述物理主机从预设的 VPN网络与 VNC的对应关系中, 选择出与所 述物理主机上的所述 VNC对应的 VPN网络;
所述物理主机通过选择出的 VPN网络发送所述网络通信报文。
本发明实施例的另一个方面是提供一种网络通信装置, 包括: 报文截获模块, 用于通过所述网络通信装置所在物理主机上的 VNC 接收以所述物理主机为宿主机的、 且与所述 VNC存在映射关系的第一虚 拟机发送的网络通信报文, 所述网络通信报文中携带的源地址为所述第一 虚拟机的地址, 所述网络通信报文中携带的目的地址为第二虚拟机的地 址、 或其他物理主机的地址;
选择模块, 用于从预设的 VPN网络与 VNC的对应关系中, 选择出与 所述物理主机上的所述 VNC对应的 VPN网络;
第一发送模块, 用于通过选择出的 VPN网络发送所述网络通信报文。 本发明实施例的技术效果是: 通过物理主机上的 VNC接收以该物理 主机为宿主机、 且与该 VNC存在映射关系的第一虚拟机发送的网络通信 报文, 根据预设的 VPN网络与 VNC之间的对应关系, 选择出所述 VPN 网卡对应的 VPN网络, 通过选择出的 VPN网絡发送所述网络通信报文。 该方案无需在每个虚拟机上都安装 VPN软件, 简化了设置流程, 允许虚 拟机的 IP地址与物理计算机的 IP地址相同, 允许安装在相同虚拟机管理 系统上分属于不同 VPN网络的不同虚拟机设置相同的 IP地址, 从而降低 了对 VPN内虚拟机的 IP地址的设置限制。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见 地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的 附图。
图 1为本发明网络通信方法实施例一的流程图;
图 2为本发明网络通信方法实施例二的流程图;
图 3为本发明网络通信方法实施例二中的虚拟机通信示意图一; 图 4为本发明网络通信方法实施例二中的虚拟机通信示意图二; 图 5为本发明网络通信方法实施例三的流程图;
图 6为本发明网络通信装置实施例一的结构图;
图 7为本发明网络通信装置实施例二的结构图。 具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。
图 1为本发明网络通信方法实施例一的流程图, 如图 1所示, 本实施 例提供了一种网络通信方法, 可以具体包括如下步骤: 步骤 101 , 物理主机上的 VPN网卡 ( VPN Network Card; 以下筒称: VNC ) 接收以所述物理主机为宿主机的、 且与所述 VNC存在映射关系的 第一虛拟机发送的网络通信报文, 所述网络通信报文中携带的源地址为所 述第一虚拟机的地址, 所述网络通信报文中携带的目的地址为第二虚拟机 的地址、 或其他物理主机的地址。
本步骤可以具体为物理主机上的 VNC接收第一虚拟机发送的网络通 信报文, 在网络通信报文中分别携带源地址和目的地址。 此处的源地址可 以为发送该网络通信 文的第一虚拟机的 MAC地址或在所属 VPN网络中 的虚拟 IP地址, 目的地址可以为接收该网络通信 艮文的第二虚拟机的 MAC地址或在所属 VPN网络中的虚拟 IP地址, 目的地址也可以为接收 该网络通信艮文的其他物理主机的 MAC地址或在所属 VPN网络中的虚拟 IP地址。需要说明的是,虚拟 IP地址是指所在的 VPN网络所分配的地址, 其在所在的 VPN网络中是唯一的, 当然不同 VPN网络中的虚拟 IP地址 是可以重复的。 其中, 第一虚拟机为以该物理主机为宿主机、 且与该 VNC 存在映射关系的虚拟机, 第二虚拟机也可以为以该物理主机为宿主机、 且 与该物理主机上的 VNC存在映射关系的其他虚拟机, 第二虚拟机还可以 为以其他物理主机为宿主机、 且与所述第一虚拟机属于同一 VPN网络的 虚拟机。
步驟 102, 所述物理主机从预设的 VPN网络与 VNC的对应关系中, 选择出与所述物理主机上的所述 VNC对应的 VPN网络。
在截获到第一虚拟机发送的网络通信 文后,物理主机从预设的 VPN 网络与 VNC的对应关系中,选择出与接收所述网络通信报文的 VNC对应 的 VPN网络, 即获取第一虚拟机所属的 VPN网络, 从而获知该网络通信 艮文应该在哪个 VPN网络中发送。 在本实施例中, 物理主机上设置有多 个虚拟机和多个 VNC, 每个 VNC对应至少一个虚拟机 (即接收至少一个 虚拟机发来的网络通信报文 ) , 每一个 VNC对应一个 VPN网络。 在虚拟 机进行通信之前, 可以根据预先配置的 VPN安全通信策略, 对 VPN网络 与 VNC之间的对应关系进行预先设置。
步驟 103 ,所述物理主机通过选择出的 VPN网络发送所述网络通信 4艮 文。 在选择出与物理主机上的 VNC对应的 VPN网络之后, 物理主机可以 通过选择出的 VPN网络发送该网络通信报文, 具体可以为将网络通信报 文发送到目的地址对应的第二虚拟机或其他物理主机上。 在本实施例中, 第一虚拟机可以向同属于一个物理主机的第二虚拟机发送网络通信报文, 也可以向不属于一个物理主机的第二虚拟机发送网络通信艮文, 还可以向 其他物理主机发送网络通信报文。 由于将第一虚拟机发送的所有网络通信 才艮文都通过对应的 VPN网络发送, 物理主机在同一 VPN网络中只能看到 通信双方主机的物理 IP地址而不会看到内层虚拟机的虛拟 IP地址, 同时 虚拟机在相互通信中只能看到虚拟机的虚拟 IP地址或 MAC地址,看不到 主机的物理 IP地址或 MAC地址,则起到了物理主机与虚拟机之间的网络 隔离作用。 当不同的虚拟机安装在相同的物理主机上时, 即使物理主机的 IP地址与虚拟机的虚拟 IP地址重合, 也不会出现地址冲突等现象, 或者 属于不同 VPN网络的虛拟机之间设置相同网段的 IP地址也无法相互通 信。 由此可见, 本实施例可以直接通过 VPN网络对虚拟机的所有对外流 量进行定向, 无需通过 Guest OS内的路由表来转发网络通信报文, 不再 通过 IP地址来区分流量, 实现了虚拟机之间的网络隔离, 从而可以取消 虚拟机间通信时对 IP地址的限制。
本实施例提供了一种网络通信方法, 通过物理主机上的 VNC接收以 该物理主机为宿主机、 且与该 VNC存在映射关系的第一虚拟机发送的网 络通信报文, 根据预设的 VPN网络与 VNC之间的对应关系, 选择出该 VNC对应的 VPN网络, 通过该 VPN网络发送网络通信艮文; 该方案无需 在每个虚拟机上都安装 VPN软件, 简化了设置流程 , 允许虚拟机的 IP地 址与物理计算机的 IP地址相同, 允许安装在相同虛拟机管理系统上分属 于不同 VPN网络的不同虚拟机设置相同的 IP地址, 从而降低了对 VPN 内虚拟机的 IP地址的设置限制。
图 2为本发明网络通信方法实施例二的流程图。 在本实施例中, 以物 理主机中的 VPN客户端为例, 对本实施例提供的网络通信方法进行介绍, 显然, 附图 2中的各步骤也可以由物理主机中的其他软件或硬件模块来执 行。
VPN客户端直接安装在主机操作系统 ( Host Operating System; 以下 简称: Host OS ) 或者主机操作系统中的虚拟机管理器 ( Hypervisor ) 内, 不再需要在虚拟机的 Guest OS内安装任何软件。 VPN客户端可管理一个 物理主机中多个分属于不同 VPN网絡的 VNC, VNC也是安装在主机操作 系统或者虚拟机管理器内。 "主机操作系统" 中的主机是指物理主机, 比 如: 物理主机上安装了 Linux系统, 在 Linux系统上又安装了 Vmware Desktop虚拟机 Hypervisor,用户用 Vmware Desktop上建立了一个虚拟机, 在该虚拟机中安装了 windows XP。 此时, 物理主机上的 Linux系统就是 Host OS , 虚拟机内安装的 Windows XP就是 Guest OS , VMware Desktop 软件就是 Hypervisor。
如图 2所示, 本实施例提供了一种网络通信方法, 可以具体包括如下 步骤:
步骤 201 , 物理主机中的 VPN客户端根据预先配置的 VPN安全通信 策略, 建立 VPN网络与 VNC之间的对应关系, 并将虚拟机内的网卡分别 映射在所述虚拟机所属的 VPN网络对应的 VNC上。
本实施例改变了现有技术中 VPN客户端的部署方式, 将 VPN客户端 安装在 Host OS或 Hypervisor上,在该 VPN客户端上设置至少一个 VNC, 每个 VNC对应一个 VPN网络, 而不再需要在各虚拟机的 Guest系统内安 装任何软件。 本实施例中 VPN客户端的主要功能是获取 VPN安全通信策 略, 并对 VNC进行管理。 本步驟为物理主机中的 VPN客户端根据预先配 置的 VPN安全通信策略, 建立 VPN网络与 VNC之间的对应关系, 并将 每个虚拟机机内的网卡分别映射在该虚拟机所属的 VPN网络对应的 VNC 上。 可选地, 在实际实施过程中, 可以由每个物理主机中的 VPN客户端 根据预先配置的 VPN安全通信策略, 建立 VPN网络与该物理主机上的 射在该虚拟机所属的 VPN网络对应的该物理主机的 VNC上; 也可以由其 中一个物理主机中的主控 VPN客户端根据预先配置的 VPN安全通信策 略, 建立 VPN网络与各物理主机上的 VNC之间的对应关系, 并将各物理 主机上的每个虛拟机机内的网卡分别映射在, 该虛拟机所属的 VPN网络 对应的、 该虚拟机所在物理主机的 VNC上, 并将建立的对应关系和映射 结果共享给其他物理主机中的受控 VPN客户端。 图 3为本发明网络通信方法实施例二中的虚拟机通信示意图, 如图 3 所示,假设虚拟网络中设置有三台物理主机 ,分别为 Host 1、 Host 2和 Host 3三个主机操作系统, 虛拟机 VMa和 VM1安装在 Hostl上, 虛拟机 VMb 和 VM2安装在 Host2上, 虚拟机 VMc、 VMd、 VM3、 VM4安装在 Host3 上。 其中, 预先配置虚拟机 VMa和 VMb、 VMc、 VMd属于 VPNa网絡, 虚拟机 VM1、 VM2、 VM3、 VM4属于 VPNl 网络, 两个 VPN网络相互隔 离。 在 Hostl 上设置有 VNCal和 VNC11两个虚拟网卡, 在 Host2 上设 置有 VNCa2和 VNC 12两个虚拟网卡,在 Host3 上设置有 VNCa3和 VNC 13 两个虚拟网卡。其中 VNCal、 VNCa2、 VNCa3对应于 VPNa网络, VNC11、 VNC12、 VNC13对应于 VPNl 网络。 本步驟为根据预先配置的 VPN安全 通信策略, 在各 VPN网络与各 VNC之间建立对应关系, 即建立 VPNa网 络与 VNCal、 VNCa2、 VNCa3之间的对应关系,建立 VPN1 网络与 VNC11、 VNC 12、 VNC 13之间的对应关系。 根据 VPN网络与 VNC之间的对应关 系, 将各虚拟机的虚拟网卡映射到所属 VPN网络对应的 VNC上, 即将 VMa的虚拟网卡映射到其所属的 VPN1 网络对应的 VNCal,将 VMb的虚 拟网卡映射到其所属的 VPN 1 网络对应的 VNCa2, 将 VMc、 VMd的虚拟 网卡映射到其所属的 VPN1 网络对应的 VNCa3 , 将 VM1的虚拟网卡映射 到其所属的 VPN2网络对应的 VNC11 , 将 VM2的虚拟网卡映射到其所属 的 VPN2网络对应的 VNC12, 将 VM3、 VM4的虚拟网卡映射到其所属的 VPN2网络对应的 VNC13。
步骤 202, 物理主机中的 VPN客户端根据预先配置的 VPN安全通信 策略, 与归属于同一 VPN网络的各虚拟机所在的其他物理主机之间建立 隧道。
本实施例中隧道建立在物理主机之间, 且一个隧道对应于一个 VPN 网络内的、分别设置在不同物理主机上的两个虚拟机。隧道建立过程如下: 物理主机 1 中的 VPN客户端在获得了该物理主机上的虚拟机发送的网络 通信报文的源、 目的地址, 以及此网络通信报文所归属的 VPN网络之后, 首先需要在该 VPN网络内查找该目的地址所标识的虚拟机所在的物理主 机 2的真实 IP地址 (互联网中的唯一地址 ) , 然后在物理主机 1与物理 主机 2之间建立隧道, 同时记录此条隧道与该网络 4艮文的源地址、 目的地 址以及该网络通信报文归属的 VPN网络之间的对应关系。 之后只要根据 网络通信 艮文的源地址、 目的地址、 所属 VPN网络, 便可以将网络通信 报文封装到对应的隧道。 其中, 隧道技术( Tunneling )是一种通过使用互 联网络的基础设施在网络之间传递数据的方式。 使用隧道传递的数据(或 负载)可以是不同协议的数据帧或报文。 隧道协议将其它协议的数据帧或 报文重新封装然后通过隧道发送。
具体地, 可以在归属于同一 VPN网络的不同虚拟机所在的两个物理 主机之间建立只设置一条隧道, 也可以在归属于同一 VPN网络的不同虚 拟机所在的两个物理主机之间建立多条隧道。 以上述图 3为例, 对于第一 种隧道建立方法来说, 由于 VMb、 VMc和 VMd同属于 VPNa网络, 而 VMb设置在 Host2上, VMc和 VMd均设置在 Host3上, 则在 Host2和 Host3之间只需建立 VPNa网络内的一条隧道,该隧道通过 Host2和 Host3 的真实 IP地址标识。 对于第二种隧道建立方法来说, 则需要在 Host2和 Host3之间至少建立 VPNa网络内的两条隧道, 分别为 VMb和 VMc的虚 拟 IP地址标识的隧道, 以及 VMb和 VMd的虚拟 IP地址标识的隧道。
步骤 203, 物理主机上的 VPN网卡 VNC接收以所述物理主机为宿主 机的、 且与所述 VNC存在映射关系的第一虚拟机发送的网络通信报文。
本步驟为物理主机上的 VPN网卡 VNC接收以物理主机为宿主机的、 且与 VNC存在映射关系的第一虚拟机发送的网络通信报文, 网络通信报 文中携带的源地址为所述第一虚拟机的地址, 网络通信报文中携带的目的 地址为以其他物理主机为宿主机的第二虚拟机或其他物理主机的地址。 本 实施例中虚拟机之间发送的网络通信报文先被第一虚拟机对应的 VNC截 取, 该网络通信报文中携带源地址和目的地址。 此处的源地址可以为第一 虚拟机的 MAC地址或虚拟 IP地址, 目的地址可以为第二虚拟机或其他物 理主机的 MAC地址或虚拟 IP地址。 例如, 假设 VMa与 VMb进行通信, VMa向 VMb发送网络通信报文, 该网络通信报文中携带 VMa的虚拟 IP 地址和 VMb的虚拟 IP地址 , 该网络通信报文在发送到 VMb之前 , 先被 VMa所在的 Host 1上的 VNCal截获。
步驟 204,物理主机上的 VPN客户端从预设的 VPN网络与 VNC的对 应关系中, 选择出与所述物理主机上的 VNC对应的 VPN网络。 虚拟机发送的网络通信 文后, 物理主机上的 VPN客 户端根据接收到该网络通信报文的 VNC, 从预设的 VPN网络与 VNC的 对应关系中, 选择出与该接收到网络通信报文的 VNC对应的 VPN网络, 即获取第一虚拟机所属的 VPN网络, 从而获知该网络通信报文属于哪个 VPN网络。 在本实施例中, 物理主机上设置有多个虚拟机和多个 VNC, 每一个 VNC对应一个 VPN网络。以上述图 3为例, VPNa网络与 VNCal、 VNCa2、 VNCa3相对应, VPN1 网络与 VNC11、 VNC12. VNC13相对应, 物理主机上的 VNC在接收到一个网络通信报文后, 物理主机中的 VPN客 户端可以先根据 VPN网络与 VNC的对应关系, 选择接收网络通信报文的 该 VNC对应的 VPN网络。 例如, 当 VM1向 VM2发送网络通信艮文时, VNC11从 VM1接收到该网络通信报文, 则物理主机可以选择出 VNC11 对应的 VPN网络为 VPN1网络。
步驟 205 ,物理主机中的 VPN客户端根据预设隧道协议对网络通信 文进行封装后, 通过选择出的 VPN网络中的隧道, 发送封装后的网络通 信报文。
在本实施例中, 当物理主机接收到网络通信报文后, 如果第一虚拟机 与第二虚拟机并非对应同一个 VNC,则物理主机根据预设隧道协议先对该 网络通信报文进行封装, 后续通过隧道对该网络通信报文进行发送。 具体 地, 选择出的 VPN网络中, 从该物理主机出发可能只设置有一条默认隧 道, 也可能设置有一条以上隧道, 对于这两种不同情况, 物理主机利用不 同的方法来发送网络通信报文。 若选择出的 VPN网络从该物理主机出发 只有一条默认隧道, 则直接通过该默认隧道将封装后的网络通信报文发送 到第二虚拟机或其他物理主机, 无需根据网络通信报文的目的地址来选择 隧道。 若选择出的 VPN网络在该物理主机上有一条以上隧道, 这些隧道 具体与该 VPN网络内的虚拟机的虚拟地址相对应, 则物理主机先从该网 络通信报文中提取其携带的目的地址, 从隧道与地址的对应关系中, 选取 所述提取的目的地址对应的隧道, 然后通过选取的隧道将封装后的网络通 信才艮文发送到第二虚拟机或其他物理主机。 如图 3和图 4所示, 图 3具体 对应于一个 VPN网络中, 从一个物理主机出发有多条隧道的情况, 图 4 具体对应于一个 VPN网络中, 从一个物理主机出发只有一条默认隧道的 情况。
如图 4所示, 当 VPN网络中, 从一个物理主机出发只有一条默认隧 道时, 若 VMa向 VMb发送网络通信艮文, 则 VMa对应的 VNCal接收到 该网络通信报文后, 选择出 VNCal对应的 VPN网络为 VPNa, 则 Hostl 可以对该网络通信报文进行封装后, 直接通过 VPNa中从 Hostl 出发的默 认隧道将封装后的网络通信报文发送到 VMb,无需根据目的地址来选择隧 道。
在本实施例中, 当一个 VPN网絡中, 从一个物理主机出发有多条隧 道时, 针对图 3 , 在 Hostl上所建立的隧道与地址的对应关系表可以如下 表 1所示, 其中, 网络通信报文的目的地址可以为第二虚拟机或物理主机 的虚拟 IP地址或 MAC地址, 此处以虚拟 IP地址为例进行说明:
表 1 隧道与地址的对应关系表
Figure imgf000012_0001
如图 3所示,当 VMa向 VMb发送网络通信 4艮文时, VMa对应的 VNCal 接收到该网络通信报文, 并选择出 VNCal对应的 VPN网络为 VPNa。 而 VPNa中从 Hostl 出发存在多条隧道, Hostl从网络通信报文中提取其目的 地址为 10.0.0.2, 根据上述隧道与地址的对应关系表, 获取到对应的隧道 为 Tunnelal , 则 Hostl通过预定的隧道协议对所述网络通信 4艮文进行加密 后, 通过 Tunnelal发送。在本实施例中, 由于 VMa和 VMb归属于 VPNa, 凡是由 VMa和 VMb所发送的所有网络通信报文,即 VMa和 VMb所产生 的一切网络流量, 无论其属于何种协议, 其 IP地址如何设置, 均会被封 装在 VPNa中的 Tunnelal 中。 由于 VM1和 VM2归属于 VPN1 , 凡是由 VM1和 VM2所发送的所有网络通信报文, 即 VM1和 VM2所产生的一切 网络流量,无论其属于何种协议,其 IP地址如何设置,均会被封装在 VPN1 中的 Tunnell l中。 由此可见, 在本实施例中, 虚拟机产生的流量属于哪个 VPN不是由虚拟机自身的路由表决定的。
本实施例提供了一种网络通信方法, 通过物理主机上的 VNC接收以 该物理主机为宿主机、 且与该 VNC存在映射关系的第一虚拟机发送的网 络通信报文, 根据预设的 VPN网络与 VNC之间的对应关系, 选择出该 VNC对应的 VPN网络, 通过该 VPN网络发送网络通信 文; 本实施例允 许虚拟机的 IP地址与物理主机的 IP地址相同, 允许安装在相同虚拟机管 理系统上分属于不同 VPN网络的不同虚拟机设置相同的 IP地址, 从而取 消对 VPN内虚拟机 IP地址设置上的限制。 每个业务系统可以自行设置系 统内虚拟机的 IP地址, 不用考虑与主机或其他业务系统内部虚拟机的地 址冲突问题。
在本实施例中, 无需在 Guest OS上安装 VPN软件客户端, Guest OS 上的用户也不会感知到 VPN的存在, 从而无需根据不同的 Guest OS开发 不同的客户端, 在简化部署的同时, 也可以保证虚拟机上的用户无法对 VPN客户端进行任何操作, 从而无法干预 VPN安全策略。 本实施例中所 有虛拟机的网络流量均会被 VNC控制, 而 VNC对应特定的 VPN网络, 因此虚拟机之间的网络流量只会在 VPN网络内进行传输, 只能被该 VPN 网络内的其他节点接收处理, 归属于不同 VPN网络的虚拟机的流量则会 被 VPN隧道隔离。 在本实施例中, 以上述图 3为例, 如果设置虚拟机的 IP地址如下: VMa: 10.0.0.1 , VM1 : 10.0.0.1 , VMb: 10.0.0.2, VM2: 10.0.0.2, 当 VMa与 VMb进行通信时,网络通信报文会被 Host 1上的 VNCal处理, 并且发送到 Host 2上的 VNCa2, 再由 Host 2上的 VNCa2转发给 VMb, 上述过程由于 VNC的隔离作用, 网络通信报文不会被与 VMb的 IP地址 相同的 VM2收到。 另外, 由于 VNC对应的 VPN隧道的隔离作用, VMa 和 VMb, VM1和 VM2虽然分别安装在相同的主机上, 但不会发生地址冲 突, 且即使设置了相同网段的 IP地址也无法互相通信, 从而杜绝了虚拟 机绕开 VPN客户端在主机系统内相互通信的可能性。
图 5为本发明网络通信方法实施例三的流程图, 如图 5所示, 本实施 例提供了一种网络通信方法, 可以具体包括如下步驟:
步骤 501 , 物理主机中的 VPN客户端根据预先配置的 VPN安全通信 策略, 建立 VPN网络与 VNC之间的对应关系, 并将虚拟机内的网卡分别 映射在所述虚拟机所属的 VPN网络对应的、 该虚拟机所在物理主机的 VNC上, 本步驟可以与上述步驟 201类似, 此处不再赘述。
步骤 502, 物理主机上的 VPN网卡 VNC接收以所述物理主机为宿主 机的、 且与该 VNC存在映射关系的第一虚拟机发送的网络通信报文。
其中, 所述网络通信报文携带的源地址为所述第一虚拟机的地址, 所 述网络通信报文中携带的目的地址为第二虚拟机或其他物理主机的地址。
步驟 503,物理主机中的 VPN客户端判断所述第二虚拟机是否是以所 述物理主机为宿主机的、 映射在所述 VNC上的虚拟机, 如果是, 则执行 步骤 506, 否则执行步骤 504。
物理主机中的 VPN客户端判断第二虛拟机是否是该以物理主机为宿 主机的、 映射在 VNC上的虚拟机, 若第二虚拟机并非是以所述物理主机 为宿主机的、 映射在所述 VNC上的虚拟机 (即第二虚拟机与第一虚拟机 不是对应同一个物理主机上的同一个 VNC ) , 进入步骤 504〜步骤 505; 若第二虚拟机是以所述物理主机为宿主机的、 映射在所述 VNC上的虚拟 机 (即第二虛拟机与第一虚拟机对应同一个 VNC ) 则进入步骤 506。
本实施例中网络通信报文中携带的目的地址为以该物理主机为宿主 机的、 对应同一个 VNC的第二虚拟机的地址。 即本实施例为在同一物理 主机上对应同一个 VNC的两个虚拟机之间发送网络通信报文, 本实施例 中虚拟机之间发送的网络通信报文先被第一虚拟机对应的 VNC截取。 此 处的源地址可以为第一虚拟机的 MAC地址或虚拟 IP地址, 目的地址可以 为第二虚拟机的 MAC地址或虚拟 IP地址。 例如, 以上述图 3为例, 假设 VMc与 VMd进行通信, VMc向 VMd发送网络通信报文, 该网络通信报 文中携带 VMc的虚拟 IP地址和 VMd的虚拟 IP地址, 该网络通信报文在 发送到 VMd之前, 先被 VMc所在的 Host3上的 VNCa3截获。
Host3上的 VPN客户端可以根据步骤 501 中 "将虚拟机内的网卡分别 映射在所述虚拟机所属的 VPN网络对应的 VNC上" 时存储的、 虚拟机的 地址与 VNC的映射关系来确认所述网络通信报文的目的方是否是与第一 虚拟机映射在同一个 VNC上的另一个虚拟机。
步骤 504, 物理主机从预设的 VPN网络与 VNC的对应关系中, 选择 出与所述物理主机上的 VNC对应的 VPN网络。本步骤可以与上述步骤 204 类似, 此处不再赘述。
步驟 505, 物理主机根据预设隧道协议对网络通信报文进行封装后, 通过选择出的 VPN网络中的隧道, 将封装后的网络通信报文发送到第二 虚拟机或其他物理主机。本步骤可以与上述步骤 205类似,此处不再赘述。
步驟 506,物理主机通过所述 VNC直接将网络通信报文发送到第二虚 拟机上。
由于本实施例具体为映射在同一个 VNC上的两个虚拟机之间进行通 信, 则无需通过 VPN网络中的隧道来发送网络通信报文。 当选择出该物 理主机上的 VNC对应的 VPN网络后 , 该物理主机可以直接通过该 VNC 将网络通信报文发送到该物理主机上的第二虚拟机上。仍以上述图 3为例, 假设 VMc向 VMd发送网络通信报文, VMc和 VMd均映射在 Host3的 VNCa3上, 则 Host3可以直接通过 VNCa3将网络通信艮文转发到 VMd 上。
需要说明的是: 附图 5所示的网络通信方法, 只是针对一个 VNC上 映射有至少两个虚拟机时的一种改进的解决方案, 若一个 VNC上只映射 有一个虚拟机时, 则无需执行步驟 503和步骤 506。 此外, 即使一个 VNC 上映射有至少两个虚拟机, 也可以有其他的解决方案, 例如, 釆用附图 2 所示的流程进行处理, 在步驟 204中, 选择出 VPN网络后, 在步骤 205 时, 通过选择出的 VPN网络中的任意一条隧道发送出去, 经过其他物理 主机上与所述选择出的 VPN网络对应的其他 VNC的多次转发, 仍然可以 最终达到与发送所述网络通信报文的第一虚拟机映射在同一个 VNC上的 第二虚拟机。
本实施例提供了一种网络通信方法, 通过物理主机上的 VNC接收以 该物理主机为宿主机、 且与该 VNC存在映射关系的第一虚拟机发送的网 絡通信报文, 若该网絡通信报文的目的端是与所述第一虚拟机映射在同一 个 VNC上的第二虚拟机, 则直接通过所述 VNC发送该网络通信报文; 本 实施例允许虚拟机的 IP地址与物理主机的 IP地址相同, 允许安装在相同 虚拟机管理系统上分属于不同 VPN网络的不同虚拟机设置相同的 IP地 址, 从而取消对 VPN内虚拟机 IP地址设置上的限制。 每个业务系统可以 自行设置系统内虚拟机的 IP地址, 不用考虑与主机或其他业务系统内部 虚拟机的地址冲突问题。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算 机可读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的步 驟; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存 储程序代码的介质。
图 6为本发明网络通信装置实施例一的结构图, 如图 6所示, 本实施 例提供了一种网络通信装置, 可以具体执行上述方法实施例一中的各个步 骤, 此处不再赘述。 本实施例提供的网络通信装置可以具体包括报文截获 模块 601、 选择模块 602和第一发送模块 603。 其中, 报文截获模块 601 用于接收以所述物理主机为宿主机的、 且与所述 VNC存在映射关系的第 一虚拟机发送的网络通信报文, 所述网络通信报文中携带的源地址为所述 第一虚拟机的地址, 所述网络通信报文中携带的目的地址为第二虚拟机的 地址、 或其他物理主机的地址。 选择模块 602用于从预设的 VPN网络与 VNC的对应关系中, 选择出与所述物理主机上的所述 VNC对应的 VPN 网络。 第一发送模块 603用于通过选择出的 VPN网络发送所述网络通信 报文。
图 7为本发明网络通信装置实施例二的结构图, 如图 7所示, 本实施 例提供了一种网络通信装置, 可以具体执行上述方法实施例二或实施例三 中的各个步骤, 此处不再赘述。 本实施例提供的网络通信装置在上述图 6 所示的基础之上, 第一发送模块 603可以具体包括封装单元 613和发送单 元 623。 其中, 封装单元 613用于根据预设隧道协议对所述网络通信报文 进行封装。 发送单元 623用于通过选择出的 VPN网络中的隧道, 发送封 装后的网络通信^ :艮文, 所述第二虚拟机为以其他物理主机为宿主机的虚拟 机。
具体地, 本实施例中的发送单元 623可以具体包括第一发送子单元 6231 , 第一发送子单元 6231用于若选择出的 VPN网络中从所述物理主机 出发只有一条默认隧道, 则通过所述默认隧道发送封装后的网络通信报 文。
进一步地, 本实施例中的发送单元 623还可以包括提取子单元 6232、 选取子单元 6233和第二发送子单元 6234。 其中, 提取子单元 6232用于若 选择出的 VPN网络中有至少两条隧道, 则从所述网络通信报文中提取目 的地址。 选取子单元 6233用于从隧道与地址的对应关系中 , 选取提取的 所述目的地址对应的隧道。 第二发送子单元 6234用于通过选取的隧道, 发送封装后的网络通信报文。
具体地, 本实施例中的选择模块 602可以具体用于当确认所述第二虚 拟机不是以所述物理主机为宿主机的、 且与所述 VNC存在映射关系虚拟 机时, 从预设的 VPN网络与 VNC的对应关系中, 选择出与所述物理主机 上的所述 VNC对应的 VPN网络。
进一步地, 本实施例提供的网络通信装置还可以包括第二发送模块
604。 第二发送模块 604用于当确认所述第二虚拟机是以所述物理主机为 宿主机的、 且与所述 VNC存在映射关系的虚拟机后, 通过所述 VNC直接 将所述网络通信报文发送到所述第二虚拟机上。
进一步地, 本实施例提供的虚拟网络通信装置还可以包括映射模块
605。 映射模块 605用于在所述物理主机上的 VPN网卡 VNC接收以所述 物理主机为宿主机的、 且与所述 VNC存在映射关系的第一虚拟机发送的 网络通信报文之前, 根据预先配置的 VPN安全通信策略, 建立 VPN网络 与 VNC之间的对应关系, 并将虚拟机内的网卡分别映射在宿主机上的所 述虚拟机所属的 VPN网络对应的 VNC;。
更进一步地,本实施例中的地址包括 MAC地址以及在所属 VPN网络 中的虚拟 IP地址。
本实施例提供了一种网络通信装置, 通过物理主机上的 VNC接收以 该物理主机为宿主机、 且与该 VNC存在映射关系的第一虚拟机发送的网 络通信报文, 根据预设的 VPN网络与 VNC之间的对应关系, 选择出所述 VPN网卡对应的 VPN网络,通过选择出的 VPN网络发送所述网络通信^! 文。 该方案无需在每个虚拟机上都安装 VPN软件, 简化了设置流程, 允 许虚拟机的 IP地址与物理计算机的 IP地址相同, 允许安装在相同虚拟机 管理系统上分属于不同 VPN网络的不同虚拟机设置相同的 IP地址, 从而 降低了对 VPN内虚拟机的 IP地址的设置限制。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非 对其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进 行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的范 围。

Claims

权 利 要 求 书
1、 一种网络通信方法, 其特征在于, 包括:
物理主机上的虚拟专用网 VPN网卡 VNC接收以所述物理主机为宿主 机的、 且与所述 VNC存在映射关系的第一虚拟机发送的网络通信报文, 所述网络通信报文中携带的源地址为所述第一虚拟机的地址, 所述网络通 信报文中携带的目的地址为第二虛拟机的地址、 或其他物理主机的地址; 所述物理主机从预设的 VPN网络与 VNC的对应关系中, 选择出与所 述物理主机上的所述 VNC对应的 VPN网络;
所述物理主机通过选择出的 VPN网络发送所述网络通信报文。
2、 根据权利要求 1所述的方法, 其特征在于, 所述物理主机通过选 择出的 VPN网络发送所述网络通信报文, 包括:
所述物理主机根据预设隧道协议对所述网络通信报文进行封装后, 通 过选择出的 VPN网络中的隧道, 发送封装后的网络通信报文, 所述第二 虚拟机为以其他物理主机为宿主机的虚拟机。
3、根据权利要求 2所述的方法,其特征在于,所述通过选择出的 VPN 网络中的隧道, 发送封装后的网络通信报文, 包括:
若选择出的 VPN网络中从所述物理主机出发只有一条默认隧道, 则 通过所述默认隧道发送封装后的网络通信报文。
4、根据权利要求 2所述的方法,其特征在于,所述通过选择出的 VPN 网络中的隧道, 发送封装后的网络通信报文, 包括:
若选择出的 VPN网络中从所述物理主机出发有至少两条隧道, 则从 所述网络通信报文中提取目的地址;
从隧道与地址的对应关系中, 选取提取的所述目的地址对应的隧道; 通过选取的隧道, 发送封装后的网络通信报文。
5、 根据权利要求 1所述的方法, 其特征在于, 在所述物理主机从预 设的 VPN网络与 VNC的对应关系中, 选择出与所述物理主机上的所述 VNC对应的 VPN网络之前, 还包括:
所述物理主机确认所述第二虚拟机不是以所述物理主机为宿主机的、 且与所述 VNC存在映射关系的虚拟机。
6、 根据权利要求 5所述的方法, 其特征在于, 所述物理主机确认所 述第二虚拟机是以所述物理主机为宿主机的、 且与所述 VNC存在映射关 系的虚拟机后, 还包括:
通过所述 VNC直接将所述网络通信报文发送到所述第二虛拟机上。
7、 根据权利要求 1所述的方法, 其特征在于, 在所述物理主机上的 VPN网卡 VNC接收以所述物理主机为宿主机的、 且与所述 VNC存在映 射关系的第一虚拟机发送的网络通信报文之前, 还包括:
所述物理主机根据预先配置的 VPN安全通信策略, 建立 VPN网络与 VNC之间的对应关系,并将虚拟机内的网卡分别映射在宿主机上的所述虚 拟机所属的 VPN网络 ^应的 VN ( 。
8、 根据权利要求 1-7中任一项所述的方法, 其特征在于, 所述地址包 括 MAC地址以及在所属 VPN网络中的虚拟 IP地址。
9、 一种网络通信装置, 其特征在于, 包括:
报文截获模块, 用于通过所述网络通信装置所在物理主机上的 VNC 接收以所述物理主机为宿主机的、 且与所述 VNC存在映射关系的第一虚 拟机发送的网络通信报文, 所述网络通信报文中携带的源地址为所述第一 虚拟机的地址, 所述网络通信报文中携带的目的地址为第二虚拟机的地 址、 或其他物理主机的地址;
选择模块, 用于从预设的 VPN网络与 VNC的对应关系中, 选择出与 所述物理主机上的所述 VNC对应的 VPN网络;
第一发送模块, 用于通过选择出的 VPN网络发送所述网络通信报文。
10、 根据权利要求 9所述的装置, 其特征在于, 所述第一发送模块包 括:
封装单元, 用于根据预设隧道协议对所述网络通信报文进行封装; 发送单元, 用于通过选择出的 VPN网络中的隧道, 发送封装后的网络 通信报文, 所述第二虚拟机为以其他物理主机为宿主机的虚拟机。
11、 根据权利要求 10所述的装置, 其特征在于, 所述发送单元包括: 第一发送子单元, 用于若选择出的 VPN网络中从所述物理主机出发 只有一条默认隧道, 则通过所述默认隧道发送封装后的网絡通信报文。
12、 根据权利要求 10所述的装置, 其特征在于, 所述发送单元包括: 提取子单元, 用于若选择出的 VPN网络中从所述物理主机出发有至 少两条隧道, 则从所述网络通信报文中提取目的地址;
选取子单元, 用于从隧道与地址的对应关系中, 选取提取的所述目的 地址对应的隧道;
第二发送子单元,用于通过选取的隧道,发送封装后的网络通信报文。
13、 根据权利要求 9所述的装置, 其特征在于, 所述选择模块具体用 于当确认所述第二虚拟机不是以所述物理主机为宿主机的、且与所述 VNC 存在映射关系的虚拟机时, 从预设的 VPN网络与 VNC的对应关系中, 选 择出与所述物理主机上的所述 VNC对应的 VPN网络。
14、 根据权利要求 13所述的装置, 其特征在于, 还包括:
第二发送模块, 用于当确认所述第二虚拟机是以所述物理主机为宿主 机的、 且与所述 VNC存在映射关系的虚拟机后, 通过所述 VNC直接将所 述网络通信报文发送到所述第二虚拟机上。
15、 根据权利要求 9所述的装置, 其特征在于, 还包括:
映射模块, 用于在所述物理主机上的 VPN网卡 VNC接收以所述物理 主机为宿主机的、 且与所述 VNC存在映射关系的第一虚拟机发送的网络 通信报文之前, 根据预先配置的 VPN 安全通信策略, 建立 VPN 网络与 VNC之间的对应关系 ,并将虚拟机内的网卡分别映射在宿主机上的所述虚 拟机所属的 VPN网络对应的 VNC。
PCT/CN2012/075878 2012-05-22 2012-05-22 网络通信方法和装置 WO2013173973A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280000584.1A CN103621046B (zh) 2012-05-22 2012-05-22 网络通信方法和装置
PCT/CN2012/075878 WO2013173973A1 (zh) 2012-05-22 2012-05-22 网络通信方法和装置
US13/745,405 US20130315242A1 (en) 2012-05-22 2013-01-18 Network Communication Method and Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/075878 WO2013173973A1 (zh) 2012-05-22 2012-05-22 网络通信方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/745,405 Continuation US20130315242A1 (en) 2012-05-22 2013-01-18 Network Communication Method and Device

Publications (1)

Publication Number Publication Date
WO2013173973A1 true WO2013173973A1 (zh) 2013-11-28

Family

ID=49621565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/075878 WO2013173973A1 (zh) 2012-05-22 2012-05-22 网络通信方法和装置

Country Status (3)

Country Link
US (1) US20130315242A1 (zh)
CN (1) CN103621046B (zh)
WO (1) WO2013173973A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101617A (zh) * 2016-06-08 2016-11-09 浙江宇视科技有限公司 一种报文传输方法、装置及系统
CN109189557A (zh) * 2018-09-03 2019-01-11 郑州云海信息技术有限公司 一种面向高网络通信的虚拟机调度方法及系统
CN109862127A (zh) * 2017-11-30 2019-06-07 华为技术有限公司 一种报文传输的方法及相关装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
CN104102213B (zh) * 2014-07-31 2016-07-27 合肥美亚光电技术股份有限公司 一种用于物料分选设备的远程控制系统及方法
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
CN105721313B (zh) * 2016-02-05 2019-09-24 联想(北京)有限公司 数据传输方法及相关设备
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11115480B2 (en) * 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10608844B2 (en) 2017-10-02 2020-03-31 Vmware, Inc. Graph based routing through multiple public clouds
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
CN111786870B (zh) * 2019-04-04 2022-01-04 厦门网宿有限公司 数据传输方法及strongswan服务器
CN111786869B (zh) * 2019-04-04 2022-04-22 厦门网宿有限公司 一种服务器之间的数据传输方法及服务器
US11121985B2 (en) 2019-08-27 2021-09-14 Vmware, Inc. Defining different public cloud virtual networks for different entities based on different sets of measurements
US11611507B2 (en) 2019-10-28 2023-03-21 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
CN112953884B (zh) * 2019-12-10 2023-03-24 阿里巴巴集团控股有限公司 一种建立访问通道的方法及装置
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
CN114128234B (zh) * 2020-02-06 2023-12-15 华为云计算技术有限公司 用于在多网络环境中防止冲突的虚拟地址分配
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
CN114844744B (zh) * 2022-03-04 2023-07-21 阿里巴巴(中国)有限公司 虚拟私有云网络配置方法和装置、电子设备及计算机可读存储介质
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101668022A (zh) * 2009-09-14 2010-03-10 陈博东 一种建立在虚拟机上的虚拟网络隔离系统及实现方法
US7801154B2 (en) * 2006-03-10 2010-09-21 The Cobalt Group, Inc. System and method for automated access of a data management server through a virtual private network
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法
CN102137169A (zh) * 2011-01-30 2011-07-27 华为技术有限公司 一种绑定物理网口的方法、网卡及通信系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614800B1 (en) * 1999-09-02 2003-09-02 International Business Machines Corporation Method and system for virtual private network administration channels
CN101557337B (zh) * 2009-05-04 2012-08-29 成都市华为赛门铁克科技有限公司 网络隧道建立方法、数据传输方法、通讯系统及相关设备
CN201499183U (zh) * 2009-09-14 2010-06-02 陈博东 一种虚拟网络分隔系统
JP2012129648A (ja) * 2010-12-13 2012-07-05 Fujitsu Ltd サーバ装置、管理装置、転送先アドレス設定プログラムおよび仮想ネットワークシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801154B2 (en) * 2006-03-10 2010-09-21 The Cobalt Group, Inc. System and method for automated access of a data management server through a virtual private network
CN101668022A (zh) * 2009-09-14 2010-03-10 陈博东 一种建立在虚拟机上的虚拟网络隔离系统及实现方法
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法
CN102137169A (zh) * 2011-01-30 2011-07-27 华为技术有限公司 一种绑定物理网口的方法、网卡及通信系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101617A (zh) * 2016-06-08 2016-11-09 浙江宇视科技有限公司 一种报文传输方法、装置及系统
CN106101617B (zh) * 2016-06-08 2020-04-10 浙江宇视科技有限公司 一种报文传输方法、装置及系统
CN109862127A (zh) * 2017-11-30 2019-06-07 华为技术有限公司 一种报文传输的方法及相关装置
CN109862127B (zh) * 2017-11-30 2021-05-11 华为技术有限公司 一种报文传输的方法及相关装置
CN109189557A (zh) * 2018-09-03 2019-01-11 郑州云海信息技术有限公司 一种面向高网络通信的虚拟机调度方法及系统

Also Published As

Publication number Publication date
CN103621046B (zh) 2016-08-24
CN103621046A (zh) 2014-03-05
US20130315242A1 (en) 2013-11-28

Similar Documents

Publication Publication Date Title
WO2013173973A1 (zh) 网络通信方法和装置
US9825900B2 (en) Overlay tunnel information exchange protocol
US9634991B2 (en) Method, apparatus, host, and network system for processing packet
CN103580980B (zh) 虚拟网络自动发现和自动配置的方法及其装置
EP2905930B1 (en) Processing method, apparatus and system for multicast
US12015722B2 (en) Methods and systems for cryptographic identity based network microsegmentation
US8824485B2 (en) Efficient software-based private VLAN solution for distributed virtual switches
WO2016034074A1 (zh) 一种软件定义网络sdn的实现方法、装置和系统
CN106464534B (zh) 配设和管理用户驻地设备装置的片
WO2015172574A1 (zh) 一种发送报文的方法及设备
WO2015058698A1 (en) Data forwarding
WO2015149253A1 (zh) 数据中心的虚拟网络管理方法及数据中心系统
US20150288651A1 (en) Ip packet processing method and apparatus, and network system
JP2018536316A (ja) 高速且つスケーラブルなデータベースクラスタ通信経路
WO2019091088A1 (zh) 一种vxlan的配置方法、设备及系统
WO2014134919A1 (zh) 同一租户内服务器间的通信控制方法及网络设备
US20220070139A1 (en) Port and loopback ip addresses allocation scheme for full-mesh communications with transparent tls tunnels
US10659440B2 (en) Optimizing utilization of security parameter index (SPI) space
EP3664403B1 (en) User authentication of bras under architecture of mutually separated forwarding and control
US10423434B2 (en) Logical port authentication for virtual machines
CN110830351B (zh) 基于SaaS服务模式的租户管理及服务提供方法、装置
CN109756419B (zh) 路由信息分发方法、装置以及rr
US20230231915A1 (en) Bare-metal connection storage method and system, and apparatus
WO2015081534A1 (zh) 一种数据报文的传输系统、传输方法和设备
US20230143157A1 (en) Logical switch level load balancing of l2vpn traffic

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: 12877368

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: 12877368

Country of ref document: EP

Kind code of ref document: A1