Each node's address is actually a 32-bit binary number (like 11000000 10101000 00000001 00010100). For convenience, this is broken into four 8-bit fields called octets. Most modern TCP/IP products represents these binary octets with their decimal equivalents (192.168.1.20 in this case). This makes life much easier for us humans. Although computers have no trouble dealing with 32-bit binary strings, humans typically do not work with them well.
The four octets do not signify anything to the underlying TCP/IP stack, as it uses the 32-bit binary number exclusively. However, almost all networks use the octet breaks as natural dividing points to split the addresses into networks and nodes. Figure B.2 below shows the most common breakdowns of the 32-bit addresses.
Some sites have one very large network with millions of nodes. They would use the first octet of the address to identify the network, and the remaining three octets would be used to identify the individual workstations. This is known as a "Class A" address. The most common users of Class A addresses are network service providers, who maintain extremely large and flat networks with millions of end-points.
Another site may have thousands of nodes, split across many networks. They would use a "Class B" address, where the first two octets are used to identify the network, and the remaining two octets are used to identify the individual nodes. Universities and large organizations are the most common users of Class B addresses.
Finally, the most common address is the "Class C" address, where the first three octets are used to identify the segment, and the last octet is used to identify the workstations. These are good for sites that only have a few dozen nodes, although they may have many such networks. Class C addresses are the most common, since most networks are incapable of handling more than 250 devices, and even then most networks only average around forty nodes per network segment anyway.
The underlying TCP/IP stack doesn't care about all these octets however, as they only look at the 32-bit binary number. However, the routers on the Internet must understand how the networks are being broken up in order to successfully route packets between the various types of networks in use. The stack achieves this by examining the bit-pattern, and then makes routing decisions accordingly.
Class A addresses are identified by the first bit in the 32-bit address being set to "0". Since Class A networks only use the first 8 bits for the network number, this leaves only 7 bits for the network portion of the address. Since there are only 7 available bits, there can only be 128 possible networks. Network numbers 000 and 127 are reserved for use, so there are really only 126 possible networks (001 through 126). However there are 24 bits available for identifying nodes, for a maximum of 16,777,124 possible hosts for each network.
Class B addresses are identified by having the first two bits set to "0". Since they use the first two octets to identify the network, this leaves 14 bits to identify each network segment. Thus, there are a possible 16,384 Class B addresses, ranging from 128.1 to 191.254 (000 and 255 are reserved).
Class C addresses are identified by having the first three bits in the first octet set to "0". Class C addresses use the first three octets to identify the network, so there are 21 bits available. The possible network numbers range from 192.1.1 through 254.254.254, for a grand total of 2,097,152 possible networks. However, since there is only one octet left to identify the nodes, there can only be 254 possible devices on each segment (256, minus addresses 000 and 255).
For more information on address availability, refer to section B.3.2 Addressing Limitations and section B.3.3 Internet-Legal versus Private Addressing. For information on how to allocate addresses, refer to section B.3.4 Sub-Net Masks.
Copyright © 1997, Unoverica Corporation. All rights reserved. Unauthorized use prohibited.
Send comments to docs@unoverica.com