Computers communicating using Internet Protocol (IP) send datagrams. IP datagram contain a source IP address, and a destination IP address. However, an IP datagram does not contain any network subnet mask information, thus it is difficult to know which groups of computers (hosts) formed a network.
- Source Address
- The IP address of the host that sent the datagram (sender).
- Destination Address
- The IP address of the host the datagram is being sent to (receiver).
- Subnet Mask
- A piece of information stored on the local host that allows it to determine whether a remote host is part of the local network, or is part of a different outside network.
During the process of delivering (routing) an IP datagram, only the destination IP address is significant. In classful addressing information about the host's location and the network it is located on is assumed to be encoded into the IP address within the datagram. There aren't any fields provided in an IP datagram to inform the receiver where the network portion of the IP address leaves off and where the host portion of the IP address begins. (See IPv4 Addressing section for more information).
WHAT IS A CLASS?
Classful addressing divides the entire IP address space (0.0.0.0 to 255.255.255.255) into 'classes', or special ranges of contiguous IP addresses (no addresses missing between the first and last address in the range). Classful addressing makes it posible to determine the network portion of the IP address by looking at the first four bits of the first octet in the IP address. The first four bits are referred to as the 'most significant bits' of the first octet and are used to determin what class of IP address is being used. The value of the first four bits determines the range of actual numerical values of the first octet of the IP addresses in that class. From this information, a receiving host can determine which part of the IP address is being used to identify the specific network on which the host resides, and which portion of the IP address is used to identify the host.
The different classes of IP addresses (Class A, Class B, Class C, Class D & Class E) were created to allow for carving up the entire set of all IP addresses into chunks of different sizes that would 'fit' the number of hosts on the network for which the IP address space was being supplied. The chart below gives you a breakdown of how the Classful system breaks up the IP address space.
First Octet | IP Address Characteristics | ||||
Most Significant BITS |
Value |
Addr. Class |
Network vs. Host |
# NETWORKS | # HOSTS |
0000 | 0-126 | A | N.h.h.h | 127 | 16,777,214 |
-- | 127 | - | - | Special - Local Loopback | |
1000 | 128-191 | B | N.N.h.h | 65,536 | 65,534 |
1100 | 192-223 | C | N.N.N.h | 16,777,216 | 254 |
1110 | 224 - 239 | D | Special | N/A | N/A |
1111 | 240 + | E | Special | N/A | N/A |
It is possible to waste IP addresses by assigning blocks of IP addresses which fall along octet boundaries (the dots between the numbers in the decimal representation of the IP address). Most often a class C address was supplied to anyone requesting space, as few networks had more than 256 hosts. But the networks grew to more than 256 hosts, and needed more space, so Class B addresses were given out. But if a network has only 500 hosts, and you assign a class B IP address block to that network, 65,034 addresses will go unused. This is a terribly inefficient use of space, and as networks grew larger the Internet grew; the need to use the IP address space more and more efficiently became ever more critical.
One solution that was created for reduce utilization of IP addresses was Network Address Translation. This involved the use of private IP addresses and a device that translates private IP addresses into public IP addresses.
As the list of available IP addresses was depleted it became clear that a new solution was needed that provided more addresses and efforts turned towards developing what is called IP v6.