Fixed-Length Subnet Masking (FLSM) is the subnetting method where a network is divided into equal-sized subnets — every subnet uses the same subnet mask and therefore holds the same number of addresses. It’s the first subnetting technique most networking students learn, and it’s the natural starting point before moving on to Variable-Length Subnet Masking (VLSM), which allows subnets of different sizes.
This guide explains how FLSM works, walks through a complete worked example step by step, and is honest about FLSM’s main drawback: because every subnet is the same size, it can waste a significant number of addresses when your real-world host requirements vary.
What FLSM is (and a common misconception)
In FLSM, you decide how many subnets you need, borrow a fixed number of host bits to create them, and apply that same mask to every subnet. The result is uniform: if one subnet is a /26, they all are.
One point that’s often muddled: FLSM is sometimes described loosely as “classful subnetting,” but the two aren’t the same thing. Classful addressing refers to the old Class A/B/C boundaries (/8, /16, /24). FLSM simply means equal-sized subnets, and it works perfectly well on a classless (CIDR) allocation — as our example below demonstrates, using a /23 block that isn’t on a classful boundary at all. Keep the two ideas separate: FLSM is about equal size, not about address classes.
Worked example: subnetting 130.10.0.0/23 into 8 subnets
Let’s divide the network 130.10.0.0/23 into 8 equal subnets.
Step 1 — Count the host bits available
A /23 mask leaves 32 − 23 = 9 host bits, which is 2⁹ = 512 total addresses in the block (spanning 130.10.0.0 through 130.10.1.255).
Step 2 — Borrow bits to create the subnets
To create 8 subnets, we need 2ⁿ ≥ 8, so n = 3 borrowed bits (2³ = 8). Borrowing 3 host bits extends the mask from /23 to /26.
Step 3 — Work out the new subnet size
A /26 leaves 32 − 26 = 6 host bits, giving 2⁶ = 64 addresses per subnet. Subtract the network and broadcast addresses, and each subnet has 62 usable hosts.
Step 4 — Find the subnet increment
With 64 addresses per subnet, each new subnet starts 64 addresses after the previous one. So the subnets increment in steps of 64: 0, 64, 128, 192 — and then roll over into the next octet (130.10.1.0, .64, .128, .192).
Step 5 — List the subnets
| Subnet | Network address | First usable | Last usable | Broadcast |
|---|---|---|---|---|
| Net-0 | 130.10.0.0/26 | 130.10.0.1 | 130.10.0.62 | 130.10.0.63 |
| Net-1 | 130.10.0.64/26 | 130.10.0.65 | 130.10.0.126 | 130.10.0.127 |
| Net-2 | 130.10.0.128/26 | 130.10.0.129 | 130.10.0.190 | 130.10.0.191 |
| Net-3 | 130.10.0.192/26 | 130.10.0.193 | 130.10.0.254 | 130.10.0.255 |
| Net-4 | 130.10.1.0/26 | 130.10.1.1 | 130.10.1.62 | 130.10.1.63 |
| Net-5 | 130.10.1.64/26 | 130.10.1.65 | 130.10.1.126 | 130.10.1.127 |
| Net-6 | 130.10.1.128/26 | 130.10.1.129 | 130.10.1.190 | 130.10.1.191 |
| Net-7 | 130.10.1.192/26 | 130.10.1.193 | 130.10.1.254 | 130.10.1.255 |
Notice how Net-3 ends at 130.10.0.255 and Net-4 continues at 130.10.1.0 — the /23 block spans both the 130.10.0.x and 130.10.1.x ranges, and the subnets flow continuously across that boundary.
The subnet mask
For all eight subnets, the /26 mask in dotted decimal is 255.255.255.192. (The last octet, 192, is 11000000 in binary — the two borrowed bits from the fourth octet, on top of the /24 boundary.)
The main drawback of FLSM: wasted addresses
FLSM is simple and easy to manage, but its equal-size rule is also its biggest weakness. Because every subnet must be the same size, each one is sized for whatever it can hold — not for what it actually needs. When your host requirements vary, the smaller networks waste most of their addresses.
Here’s a concrete illustration. Suppose the eight /26 subnets above are assigned to networks with these host requirements:
| Subnet | Required hosts | Usable (/26) | Wasted addresses |
|---|---|---|---|
| LAN1 | 50 | 62 | 12 |
| LAN2 | 30 | 62 | 32 |
| LAN3 | 20 | 62 | 42 |
| LAN4 | 10 | 62 | 52 |
| WAN link | 2 | 62 | 60 |
Add up the waste across just these five subnets: 12 + 32 + 42 + 52 + 60 = 198 wasted usable addresses. The WAN link is the worst case — a point-to-point link needs only 2 usable addresses, but FLSM forces it into a full /26, wasting 60. Out of the 310 usable addresses allocated to these five subnets (5 × 62), only 112 are actually used.
This is exactly the problem VLSM (Variable-Length Subnet Masking) solves: with VLSM you’d give LAN1 a /26 (62 hosts), progressively smaller masks to the smaller LANs, and a /30 to the WAN link (2 usable hosts) — matching each subnet’s size to its real requirement and reclaiming almost all of that waste.
FLSM vs. VLSM at a glance
| FLSM | VLSM | |
|---|---|---|
| Subnet size | All equal | Varies per subnet |
| Address efficiency | Lower (wastes space when needs differ) | Higher (sized to need) |
| Complexity | Simpler to plan and manage | More complex to design |
| Best for | Uniform networks; learning subnetting | Real networks with varied host counts |
When to use FLSM
FLSM makes sense when your subnets genuinely need roughly the same number of hosts, or when simplicity and consistency matter more than squeezing out every address — for example, a lab, a teaching environment, or a network where uniform subnet sizes make management easier. For most production networks with a mix of large LANs and tiny point-to-point links, VLSM is the more efficient choice.
Either way, understanding FLSM first is essential: the borrow-bits-and-increment method you’ve just walked through is the foundation that VLSM builds on.
Key takeaways
- FLSM = equal-sized subnets, all sharing one subnet mask.
- FLSM is about equal size, not the same thing as classful addressing — it works on CIDR blocks too.
- To create N subnets, borrow enough bits that 2ⁿ ≥ N; the mask lengthens accordingly.
- In our example, 130.10.0.0/23 → eight /26 subnets, 62 usable hosts each, incrementing by 64.
- FLSM’s weakness is wasted addresses when host requirements vary — the case for learning VLSM next.
This tutorial covers standard IPv4 subnetting concepts. Always verify subnet plans against your specific addressing requirements before deploying them.