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.