VLSM: subnet one network for wildly different host counts
You have a single /24 and four very different segments: a 100-host user LAN, a 50-host voice VLAN, a 10-host server segment, and a couple of point-to-point links. Carve it into equal subnets and you either run out of room or waste half your addresses. Variable Length Subnet Masking sizes each subnet to what it actually needs.
The one rule: largest first
Allocate from the biggest requirement down. For each segment, add 2 to the host count (network + broadcast), round up to the next power of two, pick the matching prefix, and carve it off the top of the remaining free space before you move to the next segment. Going smallest-first fragments the space and causes overlaps.
Worked example on 10.0.0.0/24
- →100 hosts -> /25 (126 usable) -> 10.0.0.0/25
- →50 hosts -> /26 (62 usable) -> 10.0.0.128/26
- →10 hosts -> /28 (14 usable) -> 10.0.0.192/28
- →Point-to-point -> /30 (2 usable) -> 10.0.0.208/30
Every block is right-sized and none overlap, with room to spare above the last /30. That is the whole point of VLSM.