IP Address Class A, B, and C Network and Host Capacities
In the preceding topics I introduced the concepts of IP address classes and showed how the classes related to ranges of IP addresses. Of the five classes, D and E are dedicated to special purposes, so I will leave those alone for now. Classes A, B and C are the ones actually assigned for normal (unicast) addressing purposes on IP internetworks, and therefore the primary focus of our continued attention.
As we've seen, they differ in the number of bits (and octets) used for the network ID compared to the host ID. The number of different networks possible in each class is a function of the number of bits assigned to the network ID, and likewise, the number of hosts possible in each network depends on the number of bits provided for the host ID. We must also take into account the fact that one, two or three of the bits in the IP address is used to indicate the class itself, so it is effectively "excluded" from use in determining the number of networks (though again, it is still part of the network ID).
Based on this information, we can calculate the number of networks in each class, and for each class, the number of host IDs per network. Table 45 shows the calculations.
IP Address Class | Total # Of Bits For Network ID / Host ID | First Octet of IP Address | # Of Network ID Bits Used To Identify Class | Usable # Of Network ID Bits | Number of Possible Network IDs | # Of Host IDs Per Network ID |
Class A | 8 / 24 | 0xxx xxxx | 1 | 8-1 = 7 | 27-2 = 126 | 224-2 = 16,277,214 |
Class B | 16 / 16 | 10xx xxxx | 2 | 16-2 = 14 | 214 = 16,384 | 216-2 = 65,534 |
Class C | 24 / 8 | 110x xxxx | 3 | 24-3 = 21 | 221 = 2,097,152 | 28-2 = 254 |
Let's walk through one line of this table so we can see how it works. I'll stick with class B since it's "in the middle". The basic division is into 16 bits for network ID and 16 bits for host ID. However, the first two bits of all class B addresses must be "10”, so that leaves only 14 bits to uniquely identify the network ID. This gives us a total of 214 or 16,384 class B network IDs. For each of these, we have 216 host IDs, less two, for a total of 65,534.
Why less two? For each network ID, two host IDs cannot be used: the host ID with all zeroes and the ID with all ones. These are addresses with "special meanings" as described in the topic that follows. You will also notice that 2 has been subtracted from the number of network IDs for class A. This is because two of the class A network IDs (0 and 127) are reserved. There are actually several other address ranges that are set aside in all three of the classes that I haven't shown here. They are listed in the topic on reserved, private and loopback addresses. (The exclusion of 0 and 127 from class A is probably the best-known address range reservation which is why I am explicit with that one in the table above.)
Key Concept: In the “classful” IP addressing scheme, a Class A network contains addresses for about 16 million network interfaces; a Class B about 65,000; and a Class C, 254.
As you can see, there is quite a disparity in the number of hosts available for each network in each of these classes. What happens if an organization needs 1,000 IP addresses? They have to either use four class Cs or use one class B (and in so doing waste over 90% of the possible addresses in the class B network.) Bear in mind that there are only about 16,000 class B network IDs available worldwide and you begin to understand one of the big problems with "classful" addressing.
Friday, August 21, 2009 | 0 Comments