×

System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses

  • US 8,194,674 B1
  • Filed: 12/19/2008
  • Issued: 06/05/2012
  • Est. Priority Date: 12/20/2007
  • Status: Expired due to Fees
First Claim
Patent Images

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.

View all claims
  • 25 Assignments
Timeline View
Assignment View
    ×
    ×