Class A subnetting is not performed any differently than subnetting with Classes B and C, but there are 24 bits to play with instead of the 16 in a Class B address and the 8 in a Class C address.
Let’s start by listing all the Class A masks:
That’s it. You must leave at least 2 bits for defining hosts. And I hope you can see the pattern by now. Remember, we’re going to do this the same way as a Class B or C subnet. It’s just that, again, we simply have more host bits, and we use the same subnet numbers we used with Class B and Class C, but we start using these numbers in the second octet.
When you look at an IP address and a subnet mask, you must be able to distinguish the bits used for subnets from the bits used for determining hosts. This is imperative. If you’re still struggling with this concept, please reread Chapter 6, “Introduction to the Internet Protocol.” It shows you how to determine the difference between the subnet and host bits and should help clear things up.
Class A addresses use a default mask of 255.0.0.0, which leaves 22 bits for subnetting since you must leave 2 bits for host addressing. The 255.255.0.0 mask with a Class A address is using 8 subnet bits.
The following table shows the first two and last two subnets, valid host range, and broadcast addresses for the private Class A 10.0.0.0 network:
Subnet | 10.0.0.0 | 10.1.0.0 | … | 10.254.0.0 | 10.255.0.0 |
First host | 10.0.0.1 | 10.1.0.1 | … | 10.254.0.1 | 10.255.0.1 |
Last host | 10.0.255.254 | 10.1.255.254 | … | 10.254.255.254 | 10.255.255.254 |
Broadcast | 10.0.255.255 | 10.1.255.255 | … | 10.254.255.255 | 10.255.255.255 |
255.255.240.0 gives us 12 bits of subnetting and leaves us 12 bits for host addressing.
The following table shows some examples of the host ranges—the first three and the last subnets:
Subnet | 10.0.0.0 | 10.0.16.0 | 10.0.32.0 | … | 10.255.240.0 |
First host | 10.0.0.1 | 10.0.16.1 | 10.0.32.1 | … | 10.255.240.1 |
Last host | 10.0.15.254 | 10.0.31.254 | 10.0.47.254 | … | 10.255.255.254 |
Broadcast | 10.0.15.255 | 10.0.31.255 | 10.0.47.255 | … | 10.255.255.255 |
Let’s do one more example using the second, third, and fourth octets for subnetting.
The following table shows the first four subnets and their valid hosts and broadcast addresses in the Class A 255.255.255.192 mask:
Subnet | 10.0.0.0 | 10.0.0.64 | 10.0.0.128 | 10.0.0.192 |
First host | 10.0.0.1 | 10.0.0.65 | 10.0.0.129 | 10.0.0.193 |
Last host | 10.0.0.62 | 10.0.0.126 | 10.0.0.190 | 10.0.0.254 |
Broadcast | 10.0.0.63 | 10.0.0.127 | 10.0.0.191 | 10.0.0.255 |
The following table shows the last four subnets and their valid hosts and broadcast addresses:
Subnet | 10.255.255.0 | 10.255.255.64 | 10.255.255.128 | 10.255.255.192 |
First host | 10.255.255.1 | 10.255.255.65 | 10.255.255.129 | 10.255.255.193 |
Last host | 10.255.255.62 | 10.255.255.126 | 10.255.255.190 | 10.255.255.254 |
Broadcast | 10.255.255.63 | 10.255.255.127 | 10.255.255.191 | 10.255.255.255 |
This sounds hard, but as with Class C and Class B, the numbers are the same; we just start in the second octet. What makes this easy? You only need to worry about the octet that has the largest block size (typically called the interesting octet; one that is something other than 0 or 255)—for example, 255.255.240.0 (/20) with a Class A network. The second octet has a block size of 1, so any number listed in that octet is a subnet. The third octet is a 240 mask, which means we have a block size of 16 in the third octet. If your host ID is 10.20.80.30, what is your subnet, broadcast address, and valid host range?
The subnet in the second octet is 20 with a block size of 1, but the third octet is in block sizes of 16, so we’ll just count them out: 0, 16, 32, 48, 64, 80, 96 . . . voilà! (By the way, you can count by 16s by now, right?) This makes our subnet 10.20.80.0, with a broadcast of 10.20.95.255 because the next subnet is 10.20.96.0. The valid host range is 10.20.80.1 through 10.20.95.254. And yes, no lie! You really can do this in your head if you just get your block sizes nailed!
Okay, let’s practice on one more, just for fun!
Host IP: 10.1.3.65/23
First, you can’t answer this question if you don’t know what a /23 is. It’s 255.255.254.0. The interesting octet here is the third one: 256 – 254 = 2. Our subnets in the third octet are 0, 2, 4, 6, etc. The host in this question is in subnet 2.0, and the next subnet is 4.0, so that makes the broadcast address 3.255. And any address between 10.1.2.1 and 10.1.3.254 is considered a valid host.
Given a Class A network and the net bits identified (CIDR), complete the following table to identify the subnet mask and the number of host addresses possible for each mask.
Classful Address | Subnet Mask | Number of Hosts per Subnet (2x – 2) |
/16 | ||
/17 | ||
/18 | ||
/19 | ||
/20 | ||
/21 | ||
/22 | ||
/23 | ||
/24 | ||
/25 | ||
/26 | ||
/27 | ||
/28 | ||
/29 | ||
/30 |
Given the decimal IP address, write in the address class, number of subnet and host bits, number of subnets, and number of hosts for each IP address.
Decimal IP Address | Address Class | Number of Subnet and Host Bits | Number of Subnets (2x) | Number of Hosts (2x – 2) |
10.25.66.154/23 | ||||
172.31.254.12/24 | ||||
192.168.20.123/28 | ||||
63.24.89.21/18 | ||||
128.1.1.254/20 | ||||
208.100.54.209/30 |
Classful Address | Subnet Mask | Number of Hosts per Subnet (2x – 2) |
/16 | 255.255.0.0 | 65,534 |
/17 | 255.255.128.0 | 32,766 |
/18 | 255.255.192.0 | 16,382 |
/19 | 255.255.224.0 | 8,190 |
/20 | 255.255.240.0 | 4,094 |
/21 | 255.255.248.0 | 2,046 |
/22 | 255.255.252.0 | 1,022 |
/23 | 255.255.254.0 | 510 |
/24 | 255.255.255.0 | 254 |
/25 | 255.255.255.128 | 126 |
/26 | 255.255.255.192 | 62 |
/27 | 255.255.255.224 | 30 |
/28 | 255.255.255.240 | 14 |
/29 | 255.255.255.248 | 6 |
/30 | 255.255.255.252 | 2 |
Decimal IP Address | Address Class | Number of Subnet and Host Bits | Number of Subnets (2x) | Number of Hosts (2x – 2) |
10.25.66.154/23 | A | 15/9 | 32768 | 510 |
172.31.254.12/24 | B | 8/8 | 256 | 254 |
192.168.20.123/28 | C | 4/4 | 16 | 14 |
63.24.89.21/18 | A | 10/14 | 1,024 | 16,382 |
128.1.1.254/20 | B | 4/12 | 16 | 4094 |
208.100.54.209/30 | C | 6/2 | 64 | 2 |