IPv6 Basics Cheat Sheet

IPv6 addressing fundamentals: address types and scopes, address notation shortcuts, transition mechanisms, and practical IPv6 configuration for modern networks.

Last Updated: May 1, 2025

Address Types & Scopes

ItemDescription
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 Multicastff02::1:ffxx:xxxx — used for NDP (replaces ARP)

Address Notation & Shortcuts

Full: 2001:0db8:0000:0000:0000:ff00:0042:8329
Full 8-group representation
Short: 2001:db8::ff00:42:8329
Drop leading zeros + compress :: (one time only)
CIDR: 2001:db8::/32
Network prefix notation (like /24 in IPv4)
URL notation: http://[2001:db8::1]:8080/
Brackets required around IPv6 in URLs
fe80::1%eth0
Zone ID (interface) required for link-local addresses
::1
IPv6 loopback (ping6 ::1)

Transition Mechanisms

ItemDescription
Dual StackRun IPv4 and IPv6 simultaneously — most common approach
NAT64 + DNS64Translate IPv6-only client to IPv4-only server (transparent)
464XLATIPv4 client to IPv4 server over IPv6-only network (mobile networks)
Tunneling (6in4/6to4)Encapsulate IPv6 inside IPv4 packets (legacy, avoid)
TeredoIPv6 over IPv4 with NAT traversal (deprecated)
MAP-T/MAP-EStateless IPv4/IPv6 translation at scale (ISP-level)

IPv6 Configuration (Linux)

ip -6 addr show
Display IPv6 addresses on all interfaces
ip -6 route show
Display IPv6 routing table
ping6 google.com
Ping over IPv6
curl -6 https://ipv6.google.com
Force curl to use IPv6
sysctl net.ipv6.conf.all.disable_ipv6=0
Enable IPv6 globally
ss -6 -tln
List 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.