The Internet has grown at a very rapid rate, and it only gets better by the day. Every device that’s connected to the Internet (be it some high end Web Server, VoIP Switches, your PC, that new sleek looking iPhone you've fallen in love with or any other device you may imagine) needs to have some unique identity. Without an identity the device cannot communicate or receive any communication. Think of it as your house address, or perhaps your phone number – it's unique and your colleagues and peers use it to reach to you. In Internet terms, this unique address is referred to as the IP Address.
The current IP Addressing system allows to have roughly about 3.3 billion unique addresses. However, with the rapid growth of the Internet and the devices connecting to it, there are simply not enough addresses available to uniquely allocate to all. Now, that’s a problem! Nevertheless, every problem has a good, or sometimes, not so good solution. So, the solution for the scarce IP Address problem? – NAT.
NAT is a mechanism of taking a unique IP address and sharing it with a pool of devices. You may despair, “That's like sharing my house address with someone else!”, or perhaps, “Thats like sharing my phone number with someone else!”, well, in a sense, it’s something like that, but its not that bad. Imagine your work place, not everyone has a unique/direct desk-phone number. You’ve got the primary phone number and employees have extensions. Your extension could be 1001, and your peers Tom, Dick and Harry could have 1002, 1003, 1004, respectively. One important thing to note would be, your extension is not globally unique, some stranger in the next office could be having extension 1001, and many strangers in many parts of the world could be having the same extension number, but when you pair your company primary phone number with your extension (i.e. 212-777-3456 Ext: 1001) that’s unique, and nobody else anywhere in the world could have the same pair at the same time with you.
Similarly, most of the Internet users / devices usually belong to a private pool/group – For instance, your workplace, college etc. Since there is only few too many IP addresses, we give extensions to users. In Internet terms, this extension is known as a Private IP Address. Your organisation would have a unique IP address (often referred to as the Public IP Address), and users within the organisable would get their own Private IP Address. It all makes sense doesn't it? What is public to the Internet is called Public, and what is private to a group is called Private. There could be many users in others parts of the world using the same private IP address as your own, however, as in the phone/extension analogy, the Private and Public IP addresses together form a Unique pair.
How do you identify if you have a Private IP or Public IP address? Very simple. If you IP address starts with 10.x.x.x or (172.16.x.x up to 172.31.x.x) or 192.168.x.x then it means you have a Private address.
The Key phone systems / the PBX systems in your office remembers your desk and sends the calls which are for your extension, similarly, there are devices installed in your organisation/network which is commonly referred to as a Router, to take care of the Private IP, Public IP bridging.
So in its most basic form, NAT is simply the mechanism of taking a single unique public IP and sharing and managing the bridging/pairing with multiple clients/devices having private IPs.
While NAT sounds like a fascinating workaround to the IP address scarcity problem, it has its own limitations and problems. For a more advanced explanation on NAT and the problems related to it, specially in the context of VoIP, keep an eye on our knowledge base, we’ll have an article for all the geeks, coming soon!