IPv6 /64 Prefix ReferenceIPv6

The atomic unit of IPv6: every normal subnet, whether a home LAN, an office floor, or a VM network, is a /64 holding 18,446,744,073,709,551,616 addresses. The number sounds absurd until you learn why: the bottom 64 bits exist purely for interface identifiers.

An IPv6 /64 prefix contains 18,446,744,073,709,551,616 addresses. It is exactly one /64 — the subnet size SLAAC requires.

/64 facts at a glance

Total addresses
18,446,744,073,709,551,616 (264)
/64 subnets inside
1 — this is the standard subnet itself
Host/interface bits
64
Example network
2001:db8::/64
First address
2001:db8::
Last address
2001:db8::ffff:ffff:ffff:ffff
Typical role
Standard LAN/VLAN subnet — required for SLAAC

A /64 in documentation space

Using 2001:db8::/32 (RFC 3849 documentation space) aligned to its own boundary, a /64 occupies:

BlockFirst addressLast address
2001:db8::/64 2001:db8:: 2001:db8::ffff:ffff:ffff:ffff

How an IPv6 /64 prefix works

A /64 prefix pins the first 64 bits of a 128-bit address, leaving 64 bits free. That free portion holds 264 = 18,446,744,073,709,551,616 distinct addresses, and every such block begins at a multiple of that size. All 128 minus 64 remaining bits belong to the interface identifier, which is precisely what SLAAC expects.

Where /64 is used

RFC 4291 fixes the interface identifier at 64 bits, which is what makes /64 the practical floor for any subnet expecting autoconfiguration.

SLAAC (RFC 4862) assumes a /64. On longer prefixes, hosts must fall back to DHCPv6 or manual configuration instead of self-assembling addresses.

Frequently asked questions

How many addresses are in a /64?

18,446,744,073,709,551,616, which is 2^64. That single subnet holds more addresses than the entire IPv4 address space by a factor of four billion.

Why is /64 the smallest recommended IPv6 subnet?

Because the interface ID is defined as 64 bits (RFC 4291), and SLAAC plus EUI-64 autoconfiguration only work when the host portion has those full 64 bits available.

What is EUI-64?

A method hosts use to build an interface ID from the 48-bit MAC address: FFFE is spliced into the middle and the universal/local bit is flipped, yielding a stable 64-bit identifier.

Should I try to conserve IPv6 subnets like IPv4?

No. Waste was designed in deliberately: give every segment a /64 and plan hierarchically rather than squeezing hosts together.

Open 2001:db8::/64 in the IPv6 calculator

Related IPv6 prefixes

/32/48/56/127/128