Patent ID: 8387128

Claim:
A network address translation method, comprising: (a) establishing a host side session between a security gateway and a host, the security gateway comprising a multi-core processor comprising a plurality of central processing unit (CPU) cores; (b) selecting a proxy network address for the host side session to result in a calculated first CPU core identity of a first CPU core of the multi-core processor being the same as a calculated second CPU core identity of a second CPU core of the multi-core processor; (c) using the proxy network address to establish a server side session between the security gateway and a server; (d) in response to receiving a first data packet from the host side session, calculating the first CPU core identity and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet comprises: (d1) substituting the host network address in the first data packet with the proxy network address by the first CPU core; and (d2) sending the processed first data packet to the server side session; and (e) in response to receiving a second data packet from the server side session, calculating the second CPU core identity using the proxy network address in the second data packet and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet comprises: (e1) substituting the proxy network address in the second data packet with the host network address by the second CPU core; and (e2) sending the processed second data packet to the host side session.