Primary Address Classes
In order to provide the flexibility required to support different size networks, the designers decided that the IP address space should be divided into three different address classes - Class A, Class B, and Class C. This is often referred to as "classful" addressing because the address space is split into three predefined classes, groupings, or categories. Each class fixes the boundary between the network-prefix and the host-number at a different point within the 32-bit address. The formats of the fundamental address classes are illustrated in Figure 4.
Figure 4: Principle Classful IP Address Formats
One of the fundamental features of classful IP addressing is that each address contains a self-encoding key that identifies the dividing point between the network-prefix and the host-number. For example, if the first two bits of an IP address are 1-0, the dividing point falls between the 15th and 16th bits. This simplified the routing system during the early years of the Internet because the original routing protocols did not supply a "deciphering key" or "mask" with each route to identify the length of the network-prefix.
Class A Networks (/8 Prefixes)
Each Class A network address has an 8-bit network-prefix with the highest order bit
set to 0 and a seven-bit network number, followed by a 24-bit host-number. Today,
it is no longer considered 'modern' to refer to a Class A network. Class A
networks are now referred to as "/8s" (pronounced "slash eight" or just "eights")
since they have an 8-bit network-prefix.
A maximum of 126 (2 7 -2) /8 networks can be defined. The calculation requires that the 2 is subtracted because the /8 network 0.0.0.0 is reserved for use as the default route and the /8 network 127.0.0.0 (also written 127/8 or 127.0.0.0/8) has been reserved for the "loopback" function. Each /8 supports a maximum of 16,777,214 (2 24 -2) hosts per network. The host calculation requires that 2 is subtracted because the all-0s ("this network") and all-1s ("broadcast") host-numbers may not be assigned to individual hosts.
Since the /8 address block contains 2 31 (2,147,483,648 ) individual addresses and the IPv4 address space contains a maximum of 2 32 (4,294,967,296) addresses, the /8 address space is 50% of the total IPv4 unicast address space.
Class B Networks (/16 Prefixes)
Each Class B network address has a 16-bit network-prefix with the two highest order
bits set to 1-0 and a 14-bit network number, followed by a 16-bit host-number.
Class B networks are now referred to as"/16s" since they have a 16-bit network-prefix.
A maximum of 16,384 (2 14 ) /16 networks can be defined with up to 65,534 (2 16 -2) hosts per network. Since the entire /16 address block contains 2 30 (1,073,741,824) addresses, it represents 25% of the total IPv4 unicast address space.
Class C Networks (/24 Prefixes)
Each Class C network address has a 24-bit network-prefix with the three highest order
bits set to 1-1-0 and a 21-bit network number, followed by an 8-bit host-number.
Class C networks are now referred to as "/24s" since they have a 24-bit network-prefix.
A maximum of 2,097,152 (2 21 ) /24 networks can be defined with up to 254 (2 8 -2) hosts per network. Since the entire /24 address block contains 2 29 (536,870,912) addresses, it represents 12.5% (or 1/8th) of the total IPv4 unicast address space.
Other Classes
In addition to the three most popular classes, there are two additional classes.
Class D addresses have their leading four-bits set to 1-1-1-0 and are used to support
IP Multicasting. Class E addresses have their leading four-bits set to 1-1-1-1
and are reserved for experimental use.