Last Updated: May 1, 2025
Address Types & Scopes
| Item | Description |
|---|---|
Global Unicast (2000::/3) | Publicly routable — equivalent to public IPv4 |
Link-Local (fe80::/10) | Auto-assigned on every interface — only on same link |
Unique Local (fc00::/7) | Private IPv6 (fd00::/8 commonly) — equivalent to RFC 1918 |
Multicast (ff00::/8) | One-to-many — replaces IPv4 broadcast (no broadcast in IPv6!) |
Loopback (::1/128) | Localhost — equivalent to 127.0.0.1 |
Unspecified (::/128) | All zeros — 'no address' (like 0.0.0.0) |
Solicited-Node Multicast | ff02::1:ffxx:xxxx — used for NDP (replaces ARP) |
Address Notation & Shortcuts
Full: 2001:0db8:0000:0000:0000:ff00:0042:8329Full 8-group representation
Short: 2001:db8::ff00:42:8329Drop leading zeros + compress :: (one time only)
CIDR: 2001:db8::/32Network prefix notation (like /24 in IPv4)
URL notation: http://[2001:db8::1]:8080/Brackets required around IPv6 in URLs
fe80::1%eth0Zone ID (interface) required for link-local addresses
::1IPv6 loopback (ping6 ::1)
Transition Mechanisms
| Item | Description |
|---|---|
Dual Stack | Run IPv4 and IPv6 simultaneously — most common approach |
NAT64 + DNS64 | Translate IPv6-only client to IPv4-only server (transparent) |
464XLAT | IPv4 client to IPv4 server over IPv6-only network (mobile networks) |
Tunneling (6in4/6to4) | Encapsulate IPv6 inside IPv4 packets (legacy, avoid) |
Teredo | IPv6 over IPv4 with NAT traversal (deprecated) |
MAP-T/MAP-E | Stateless IPv4/IPv6 translation at scale (ISP-level) |
IPv6 Configuration (Linux)
ip -6 addr showDisplay IPv6 addresses on all interfaces
ip -6 route showDisplay IPv6 routing table
ping6 google.comPing over IPv6
curl -6 https://ipv6.google.comForce curl to use IPv6
sysctl net.ipv6.conf.all.disable_ipv6=0Enable IPv6 globally
ss -6 -tlnList listening TCP sockets on IPv6
Pro Tip: IPv6 addresses are 128 bits (8 groups of 4 hex digits). Drop leading zeros and compress consecutive zero groups with :: (once per address). ::1 = localhost.