Patent ID: 7334049

Claim:
A method for performing network address translation on data, the method comprising: receiving a first data having a first source address and a first destination address, wherein the first data is sent by a first node in a first domain to a second node in a second domain, and wherein the first data is received into a first interface associated with the first domain and output from a second interface associated with the second domain, and wherein the first domain differs from the second domain, and wherein the first and second interfaces are virtual interfaces that are each configurably associated with one or more domains; obtaining routing information for the first data; if the first source address is a private address and if a binding between the first source address, the first interface, and a first public address is found, translating the first source address into the first public address specified by the found binding prior to sending the first data to the second domain destination; if the first source address is a private address and if a binding between the first source address, the first interface, and a first public address is not found, translating the first source address into a selected public address and forming and storing a first binding between the first source address, the selected public address, and the first interface, wherein the translation is performed prior to sending the first data to the second domain destination; if a destination binding between the first destination address, a first private address, and the second interface is found, translating the first destination address into the first private address specified by the destination binding, wherein the translation of the first destination address is performed prior to sending the first data out the second interface to the second node; and sending the first data to the second node based on the routing information.