Network address translation for virtual machines
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, at a gateway, a packet from a client, the packet having header information including a destination Internet Protocol (IP) address and a destination port;
selecting, by the gateway, a destination virtual machine based on the destination port included in the header information, wherein the destination virtual machine is a hardware virtualization having a particular IP address and is available for processing data included in the packet, and wherein selecting the destination virtual machine based on the destination port comprises converting the destination port using a transformation to determine a transformed destination port and selecting the destination virtual machine based on the transformed destination port;
in response to selecting the destination virtual machine based on the destination port;
modifying, by the gateway, the header information of the packet to replace the destination IP address with the particular IP address of the selected destination virtual machine without modifying source information in the header information and without modifying the destination port in the header information of the packet; and
sending, by the gateway, the packet with the modified destination IP address over a network to a host machine that hosts the selected destination virtual machine and that is configured to (i) modify the destination port in the header information after the destination virtual machine is selected based on the destination port and (ii) send the packet with the modified destination IP address and the modified destination port to the destination virtual machine that was selected by the gateway based on the destination port.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a packet from a client, the packet having header information including a destination Internet Protocol (IP) address, a destination port, a source IP address, and a source port, and wherein the source IP address and source port are associated with the client; selecting a destination virtual machine based on the destination port; modifying the packet by replacing the destination IP address in the header information with an IP address of the selected destination virtual machine; and sending the modified packet to the destination virtual machine.
30 Citations
16 Claims
-
1. A computer-implemented method comprising:
-
receiving, at a gateway, a packet from a client, the packet having header information including a destination Internet Protocol (IP) address and a destination port; selecting, by the gateway, a destination virtual machine based on the destination port included in the header information, wherein the destination virtual machine is a hardware virtualization having a particular IP address and is available for processing data included in the packet, and wherein selecting the destination virtual machine based on the destination port comprises converting the destination port using a transformation to determine a transformed destination port and selecting the destination virtual machine based on the transformed destination port; in response to selecting the destination virtual machine based on the destination port; modifying, by the gateway, the header information of the packet to replace the destination IP address with the particular IP address of the selected destination virtual machine without modifying source information in the header information and without modifying the destination port in the header information of the packet; and sending, by the gateway, the packet with the modified destination IP address over a network to a host machine that hosts the selected destination virtual machine and that is configured to (i) modify the destination port in the header information after the destination virtual machine is selected based on the destination port and (ii) send the packet with the modified destination IP address and the modified destination port to the destination virtual machine that was selected by the gateway based on the destination port. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory, computer readable medium having instructions stored thereon that, when executed by data processing apparatus, cause the data processing apparatus to perform operations comprising:
-
receiving, at a gateway, a packet from a client, the packet having header information including a destination Internet Protocol (IP) address and a destination port; selecting, by the gateway, a destination virtual machine based on the destination port included in the header information, wherein the destination virtual machine is a hardware virtualization having a particular IP address and is available for processing data included in the packet, and wherein selecting the destination virtual machine based on the destination port comprises converting the destination port using a transformation to determine a transformed destination port and selecting the destination virtual machine based on the transformed destination port; in response to selecting the destination virtual machine based on the destination port; modifying, by the gateway, the header information of the packet to replace the destination IP address with the particular IP address of the selected destination virtual machine without modifying source information in the header information and without modifying the destination port in the header information of the packet; and sending, by the gateway, the packet with the modified destination IP address over a network to a host machine that hosts the selected destination virtual machine and that is configured to (i) modify the destination port in the header information after the destination virtual machine is selected based on the destination port and (ii) send the packet with the modified destination IP address and the modified destination port to the destination virtual machine that was selected by the gateway based on the destination port. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a non-transitory, computer readable medium having instructions stored thereon; and data processing apparatus configured to execute the instructions to perform operations comprising; receiving, at a gateway, a packet from a client, the packet having header information including a destination Internet Protocol (IP) address and a destination port; selecting, by the gateway, a destination virtual machine based on the destination port included in the header information, wherein the destination virtual machine is a hardware virtualization having a particular IP address and is available for processing data included in the packet, and wherein selecting the destination virtual machine based on the destination port comprises converting the destination port using a transformation to determine a transformed destination port and selecting the destination virtual machine based on the transformed destination port; in response to selecting the destination virtual machine based on the destination port; modifying, by the gateway, the header information of the packet to replace the destination IP address with the particular IP address of the selected destination virtual machine without modifying source information in the header information and without modifying the destination port in the header information of the packet; and sending, by the gateway, the packet with the modified destination IP address over a network to a host machine that hosts the selected destination virtual machine and that is configured to (i) modify the destination port in the header information after the destination virtual machine is selected based on the destination port and (ii) send the packet with the modified destination IP address and the modified destination port to the destination virtual machine that was selected by the gateway based on the destination port. - View Dependent Claims (15, 16)
-
Specification