When Internet was born long back and IPv4 addressing first came out, there were only a few computers all over the world. IPv4 addresses are 32-bit binary numbers and the networking experts of that time suggested that there were plenty of IPv4 addresses to cover the IPv4 address requirement of that period and that of the future.
Theoretically, we have 4,294,967,296 unique IPv4 addresses (2^32) available. But the number of available IPv4 addresses for use is less because there are many IPv4 address reservations for specific uses.
When the internet developed from its initial state of a few computers to millions of network devices in 1990's the available IPv4 addresses were not enough. There was a sharp increase in the number of home networks and business networks all over the globe. Therefore the number of available IPv4 addresses were not enough to address the devices on the fast expanding internet.
The main reason why Network Address Translation (NAT) technology developed was to prevent the fast depletion of IPv4 addresses. NAT (Network Address Translation) allows a device (such as a Router, Firewall or a Server running Network Operating Systems like Windows 2008, Windows 2012, GNU Linux or Unix) to translate addresses between the public internet and a local private network.
You may wonder "How this type of address translation can save the depleting IPv4 addresses?"
The answer to the above question is the private range of IPv4 addresses. There are defined ranges of private IPv4 addresses that can be used to configure IPv4 addresses for private use (Ex. inside an enterprise network, inside a home network, inside a hotel network etc.). The IPv4 traffic originating from or destined to private IPv4 addresses is not allowed to move (or dropped) in a public internet routers (in other words, public internet routers are configured to drop any traffic coming from or going to a private IPv4 network). This permits the re-usability of private IPv4 addresses in different non-public networks. There is no IPv4 address conflict between two private IPv4 addresses separated by NAT devices. Because, the private IPv4 addresses are translated to globally unique public IPv4 addresses, when they leave their own network.
NAT allows a single globally unique IPv4 address to represent an entire private network to the ouside world.
Three types of NAT commonly in use are
1) Static NAT
2) Dynamic NAT
3) Port Address Translation (PAT/NAT Overload)