Network Address Translation (NAT)

Last modified by Microchip on 2023/11/10 11:23


Network Address Translation (NAT) translates between local network and Internet IP addresses.

All hosts that connect to the local network are assigned local network IP addresses by the Dynamic Host Configuration Protocol (DHCP) server running in the local network’s router. When this router connects to the Internet, it is assigned 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

NAT table

How do all hosts on a local network share the same public IP address? 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.

Learn More