Any networked device (computer, server, printer, router etc), needs an IP address to communicate either on the Internet or on its local area network (LAN). Especially for internet communication, this IP address has to be unique, in order to avoid address conflicts. The IP address that is used by a device to communicate on the Internet is called “Public” address, and it is registered with the Internet Network Information Centre (InterNIC) which takes care of the uniqueness factor. We could have only “Public” IP addresses assigned to all network devices, but this is not possible since the current IP address range (32-bit addresses for IPv4) is not enough to cover all network nodes. Therefore, the Internet network community (IETF etc) has established three “Private” address ranges, which can be given to network devices that belong to a local private network which does not connect directly to the Internet cloud.
These “Private” address ranges are the following:
- From 10.0.0.0 to 10.255.255.255
- From 172.16.0.0 to 172.31.255.255
- From 192.168.0.0 to 192.168.255.255
Now, the most common practice today for Network engineers is to assign private IP addresses to devices in their private Local networks, and use Network Address Translation (NAT) if a device needs to access the Internet. The purpose of NAT is to translate the source private IP address of the network device into a public IP address in order to communicate with another host on the Internet. Since NAT allows many-to-one IP translation, you can have many private IP addresses translated to a single public address, thus saving address space.