Octet

Why do we need IPv6, and what does it fix besides the number of addresses?

Show the answer

Say this first

IPv4 has about 4.3 billion addresses and the free pools are gone: IANA handed out its last blocks in 2011 and the regional registries ran dry after that. Every workaround (NAT, CGNAT, buying addresses) costs money and breaks end-to-end connectivity. IPv6 has 128-bit addresses, so address space stops being the constraint. It also cleans up the protocol: a fixed 40-byte header, no broadcast, built-in autoconfiguration with SLAAC, and no fragmentation by routers.

Go deeper

The address problem

  • 2^32 is about 4.3 billion, and a large part of that is reserved (multicast, private, loopback, class E).
  • IANA allocated its last /8 blocks in February 2011. APNIC hit its final-block policy in 2011, RIPE NCC in 2012 and ARIN ran out in 2015. New IPv4 space now comes from the transfer market.

What the workarounds cost

  • NAT and CGNAT need state on a box in the path, run out of ports, and force you to log every port block if you must trace a user later.
  • Inbound connections, peer-to-peer, some VoIP and games need extra tricks (port forwarding, STUN, ALGs).
  • Mergers collide: two companies both using 10.0.0.0/8 is a classic integration project.
  • Cloud providers now charge for public IPv4 (AWS has billed every public IPv4 address since 2024).

What IPv6 changes

AreaIPv4IPv6
Address size32 bits128 bits
Header20 to 60 bytes, checksumfixed 40 bytes, no checksum
Optionsin the headerextension headers
Fragmentationrouters and hostssource host only
Address resolutionARP broadcastNDP over ICMPv6 multicast
Host configDHCP or staticSLAAC, DHCPv6 or static

Where it stands

Mobile carriers run large IPv6-only networks with 464XLAT, and close to half of the users reaching Google do it over IPv6. Enterprises lag, mostly because IPv4 with NAT still works inside the building.

Traps

  • Saying IPv6 is more secure because of IPsec. That was a myth even when the RFC said MUST.
  • Saying NAT is a security feature you lose. The stateful firewall does the protecting, not the address translation.
How did you do?Book 4.2 IP Version 6