| • Science | • People | • Locations | • Timeline |
Originally, the 32-bit IPv4 address consisted simply of an 8-bit network number field (which specified the particular network a host was attached to), and a rest field, which gave the address of the host within that network. (This format was picked before the advent of local area networks (LANs), when there were only a few, large, networks, such as the ARPANET.)
This resulted in a very low count (256) of network numbers being available, and very early on, as LANs started to appear, it became obvious that that would not be enough.
As a kluge, the definition of the meaning of IP addresses was changed, to allow three different sizes of network number field (and associated rest fields), as specified in the table below (in bits):
| Class | Leading bits | Network number | Rest |
|---|---|---|---|
| Class A | 0 | 7 | 24 |
| Class B | 10 | 14 | 16 |
| Class C | 110 | 21 | 8 |
| Class D ( multicast) | 1110 | ||
| Class E (reserved) | 1111 |
which allowed the following population of network numbers (note that the actual numbers are slighlty smaller, as some values - e.g. all zeros - are not allowed):
| Class | Leading bits | Total # of network numbers | # of addresses per network |
|---|---|---|---|
| Class A | 0 | 128 | 16,777,214 |
| Class B | 10 | 16,384 | 65,534 |
| Class C | 110 | 2,097,152 | 256 |
The larger network number fields allowed a larger number of networks, thereby temporarily allowing the continued growth of the Internet.
The IP address netmask, which is so commonly associated with an IP address today, was not required, as the mask length was purely a function of the IP address. Any network device could inspect the first few bits of a 32 bit IP address to see which class it belonged to.
The method of determining whether one address belongs to the same physical network as another IP address worked as it had originally (but see subnet). For each address, the portion of the address which contained the network number was determined, and the contents of the rest part of the address was ignored. If the network numbers matched, the two addresses were on the same network.
This first round of changes was not enough to work in the long run, however; an IP address shortage still developed. The principal problem was that most sites were too big for a "class C" network number, and received a "class B" number instead. With the rapid growth of the Internet, the available pool of class B addresses (basically 2^14, or about 16,000 total) was rapidly being depleted. Classful networking was replaced by Classless Inter-Domain Routing, starting in about 1993, to solve this problem (and others).
Early allocations of IP addresses by IANA were in some cases not made very efficiently, which contributed to the problem. (However, the commonly-held notion that some organizations unfairly or unnecessarily received class A networks is a canard; most such allocations date to the period before the introduction of address classes, when the only thing available was what later became known as "class A" network numbers.)
The address ranges used for each class are given in the following table, in the standard dotted decimal notation.
| Class | Leading bits | Start | End |
|---|---|---|---|
| Class A | 0 | 0.0.0.0 | 127.255.255.255 |
| Class B | 10 | 128.0.0.0 | 191.255.255.255 |
| Class C | 110 | 192.0.0.0 | 223.255.255.255 |
| Class D ( multicast) | 1110 | 224.0.0.0 | 239.255.255.255 |
| Class E (reserved) | 1111 | 240.0.0.0 | 255.255.255.255 |
Some addresses are reserved for special usesPrivate IP address space has been allocated via RFC 1918 . This means the addresses are available for any use by anyone and therefore the same private IP addresses can be reused. However they are defined as not routeable on the public Internet. They are u.
| Addresses | Purpose | Class | Total # of addresses |
|---|---|---|---|
| 0.0.0.0 - 0.255.255.254 | Zero Addresses | A | 16,777,214 |
| 10.0.0.0 - 10.255.255.254 | private IP addressPrivate IP address space has been allocated via RFC 1918 . This means the addresses are available for any use by anyone and therefore the same private IP addresses can be reused. However they are defined as not routeable on the public Internet. They are u | A | 16,777,214 |
| 127.0.0.0 - 127.255.255.254 | localhost | A | 16,777,214 |
| 169.254.0.0 - 169.254.255.254 | APIPAAutomatic Private IP Addressing APIPA is the Microsoft Windows term for fallback to the "link local" addresses as prescribed in RFC 3330. It provides a recovery capability for DHCP clients that can neither contact nor obtain addresses from their designate | B | 65,534 |
| 172.16.0.0 - 172.31.255.254 | private IP addressPrivate IP address space has been allocated via RFC 1918 . This means the addresses are available for any use by anyone and therefore the same private IP addresses can be reused. However they are defined as not routeable on the public Internet. They are u | B | 1,048,574 |
| 192.168.0.0 - 192.168.255.254 | private IP addressPrivate IP address space has been allocated via RFC 1918 . This means the addresses are available for any use by anyone and therefore the same private IP addresses can be reused. However they are defined as not routeable on the public Internet. They are u | C | 65,534 |