Patent ID: 7058973

Claim:
A network address translating (“NAT”) gateway for detecting datagrams having process-specific nontranslatable port addresses and passing said datagrams through the NAT gateway without translating their port addresses, said NAT gateway connecting a LAN to an external network, said LAN using local IP addresses said NAT gateway having a local IP address that can be referenced by devices on said LAN and having an external IP address that can be referenced by devices on said external network, said NAT gateway comprising: said NAT gateway having a plurality of internal tables associating combinations of local IP addresses of local devices on said LAN, external IP addresses of external devices on said external network, security parameter index (“SPI”)-In values, SPI-Out values, source port addresses, destination port addresses, and process-specific port addresses; said NAT gateway maintaining a list of selected process-specific nontranslatable port addresses to which datagrams can be passed without translating their port addresses; means for performing normal address translation upon datagrams passing from said LAN to said external network and datagrams passing from said external network to said LAN; means for delivering a datagram from a local device on said LAN to an external device on said external network by receiving a datagram from a local device on said LAN intended for delivery to an external device on said external network, and determining whether the destination port address for said datagram is included in said list of selected process-specific nontranslatable port addresses and, if said destination port address is not included in said list of selected process-specific nontranslatable port addresses, performing normal address translation upon said datagram and passing said datagram to said external network for routing and delivery to said external device; and if said destination port address is included in said list of selected process-specific nontranslatable port addresses, determining whether said destination port address is bound to a local IP address, and if said destination port address is bound to a local IP address, performing normal address translation upon said datagram and passing said datagram to said external network; and if said destination port address is not bound to a local IP address, passing said datagram through said NAT gateway without translating said port addresses of said datagram, modifying said source IP address of said datagram to be said external IP address of said NAT gateway, binding said destination port address to the local IP address of said local device and creating an association between said destination port address and the external IP address of said external device, and passing said datagram to said external network for routing and delivery to said external device.