System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses
First Claim
1. A data transmission method comprising:
- receiving a first frame at a first port of a switch having a plurality of ports, wherein;
each of the ports is associated with a unique Virtual Local Area Network (VLAN) and a VLAN tag that uniquely identifies the VLAN such that the switch can ascertain that packets received on a particular port are from a virtual machine assigned to the VLAN associated with the particular port;
the first port is associated with a first VLAN and a first VLAN tag;
the first frame comprises data from a first virtual machine having an internal source IP address and a MAC address and located on an internal computer network that includes at least a second virtual machine that has the identical internal source IP address of the first virtual machine but the first and second virtual machines are assigned by a control server to different VLANs, such that the first and second virtual machines cannot be uniquely identified solely by their internal source IP address but can be uniquely identified by a combination of their internal source IP address and the VLAN to which each virtual machine is assigned, wherein the virtual machines do not store VLAN tags identifying the VLAN to which they are assigned;
a header of the first frame includes the internal source address of the first virtual machine but does not include a VLAN tag identifying the VLAN to which the first packet is assigned;
ascertaining, at the switch, by virtue of the first frame having been received at the first port, that the first virtual machine is assigned to the first VLAN, wherein the ascertaining that the first virtual machine is assigned to the first VLAN is performed by the switch because the first frame does not have a VLAN tag that identifies the VLAN to which the first virtual machine is assigned;
creating, at the switch, a second frame, and embedding into the second frame;
the data received from the first virtual machine,a source IP address that is the internal source IP address of the first virtual machine;
a destination IP address of a server that is intended to receive the data sent from the first virtual machine;
a source MAC address that is the MAC address of the virtual machine;
a destination MAC address of a trunked port interface of a gateway device intended to receive the second frame, wherein the trunked port interface provides an interface to the VLANs associated with the ports of the switch;
a source port;
a destination port; and
the first VLAN tag, wherein the switch embeds the first VLAN tag into the second frame because the first frame does not have a VLAN tag;
wherein the internal source IP address and the first VLAN tag cooperate to uniquely identify the first virtual machine from which the switch received the data;
transmitting the second frame from the switch to the trunked port interface of the gateway device;
translating, using translation logic of the gateway device, the combination of the internal source IP address and the first VLAN tag of the second frame into an external source IP address that uniquely identifies the virtual machine to an external server;
creating, at the gateway device, a third frame, and embedding into the third frame;
the data of the second frame;
a source MAC address that is the MAC address of an access switch port of the gateway device;
a destination MAC address that is the MAC address of the server intended to receive the data sent from the first virtual machine;
the external source IP address generated by the translation logic;
a destination IP address that is the IP address of the server intended to receive the data sent from the first virtual machine;
a source port number; and
a destination port number;
andtransmitting the third frame to the server intended to receive the data sent from the first virtual machine, wherein the server is an external server located on a computer network that is external to the internal computer network of the virtual machines.
25 Assignments
0 Petitions
Accused Products
Abstract
A gateway device including an access interface to an external network, a trunked interface, and translation logic. The access interface is associated with multiple external source addresses. The trunked interface is interfaced with multiple different virtual local area networks (VLANs), where each VLAN is associated with a corresponding VLAN tag and at least one of potentially overlapping internal source addresses. The translation logic translates between each external source address and each unique combination of internal source address and VLAN tag. A method of network address translation including assigning one of first network addresses to each first device of a first network, dividing the first network into a plurality of VLANs, separating the first devices with the same first network address into different VLANs, and assigning first devices with the same first address to different second network addresses.
420 Citations
3 Claims
-
1. A data transmission method comprising:
-
receiving a first frame at a first port of a switch having a plurality of ports, wherein; each of the ports is associated with a unique Virtual Local Area Network (VLAN) and a VLAN tag that uniquely identifies the VLAN such that the switch can ascertain that packets received on a particular port are from a virtual machine assigned to the VLAN associated with the particular port; the first port is associated with a first VLAN and a first VLAN tag; the first frame comprises data from a first virtual machine having an internal source IP address and a MAC address and located on an internal computer network that includes at least a second virtual machine that has the identical internal source IP address of the first virtual machine but the first and second virtual machines are assigned by a control server to different VLANs, such that the first and second virtual machines cannot be uniquely identified solely by their internal source IP address but can be uniquely identified by a combination of their internal source IP address and the VLAN to which each virtual machine is assigned, wherein the virtual machines do not store VLAN tags identifying the VLAN to which they are assigned; a header of the first frame includes the internal source address of the first virtual machine but does not include a VLAN tag identifying the VLAN to which the first packet is assigned; ascertaining, at the switch, by virtue of the first frame having been received at the first port, that the first virtual machine is assigned to the first VLAN, wherein the ascertaining that the first virtual machine is assigned to the first VLAN is performed by the switch because the first frame does not have a VLAN tag that identifies the VLAN to which the first virtual machine is assigned;
creating, at the switch, a second frame, and embedding into the second frame;the data received from the first virtual machine, a source IP address that is the internal source IP address of the first virtual machine; a destination IP address of a server that is intended to receive the data sent from the first virtual machine; a source MAC address that is the MAC address of the virtual machine; a destination MAC address of a trunked port interface of a gateway device intended to receive the second frame, wherein the trunked port interface provides an interface to the VLANs associated with the ports of the switch; a source port; a destination port; and the first VLAN tag, wherein the switch embeds the first VLAN tag into the second frame because the first frame does not have a VLAN tag; wherein the internal source IP address and the first VLAN tag cooperate to uniquely identify the first virtual machine from which the switch received the data; transmitting the second frame from the switch to the trunked port interface of the gateway device; translating, using translation logic of the gateway device, the combination of the internal source IP address and the first VLAN tag of the second frame into an external source IP address that uniquely identifies the virtual machine to an external server; creating, at the gateway device, a third frame, and embedding into the third frame; the data of the second frame; a source MAC address that is the MAC address of an access switch port of the gateway device; a destination MAC address that is the MAC address of the server intended to receive the data sent from the first virtual machine; the external source IP address generated by the translation logic; a destination IP address that is the IP address of the server intended to receive the data sent from the first virtual machine; a source port number; and a destination port number; and transmitting the third frame to the server intended to receive the data sent from the first virtual machine, wherein the server is an external server located on a computer network that is external to the internal computer network of the virtual machines. - View Dependent Claims (2, 3)
-
Specification