Network Address Translation (NAT)
NAT translates between local network and Internet IP addresses.
All hosts that connect to the local network are assigned with local network IP addresses by the DHCP server running in the local network’s router. When this router connects to the Internet, it is assigned with one IP address from the Internet service provider’s DHCP server. All local network hosts will share this public IP address to access the Internet.
NAT Translation Table
How do all hosts on a local network share the same public IP address? Network Address Translation (NAT) re-assigns IP addresses and port numbers and keeps track of these re-assignments using its NAT translation table.
When the router receives a packet from a local host containing a public IP address, it changes the source IP address to use its Internet IP address and changes the source port number so it knows which local host process to deliver received packets to. This re-assignment is entered into the translation table.
Each process requiring Internet access running on the local network is assigned a new IP address and port number by NAT. Each re-assignment is then entered into the NAT translation table.