To have a public IP-Address costs money. To have a whole public subnet, costs more
So companys with little money but clever admins can use a technic, which helps them to use
public IP-Addresses, but make it possible for lots of clients to connect to the Internet.
This technic is called NAT or Network Address Translation.
As the name says, an Network Address (IP-Address) is been translated to another address.
Mostly, a private IP-Address (172.16.X.X or 196.168.X.X) is translated in a public IP which
gets from an ISP and pays for the public IP or IPs.
There are some terms which must be understanded before going deeper in that material.
Its necessary for CCNA Certification to differ between them.
Inside local address
A private IP Address, not useable in the Internet.
Inside global address
A public IP address in the inside network.
Outside local address
A IP on the outside of the network, as its seen by an inside host.
Not necessarily public address.
Outside global address
A IP address in the outside network, which is a public address.
There are three forms of NAT
ONE private IP is translated to ONE public IP.
Allways the same private IP is mapped to the same public IP.
A private IP is mapped to a public IP, which is from a pool of public IPs.
It must not allways be the same privat IP, which is mapped to a specific public IP.
This is selected dynamically.
Many private IPs are mapped to one public IP.
This is also known as PAT (Port Address Translation).
Its a Form of dynamic NAT.
A private IP establishes a connection, for example is source port 2353.
The pakets come to the router. The router translates the IP to a public IP.
The router writes the Information about source IP and source Port into
its NAT Table. When the answer Pakets arrive from Internet the router again
checks its NAT Table and translates the pakets back to the private IP from where
the requesting pakets did origin, depending on the port entry in NAT Table.