IPv4 vs. IPv6: Addresses, Headers and Migration

IPv4 uses 32-bit addresses (4.3 billion — effectively exhausted). IPv6 uses 128 bits — practically inexhaustible (340 undecillion addresses).

Notation

IPv4: 192.168.1.10. IPv6: 2001:db8::1 — colon-hex, :: abbreviates runs of zeros.

Key differences

  • NAT: IPv4 needs NAT to hide many devices behind one public IP. IPv6 gives every device a global address (privacy extensions for clients).
  • Header: the IPv6 header is simpler, no checksum, efficient extension headers.
  • Broadcast: IPv6 uses multicast instead of broadcast.
  • DHCP: IPv6 supports SLAAC (stateless) — devices configure themselves.

Migration

Dual-stack (both in parallel) is the standard. Tunnels (6to4, Teredo) help during transition. Today ~40% of the world population is reachable via IPv6.

Check

ip -6 addr (Linux), curl -6 ifconfig.co tests IPv6 connectivity.

See also: Networking.