Each IP address is made of two parts in such a way that the netid defines a network and the hostid identifies a host on that network. An IP address is usually written as four decimal integers separated by decimal points i.e. 18.104.22.168.
If this IP address changes from decimal-point notation to binary form, it becomes 11101111 11110111 10000111 01011101. Thus, we see that each integer gives the value of one octet (byte) of the IP address.
IP addresses are divided into five different classes: A, B, C, D and E. Classes A, B and C differ in the number of hosts allowed per network. Class D is used for multicasting and class E is reserved for future use. Table 2.3 shows the number of networks and hosts in five different IP address classes.
Note that the binary numbers in brackets denote class prefixes. The relationship between IP address classes and dotted decimal numbers is summarised in Table 2.4, which shows the range of values for each class.
The use of leading bits as class prefixes means that the class of a computer’s network can be determined by the numerical value of its address. A number of IP addresses have specific meanings. The address 0.0.0.0 is reserved and 22.214.171.124 is left unused.
Addresses in the range 10.0.0.0 through to 10.255.255.255 are available for use in private intranets. Addresses in the range 240.0.0.0 through to 255.255.255.255 are class E addresses and are reserved for future use when new protocols are developed.
Address 255.255.255.255 is the broadcast address, used to reach all systems on a local link. Although the multicast address of class D may extend from 126.96.36.199 to 188.8.131.52, address 184.108.40.206 is never used and 220.127.116.11 is assigned to the permanent group of all IP hosts, including gateways.
A packet addressed to 18.104.22.168 will reach all multicast hosts on the directly connected network. In addition, a hostid of 255 specifies all systems within a given subnet, and a subnetid of 255 specifies all subnets within a network. When an IP address is given, the address class can be determined. Once the address class is determined, it is easy to extract the netid and hostid.
To begin with, a class A network can contain 16 777 214 host identifiers (hostids). These are too many identifiers to configure and manage as an address space. Many of these hosts are likely to reside on various locally administered LANs, with different media and data-link protocols, different access needs and, in all likelihood, different geographical locations.
In fact, the IP addressing scheme has no way to reflect these subdivisions within a large organisation WAN. In addition, class A, B and C network identifiers (netids) are a limited and scarce resource, whose use under the class addressing scheme was often in efficient.
In reality, many medium-sized organisations found class C hostids to be too small, containing fewer than 256 hosts. On the other hand, they often requested class B identifiers despite having far fewer than 65 534 hostids. As a result, many of the (netid, hostid) pairs were allocated but unused, being superfluous to the network owner and unusable by other organisations.