IPv4 vs IPv6: what actually changed
A short comparison of IPv4 and IPv6 — address size, format, why IPv6 was designed in 1998, what changed beyond the obvious 32-vs-128-bit width, and why the migration is still going thirty years later.
The headline difference
IPv4 addresses are 32 bits, written as four decimal octets separated by dots: 192.0.2.42. IPv6 addresses are 128 bits, written as eight groups of four hexadecimal digits separated by colons, with long runs of zeros allowed to compress to ::: 2001:db8::1.
That gives IPv4 a total address space of about 4.3 billion. IPv6 gives 3.4 × 10³⁸ — roughly enough to assign a /64 to every grain of sand on Earth and still have most of the space left over. That growth is the headline reason IPv6 exists, but it is not the only reason.
Why IPv6 was designed at all
By the early 1990s the IPv4 address shortage was visible enough that the IETF started work on a successor. The original design (RFC 1883, 1995) was revised into IPv6 proper (RFC 2460, 1998) and the current spec (RFC 8200, 2017). The designers used the opportunity to clean up several things at once, not only the address size.
The space pressure on IPv4 turned out to be more elastic than expected. NAT, CIDR aggregation, and reclaiming legacy /8 allocations stretched the lifetime of the IPv4 address pool by roughly twenty years past the originally predicted runout. IPv6 deployment correspondingly took its time. As of 2026 Google's measurement of IPv6 traffic hovers around the high 40s of a percent — still not a majority.
What changed beyond address size
- No header checksum. IPv4 had a header checksum that every router on the path had to recompute. IPv6 drops it, on the theory that link layers and transport layers already provide their own.
- Fragmentation is end-to-end only. IPv4 routers could fragment packets to fit smaller MTUs. IPv6 says routers must not fragment — the source either runs Path MTU Discovery or sends packets small enough that they can't need fragmenting.
- Stateless address autoconfiguration (SLAAC). A host on an IPv6 network can derive its own address from the router-advertised prefix plus its interface identifier, no DHCP server required. DHCPv6 still exists for stateful configuration, but SLAAC means routers can hand out addresses without a separate service.
- No broadcast. IPv6 replaced broadcast with multicast and anycast. Same logical effect for "send to everyone on this link" (the all-nodes multicast
ff02::1), without the noise. - A single big address per interface, plus extras. Devices commonly hold a link-local address (
fe80::/10), a globally routable address from SLAAC, sometimes a temporary privacy address, and any number of additional addresses for specific services.
Common prefix sizes
IPv6 uses CIDR notation, the same /N syntax as IPv4, but the typical sizes are bigger:
| Prefix | Use |
|---|---|
/32 |
Block assigned to an ISP / RIR customer (2⁹⁶ addresses inside) |
/48 |
Standard end-site allocation from an ISP |
/56 |
Common home / residential allocation |
/64 |
Single LAN segment — the standard subnet size; required for SLAAC |
/128 |
A single host address |
There is no /24 LAN in IPv6. A /64 per LAN is the convention; the rest of the address is the interface identifier.
Why the migration is still going
IPv6 is not backwards compatible with IPv4 at the network layer. A host with only IPv6 cannot talk to a host with only IPv4 — translation gateways (NAT64) or dual-stack hosts that speak both are needed. That bootstrap problem is the practical reason the transition has run for thirty years: it is hard to abandon the legacy protocol while any meaningful share of the network still speaks only the legacy protocol.
The result is that almost every meaningful network in 2026 runs dual-stack: every host has both an IPv4 and an IPv6 address, and applications prefer IPv6 when available (Happy Eyeballs, RFC 8305). The IPv4 internet has not gone away, and it is not going to in the next decade.
Try the math
The CIDR calculator at /tools/cidr supports both IPv4 and IPv6 — paste 2001:db8::/32 to see the address count, expanded form, and reverse-DNS zone for the same prefix you'd write into a router. The What's My IP tool at /tools/whats-my-ip shows whichever address your client is reaching the site over, including the IPv6 one if you have one.