Quick summary
When subnetting goes wrong, it is usually because of the same things: a wrong prefix, an incorrect block size, or confusion between network and broadcast. The good part is that these mistakes are quick to spot once you know what to check.
- A clear list of the mistakes that cost the most points.
- A way to detect each one in seconds.
- Mini examples and a final exam-style checklist.
The 7 most common subnetting mistakes
You do not need to memorize a hundred things. Avoid these seven and your accuracy improves dramatically.
1) Confusing “subnets” with “hosts”
If the problem asks for X subnets, you work with borrowed bits:
2^b ≥ X.
If it asks for Y hosts, you choose host bits:
2^h - 2 ≥ Y.
2) Choosing a longer prefix than necessary
Exercises and exams usually ask for the smallest prefix that meets the requirement. If you overshoot—for example /25 instead of /26—the subnet may technically work, but it is not the optimal answer.
3) Calculating the block size incorrectly
The block size is calculated in the interesting octet. If you apply it to the wrong octet, your network addresses shift and the subnets can overlap.
Block size = 256 - interesting_mask_octet4) Forgetting network and broadcast when counting hosts
In the classic learning model, usable hosts ≈ addresses - 2. If you forget that subtraction, you can end up two addresses short.
5) Getting network/broadcast wrong in the ranges
The pattern is always: network = start of the block, broadcast = end of the block, and usable hosts are +1 and -1.
6) Not checking whether the IP belongs to the subnet
If an exercise gives you an example IP and you assign a subnet, make sure that address actually falls inside the range. It is easy to build a neat-looking table and forget to validate membership.
7) Not checking whether all subnets fit inside the base network
The final broadcast must remain inside the base network. If it goes beyond it, your chosen prefix does not satisfy the problem.
How to spot a bad subnetting result in 30 seconds
- Write the prefix and convert it to a mask, or use your quick reference table.
- Identify the interesting octet and calculate the block size:
256 - octet. - Write two network addresses: the first and the second, adding the block size. If it already looks wrong, stop.
- Calculate broadcast:
network + block size - 1in the relevant octet. - Hosts:
+1and-1.
Mini examples to see the pattern
Quick example: divide 192.168.1.0/24 into 4 subnets.
- 4 subnets ⇒ 2 borrowed bits (2²=4) ⇒ new prefix /26
- /26 mask ⇒ 255.255.255.192 ⇒ block size = 256 - 192 = 64
- Network addresses: 0, 64, 128, 192
| Subnet | Network | First host | Last host | Broadcast |
|---|---|---|---|---|
| 1 | 192.168.1.0 | 192.168.1.1 | 192.168.1.62 | 192.168.1.63 |
| 2 | 192.168.1.64 | 192.168.1.65 | 192.168.1.126 | 192.168.1.127 |
Final exam-style checklist
- Does the problem ask for subnets or hosts?
- Is my prefix the smallest one that meets the requirement?
- Do I have the correct mask for that prefix?
- Did I calculate the block size in the right octet?
- Is broadcast = network + block size - 1?
- Are hosts = +1 and -1?
- Does the last subnet fit inside the base network?
Frequently asked questions
Why do we subtract 2 hosts?
Because of network and broadcast in the classic IPv4 learning model. Exams commonly expect this convention.
What is the most common mistake?
Calculating the block size incorrectly or applying it to the wrong octet. Once that happens, everything shifts.
Should I learn FLSM or VLSM first?
Start with FLSM to master prefix + block size + table, then move to VLSM for real planning.
Related articles and guides
Finish by practicing and verifying
Most errors come from the prefix and block size. If those two are right, network/broadcast and the host ranges follow naturally. Practice by hand and use the calculators as checkers.
