How many /64s fit in a /48? 65,536 networks

By TechCompare · Updated · How we check

A /48 holds 65,536 /64 networks, and a /56 holds 256, which you can work out from the prefix lengths alone.

A /48 holds 65,536 /64 networks, and a /56 holds 256. The count isn't a number to memorize. Each bit added to a prefix halves the block, so the gap in bits between two prefixes sets the answer, and the /48 and /56 cases below show how.

Prefix
/48
80 host bits
Total addresses
1.21 septillion
2^80
/64 networks
65,536
Each one a LAN

How this is calculated

For any prefix up to /64, the count of /64s is 2 raised to the number of bits between that prefix and 64. A /48 leaves a gap of 16 bits, which gives 2^16, or 65,536 /64s. Take the /56 instead and the gap is 8 bits. That gives 2^8, or 256.

Verdict

Use the count to size a plan, but keep the /64 as the floor. The 8 bits between a /48 and a /56 pick one of 256 /56 blocks, and the 8 bits between a /56 and a /64 pick one of 256 /64s inside each. Multiplying those counts gives 65,536, which matches the count from the full gap.

More Subnet scenarios

/24 subnet (255.255.255.0)
A /24 subnet, written as 255.255.255.0 in dotted-decimal notation, provides 256 total addresses with 254 usable for hosts (one reserved for the network address and one for broadcast).
View details
/16 subnet (255.255.0.0)
A /16 subnet, written as 255.255.0.0, provides 65,536 total addresses with 65,534 usable for hosts.
View details
/28 subnet (255.255.255.240)
A /28 subnet, written as 255.255.255.240, provides 16 total addresses with 14 usable on a conventional IPv4 subnet.
View details

Frequently asked questions

How many /64s are in a /48?
65,536, which is 2^16. Those bits are the gap between the /48 and the /64.
How many /64s are in a /56?
256, which is 2^8. A /56 is a smaller block, so it holds fewer /64s than a /48 does.
How many /56s are in a /48?
256. Each one holds 256 /64s, which adds up to 65,536 /64s across the whole /48.
Why 64 bits?
RFC 4291 says all global unicast addresses other than those starting with binary 000 have a 64-bit interface ID field. RFC 7421 says the interface identifier is “defined as 64 bits long for almost every case, leaving 64 bits for the subnet prefix.” The lower half holds the device, and the upper half holds the prefix and the subnet bits.