Tuesday, 18 August 2015

Network Basics: Public, Private, and Automatic IP Addresses

Private addressing and Automatic or Dyanmic addressing were developed in response to a dwindling number of available public addresses. To resolve the issue, in 1996, IANA and IETF came up with private addressing, which allows organizations to use a large address space internally on their network while using only a few public addresses, rather than using only public addresses.
For this to happen, IANA requires that some public addresses be removed from the global pool. These addresses were either pulled back or voluntarily surrendered by address holders. The addresses available for usage include 1 Class A network, 16 Class B networks, and 255 Class C networks, which are summarized in the table below. These addresses are now widely used by all organizations on the Internet.
These addresses and others can be found in RFC5735, Special Use IPv4 Addresses.
Private IP Address Ranges
Address Class
Address Range
Class A
10.0.0.0–10.255.255.255
Class B
172.16.0.0–172.31.255.255
Class C
192.168.0.0–192.168.255.255
Private addresses are not allowed to be routed out to the Internet, so devices using private addresses cannot communicate directly with devices on the Internet. To make private IP addressing functional and resolve this issue, at least one public address is required, which will be used with Network Address Translation (NAT) or Port Address Translation (PAT). So a company using private addresses internally still requires at least one address to connect their private network with the Internet.
Microsoft took a leading role in defining RFC3927 Dynamic Configuration of IPv4 Link-Local Addresses. This defines the process that computers should take in situations where there are no other methods of applying dynamic IP address assignments. This process was created to deal with situations where you do not want to — or cannot — manually assign static IP addresses and there is no Dynamic Host Configuration Protocol (DHCP) server on your network to automatically assign addresses.
The solution was to use another IP address range — in this case, a Class B network of 169.254.0.0 — to let IP hosts choose their own address. In this range, there are approximately 65,000 addresses from which the IP host can choose, so the basic process for the host is as follows:
1.    Randomly choose an address from the range 169.254.0.1–169.254.255.254.
2.    Send an Address Resolution Protocol (ARP) request for the MAC address that has the chosen address to eliminate the chance of duplicate IP address conflicts.
If no response is received to the ARP request, no other computer is using that IP address so the host can start using the IP address chosen in Step 1.

The preceding steps outline the Automatic Private IP Addressing (APIPA) process. When two or more computers on the same data link support the use of, and are configured to use, APIPA, these hosts can communicate with each other. This process was created to simplify ad hoc (or temporary) networks in which TCP/IP is the primary networking protocol because APIPA eliminates the need to manually assign addresses to hosts.