Internet IP vs NAT (Local) IP

I think there is a great deal of confusion over what IP address you have and how it is used.

Firstly, it is important to understand that there are only so many IP addresses in the world. To truly understand why, you need to understand binary vs. decimal. Binary numbers are simple: 0 and 1. Decimal, however, is 0,1,2,3,4,5,6,7,8,9.

I won't go into too much detail, but an IP address is a decimal representation of your binary address.

The IP address 0.0.0.0 (decimal) = 00000000.00000000.00000000.00000000 (binary)

The IP address 255.255.255.255 (decimal) = 11111111.11111111.11111111.11111111 (binary)

Even with subnetting, considering there are millions of computers in the world, assigning 1 IP address to every computer and device connected to the Internet in the world will be impossible, we will simply run out!

So, the simple resolution to this is a method called "Network Address Translation", or "NAT".

Think of NAT as a phone extension. Your office phone may only have one phone number, but many phones that have extensions. The default phone, your receptionist, answers general requests, and this is what your Router does.

Depending on the request, your router then forwards the request to the appropriate local machine, using it's local NAT IP address.

Now, you may be wondering if your IP address is a NAT (local) IP, or an external (Internet) IP, an easy way to find out is to look at this:

Private IP Address Reservation
10.0.0.0 to 10.255.255.255 - Class A
172.16.0.0 to 172.31.255.255 - Class B
192.168.0.0 to 192.168.255.255 - Class C

If your IP is in that range, it is likely a private NAT IP. These ranges of IP addresses are excluded from being available to Internet Service Providers, or "ISPs".