Premium apps Part of Signalhouse
Signalhouse Subnet Planner (VLSM, CIDR aggregation, IPv4/IPv6)
Subnet calculator, VLSM planner, CIDR aggregation and exclusion for IPv4 and IPv6.
Try an example: Classic VLSM: 192.168.1.0/24 for 100, 50, 25 and 10 hosts plus two router links · RFC 4632 section 6.1: aggregate the six customer blocks C1–C6 · RFC 4632 section 6.1: delegate C1–C6 from 10.24.0.0/13 in arrival order · Exclude 10.1.0.0/16 from 10.0.0.0/8 · IPv6 details: 2001:0db8:0000:0000:0000:ff00:0042:8329/64 · Split 2001:db8:abcd::/48 into 4 site prefixes · Address range 192.168.0.10 – 192.168.0.200 as CIDR blocks
How it works
Plans address space the way network engineers do it: details of any address or prefix (network, usable range, broadcast, RFC 5952 canonical IPv6 form, special-purpose range), equal splits by subnet count or hosts, VLSM allocation for a list of host requirements, aggregation of prefix lists into the minimal CIDR set and a summary route (RFC 4632), a block minus excluded prefixes, and address ranges as CIDR blocks. It is the planner of the Signalhouse Network lab.
- Addresses are parsed per RFC 791 (dotted decimal without leading zeros) and RFC 4291 (IPv6 with “::” and an optional dotted IPv4 tail); IPv6 is printed in the RFC 5952 canonical form. All arithmetic uses 128-bit integers, so IPv4 and IPv6 follow the same rules.
- Usable IPv4 hosts exclude the network and broadcast address, except /31 point-to-point links (RFC 3021) and /32 host routes. IPv6 has no broadcast; every address of the prefix is counted.
- VLSM gives each requirement the smallest aligned power-of-two block that holds its hosts and places it at the first free aligned position (first fit). Sorted largest first, a plan never leaves gaps: if the total fits, every subnet fits. In listed order it reproduces the delegation sequence of RFC 4632 section 6.1, holes included.
- Aggregation merges overlapping and adjacent prefixes and writes each merged range as the minimal list of aligned CIDR blocks; exclusion and range conversion use the same range-to-CIDR step. The summary route is the longest prefix that covers every input; addresses it covers beyond the inputs need a discard route (RFC 4632 rule 2).
- The address type comes from the IANA special-purpose registries (RFC 6890 with RFC 1918, 6598, 5737, 3849, 4193, 9637 and others): the most specific matching range wins.
Sources
Part of Signalhouse
-
Signalhouse Website & internet infrastructure inspector
Inspect DNS, TLS, mail, CDN and routing of all your domains — and see what changed.
Related tools
- Signalhouse Route Lookup & Packet Path Simulator (longest prefix match) – Which route wins? Longest prefix match, distances, ECMP — or a hop-by-hop packet walk.
- Signalhouse MTU, Fragmentation & TCP Throughput Calculator – Tunnel overhead, inner MTU and MSS, IPv4/IPv6 fragments and a TCP throughput model.
- BGP Route Explorer – Who announces an IP or prefix in BGP: origin ASes, RPKI validity, visibility and origin changes.
- IPv6 Readiness Explorer – Is a domain reachable over IPv6? Web, DNS and mail checks, address classes and a scored report.
How to use the Signalhouse Subnet Planner
Plan IPv4 and IPv6 subnets with VLSM, split blocks, aggregate prefix lists into the fewest routes and cut prefixes out of a block.
What it is for
Address plans go wrong in small ways: a /26 that is two hosts too small, a summary route that covers someone else's network, an IPv6 LAN that cannot use SLAAC. The Subnet Planner does the binary arithmetic and shows every boundary before a plan reaches a router.
It has six modes. Details explains one address or prefix. Split cuts a block into equal subnets by count, hosts or length. VLSM gives every subnet in a list its own right-sized block. Aggregate shrinks a prefix list to the fewest prefixes. Exclude removes prefixes from a block. Range turns "first – last" into CIDR blocks. Everything works for IPv4 and IPv6. The tool does not see your network, so list addresses already in use as reserved prefixes.
Worked example
A small office has 10.20.0.0/22 and needs subnets for 300 staff devices, 120 guests, 20 printers and a point-to-point uplink. In VLSM mode, enter the four rows and tick the /31 option for two-host links. The planner answers: "All 4 subnets fit into 10.20.0.0/22, using 65.82 % of the block; 6 free blocks remain."
- Staff gets
10.20.0.0/23: 510 usable, 210 spare. - Guests get
10.20.2.0/25: 126 usable, only 6 spare. - Printers get
10.20.2.128/27: 30 usable. - The uplink gets
10.20.2.160/31. Both addresses are usable (RFC 3021), so there is no broadcast address.
The free blocks run from 10.20.2.162/31 to a whole 10.20.3.0/24. Guests have little room left, so a /24 would be safer.
Aggregation works the other way round. Paste 192.168.0.0/24 to 192.168.3.0/24 plus 192.168.5.0/24. The minimal set is 192.168.0.0/22 and 192.168.5.0/24. The single summary route would be 192.168.0.0/21, but the tool warns that it also covers 768 addresses that are not in your list. A router that announces it needs a discard route.
How to read the result
The metrics show the block, how many subnets were placed and the share of the block in use. The plan table lists each subnet with its first and last usable address, its broadcast address and netmask (IPv4 only), and the usable count. In VLSM mode it also shows the hosts you asked for and the spare addresses. Free blocks is the rest of the block as a minimal CIDR list, ready for the next request. In Aggregate, Exclude and Range mode, the Prefix list box holds the result ready to copy into a prefix list or firewall object.
Details mode adds the wildcard mask for ACLs, the binary form, the reverse-DNS name and the address type with its RFC.
Tips and common mistakes
- "Largest first" never leaves gaps: if the subnets fit by total size, they all fit. "Listed order" keeps your order and can leave holes, just like the delegation example in RFC 4632.
- Each subnet gets its own aligned block. A 300-host LAN needs a /23, not "a /24 and a bit".
- Keep the IPv6 /64 rule on for LANs. Turn it off only for point-to-point links (/127) and loopbacks.
- Enter existing networks as reserved prefixes in VLSM mode, so the plan steers around them.
- Addresses with host bits set, such as
192.168.10.77/26, are read as their network, with a note.
FAQ
Why is a /31 offered for router links?
RFC 3021 lets point-to-point links use both addresses of a /31, which saves half the space of a /30. Most current routers support it; leave the option off if one of yours does not.
How are IPv6 host counts shown?
As exact numbers with the power of two, for example 18,446,744,073,709,551,616 (2^64) for a /64. IPv6 has no broadcast address, so every address counts.
Is the aggregate really the shortest list?
Yes. Overlapping and adjacent prefixes are merged first, and each merged range is then written as the fewest aligned CIDR blocks. The results match Python's ipaddress.collapse_addresses on our test vectors.
Can I plan inside the Signalhouse app?
Yes. The Network lab view of Signalhouse has the same planner, saves it with your project and uses the same engine, so the numbers are identical.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://signalhousesubnetplanner.usefulweb.app/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://signalhousesubnetplanner.usefulweb.app/mcp· tool namesignalhouse_subnet_planner
Example request
curl -s -X POST https://signalhousesubnetplanner.usefulweb.app/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"mode":"vlsm","block":"192.168.1.0/24","requirements":[{"name":"LAN A","hosts":100},{"name":"LAN B","hosts":50},{"name":"LAN C","hosts":25},{"name":"LAN D","hosts":10},{"name":"Link 1","hosts":2},{"name":"Link 2","hosts":2}]}'