Due to lack of IPv4 addresses there are some non-routable private addresses ;these are Class A from 10.0.0.0 until 10.255.255.255, Class B from 172.16.0.0 until 172.16.255.255, and Class C 192.168.0.0 until 192.168.255.255. When communication between devices with the non-routable or private network address is needed with a device in a public network (like the Internet) then address translation is required. This is where Network Address Translator (NAT) comes in. So NAT routers (or NATificators) are located at borders of public and private networks. The payload of the packet must also be considered during the translation process.
NAT must also regenerate the User Datagram Protocol (UDP), or Transmission Control Protocol (TCP), the checksum (optional in UDP) as it is computed from a pseudo-header containing source, and the destination IP address. Thus IP checksum must also be recalculated.
Basically a pool of public IP addresses is shared by an entire private IP subnet (static or dynamic NAT). Edge devices that run dynamic NAT create bindings “on the fly” (i.e., for each private address a public address is mapped thus building a NAT table).
A variation of dynamic NAT known as network address port translation (NAPT) may be used to allow many hosts to share a single IP address
by multiplexing streams differentiated by TCP/UDP port number.