Patent ID: 8725898

Claim:
A system for performing address translation for packets, the system comprising: connection tracking data comprising associations between assignable public IP addresses and ports with internal IP addresses and ports; a packet forwarding device located at an edge of a network, the packet forwarding device configured to: receive a packet from an external network, the packet comprising a destination address and a source address, the destination address comprising an assignable public IP address and port associated with the network; determine a forwarding rule for the packet based at least partly on the destination address of the packet, the forwarding rule identifying a relationship between the assignable public address and port associated with the network with a first internal address for a computing node of the network; and based at least partly on the forwarding rule, communicate the packet to the computing node; wherein the packet forwarding device does not translate the destination address of the packet to an internal address and port; and a translation manager with access to the connection tracking data, the translation manager located on the computing node, the computing node remote from the packet forwarding device, the translation manager configured to: access the connection tracking data and select an entry identifying an association of the first internal IP address and port with the assignable public IP address and port of the destination address of the packet; determine a second internal IP address and port based at least partly on the entry, wherein the second internal IP address is associated with a virtual machine instance; modify the packet by changing the destination address of the packet to the second internal IP address and port with the assignable public IP address and port; and communicate the packet to the destination node.