Since there are literally millions of IP addresses available, the IETF originally designated what are known as classes of IP addresses. The purpose of these classes was to break up the IP address space into ranges that accounted for networks of different sizes. The term “classful” is used to describe addresses that are looked at according to their class. In reality, the world of IP addressing has changed such that classes of addresses are much less important than they used to be – later in the chapter, we’ll take a look at classless addressing, including how and why it came about.
You’ll definitely need to be familiar with classful addressing, since it forms the basis upon which IP addresses were originally defined, and is still a factor with routing protocols such as RIP version 1 and IGRP. Five different classes of addresses exist, and are distinguished according to the values found in their first octet. The table below outlines each of the five ranges.
|Class||First Octet Decimal Value||Network and Host Portions||Hosts Supported Per Network||Details|
|A||0-126||N.H.H.H||16,777,214||Intended for the largest networks only|
|B||128-191||N.N.H.H||65,534||Intended for medium sized organizations|
|C||192-223||N.N.N.H||254||Intended for small organizations|
|D||224-239||N/A||N/A||Reserved range used for multicasting|
The value of the first octet of an IP address holds the immediate answer to the class an address falls into. Notice that Class A addresses always begin with a value between 0 and 126. As such, the address 18.104.22.168 can safely be identified as Class A. From the table above, you should also note that in a Class A address, the first octet uniquely identifies the network (designated by the “N”), while the last three octets uniquely identify a host (designated by the “H”) on that network. Only Class A, B, and C addresses are valid to assign to hosts. Class D addresses are used to support multicasting, while Class E addresses are reserved for experimental use.
You may have noticed that the first octet value of 127 is missing from the table above. What is the reason for this? The 127 range is actually reserved for diagnostic functions – for example, the address 127.0.0.1 is the loopback address. Ping that address, and you’re actually testing the TCP/IP connectivity of the source machine.