The three private IPv4 blocks are 10.0.0.0/8 with 16,777,216 addresses, 172.16.0.0/12 with 1,048,576 addresses running from 172.16.0.0 to 172.31.255.255, and 192.168.0.0/16 with 65,536. A settlement network should use them, because no registry remains to allocate public addresses, and it should pick a block that no neighbour already uses, since two networks that share a block cannot be joined without renumbering one. The middle block is the one people get wrong: 172.15.x.x and 172.32.x.x are not private.
Part of Networking
The three reserved private IPv4 blocks, their exact boundaries and sizes, and how to choose and check blocks so that settlements can be joined later.
Private Blocks Were Reserved So Anyone Could Use Them Inside Their Own Network
Private ranges were set aside so that any organisation could number its own network without asking anyone, on the understanding that these addresses are not routed on the public internet. The standard that defined them is usually cited as RFC 1918, a fact from general knowledge rather than from the other articles. For a settlement the “not routed on the public internet” part is moot, because there is no public internet to leak to. What remains is the useful part: nobody has to give permission.
Network Addressing lists the three ranges and the carrier Internet Infrastructure recommends them by size. The two sources count the 192.168 block differently, which is a labelling difference rather than a contradiction: Network Addressing says 65,536 addresses, and the carrier says 65,534, which is the number of usable hosts if the whole /16 is used as a single subnet (65,536 - 2).
What You Need
- The subnet arithmetic from Subnet Masks
- A record of which blocks the neighbouring settlements already use — ask before you choose
- A written plan for how the chosen block is divided (CIDR Notation)
The Middle Block Ends At 172.31 And Is The One People Get Wrong
| Block | Range | Host bits | Addresses | Fits |
|---|---|---|---|---|
| 10.0.0.0/8 | 10.0.0.0 to 10.255.255.255 | 24 | 2^24 = 16,777,216 | a network of many settlements |
| 172.16.0.0/12 | 172.16.0.0 to 172.31.255.255 | 20 | 2^20 = 1,048,576 | a region |
| 192.168.0.0/16 | 192.168.0.0 to 192.168.255.255 | 16 | 2^16 = 65,536 | one site |
The second block is the trap. A /12 has 12 network bits: 8 for the first octet and 4 into the second. The second octet’s last four bits are host bits, so the second octet runs in steps of 16: from 16 (00010000) through 31 (00011111). So 172.16.0.0/12 holds sixteen /16 blocks, 172.16 to 172.31. Addresses in 172.15.x.x or 172.32.x.x, such as 172.32.0.5, are outside the block, so each is an ordinary address that someone else’s network may legitimately own; do not use it as if it were private.
Method: Choose And Check A Block
Step 1: Choose by size and by neighbours For one settlement alone, 192.168.0.0/16 is plenty. For several settlements that may later be joined, use 10.0.0.0/8, and follow the carrier’s pattern of one /24 per settlement (10.1.0.0/24, 10.2.0.0/24 and so on). A habit worth breaking is the default of salvaged equipment: home routers commonly come configured for a 192.168 network, so two sites wired from such routers often end up with the same one, which is the commonest reason a join fails. This is general knowledge, not from the other articles; check what the equipment actually uses.
Step 2: Reserve a separate block for the links Keep the addresses on router-to-router links away from the settlement blocks. One /16 of links, such as 10.255.0.0/16, holds 2^(30-16) = 2^14 = 16,384 point-to-point /30 subnets, far more than any network needs.
Step 3: Check for overlap against every neighbour Two blocks overlap if one range contains any address of the other. Compare their first and last addresses.
Step 4: Record the choice Put it in the address plan and tell the neighbours.
Worked Example: Do These Blocks Overlap?
Site X uses 172.16.0.0/16, covering 172.16.0.0 to 172.16.255.255. Site Y uses 172.20.0.0/16, covering 172.20.0.0 to 172.20.255.255. Their second octets differ (16 and 20), so the ranges do not intersect. Both lie inside 172.16.0.0/12, so both are private, and they can be joined as they are.
Site Z proposes 172.16.4.0/22. A /22 changes the third octet in steps of 4, so it covers third-octet values 4 to 7: 172.16.4.0 to 172.16.7.255. That lies inside site X’s 172.16.0.0 to 172.16.255.255. They overlap, and Z must choose a different block before it joins X.
Two sites that both use 192.168.1.0/24 overlap completely. Joining them needs one site renumbered, or address translation between them (NAT), which hides but does not remove the problem.
Common Mistakes
- Treating all of 172.x.x.x as private — only 172.16 to 172.31 is
- Choosing the same block as the neighbours because it is the default — agree on a plan before connecting
- Using the settlement’s own block for a link between routers — keep link subnets separate so a renumbering of one does not touch the other