1. The Address Space Revolution
While IPv4 offers a finite 32-bit address space consisting of 4,294,967,296 addresses (effectively exhausted by IANA in 2011), IPv6 provides a 128-bit address space. That equals:
2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses
(~3.4 × 10^38 addresses)
This allows every individual subnet on Earth to host 18.4 quintillion addresses (a standard /64 block), rendering NAT (Network Address Translation) unnecessary and restoring true end-to-end IP connectivity.
2. RFC 5952 Canonical Representation Rules
IPv6 addresses consist of eight 16-bit blocks (hextets) separated by colons. RFC 5952 establishes the mandatory rules for displaying IPv6 text notation:
- Leading Zeros: Leading zeros in any 16-bit field MUST be suppressed. For example,
2001:0db8::0001must be written as2001:db8::1. - Double Colon (::): The single longest contiguous run of all-zero fields MUST be compressed using
::. - Tie-Breaking: If multiple runs of zero fields have identical length, the first run MUST be compressed.
- Single Zero Fields: A single 16-bit zero field MUST NOT be compressed into
::. - Lowercase Hex: Hexadecimal characters (a-f) MUST be written in lowercase.
3. Standard Subnet Hierarchy in IPv6
Unlike IPv4 where subnets can be carved into arbitrary micro-sizes (/28, /29, /30), IPv6 uses clean architectural boundaries:
- /32: Standard Regional Internet Registry (RIR) allocation to Internet Service Providers.
- /48: Standard enterprise site allocation, providing 65,536 individual /64 subnets.
- /56: Recommended allocation for small business sites and branch offices.
- /64: The fundamental LAN subnet size required for Stateless Address Autoconfiguration (SLAAC - RFC 4862).
4. Dual-Stack Strategy
The standard industry transition mechanism is dual-stack operation, where routing equipment and endpoints simultaneously run IPv4 and IPv6 network stacks. DNS handles resolution via A records (IPv4) and AAAA records (IPv6), with modern operating systems preferring IPv6 whenever available (Happy Eyeballs algorithm - RFC 8305).