A /12 network has 20 host bits, 1,048,576 addresses and 1,048,574 usable hosts. It is 4,096 /24 networks.
A /12 is the size of 172.16.0.0/12 (RFC 1918), which runs from 172.16.0.0 to 172.31.255.255. Kubernetes clusters built with kubeadm use 10.96.0.0/12 for Service IPs by default. Docker carves its default bridge networks out of this range too.
172.16.0.0/12: Private network (RFC 1918)10.96.0.0/12: kubeadm default Kubernetes service CIDR| Network | Network address | First usable | Last usable | Broadcast | Next /12 | |
|---|---|---|---|---|---|---|
| 10.0.0.0/12 | 10.0.0.0 | 10.0.0.1 | 10.15.255.254 | 10.15.255.255 | 10.16.0.0/12 | calculate |
| 172.16.0.0/12 | 172.16.0.0 | 172.16.0.1 | 172.31.255.254 | 172.31.255.255 | 172.32.0.0/12 | calculate |
The /12 boundary falls in the second octet, so /12 networks start every 16 in that octet
(16 per /8):
0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240.
| Platform | Allowed subnet sizes | /12 allowed? | Usable after reservation |
|---|---|---|---|
| AWS VPC | /16 to /28 | No | - |
| Azure VNet | /2 to /29 | Yes | 1,048,571 (5 reserved) |
| Google Cloud VPC | /4 to /29 | Yes | 1,048,572 (4 reserved) |
Cloud providers reserve addresses in every subnet (first four and the last address (network, VPC router, DNS, future use, broadcast) on AWS), so the usable count there differs from the classic 2^n - 2.