Split a network into equal-sized fixed-length subnets and list each subnet's address range.
FLSM (Fixed-Length Subnet Masking) divides a network into equal-sized subnets by borrowing enough bits from the host portion to create the requested number of subnets. All subnets get the same prefix length and the same number of host addresses, which simplifies routing but may waste addresses if subnet sizes vary.
Bits to borrow
bits = ceil(log2(subnet_count))
New prefix
new_prefix = original_prefix + bits_borrowed
FLSM creates equal-sized subnets (all get the same prefix length), while VLSM allows variable-sized subnets tailored to each segment's actual host count — VLSM wastes fewer addresses but requires a routing protocol that supports classless addressing.
Subnet counts must be powers of 2 (since you borrow whole bits). Requesting 5 subnets requires borrowing 3 bits, creating 8 subnets — the next power of 2 at or above the requested number.