Subnetting Without Math: The Block-Size Trick
The block size
Find the octet where the mask stops being 255 or 0. The block size is 256 minus that octet of the mask. For /26 the mask is 255.255.255.192; the interesting octet is the last one; the block size is 256 - 192 = 64. Subnets start at multiples of the block size: .0, .64, .128, .192.
To place a host, find the largest multiple not above its octet. 10.0.0.140/26: multiples are 0, 64, 128, 192; 128 is the largest not above 140. So:
| Piece | Value |
|---|---|
| Network | 10.0.0.128 |
| Broadcast | 10.0.0.191 (next multiple minus 1) |
| Usable | 10.0.0.129 to 10.0.0.190 |
Check it with the calculator: it prints the same range.
Sizing for N hosts
Find the smallest row in the cheat sheet whose usable count is at least N. For 50 hosts that is /26 (62 usable). /27 holds 30 and /25 wastes 76 addresses.
The octet changes: /20 and /22
For masks that stop in the third octet the same rule applies one octet up. /22 is 255.255.252.0: block size 256 - 252 = 4 in the third octet, so networks are x.x.0.0, x.x.4.0, x.x.8.0, and each spans four of the third octet (10.0.4.0/22 ends at 10.0.7.255). A common mistake is to assume the range ends at .255 of the same third octet.
Host bits set
10.0.1.100/25 is an address inside the block 10.0.1.0/25, not a network address. The calculator warns about this because several cloud consoles accept the string and quietly treat it as the network.
Cloud reservations
AWS, Google Cloud and Azure each reserve addresses in every subnet beyond the network and broadcast addresses, so the usable count in the console is lower than the table says (AWS reserves five in total per subnet, for example). Plan capacity against your provider's documentation.