IPv4 vs. IPv6 is the comparison between the two versions of the Internet Protocol in use today: IPv4 uses 32-bit addresses, while its successor, IPv6, uses 128-bit addresses. For proxies, the version matters because an IPv6 proxy can reach a site by name over IPv6 only when the site's domain publishes an IPv6 address in DNS.
IPv4 space is scarce. IANA handed out the last of its free IPv4 pool to the regional internet registries on February 3, 2011.
Key Differences
- Address size: IPv4 addresses are 32 bits. IPv6 addresses are 128 bits, which allows many more addressable nodes.
- Notation: IPv6 is written as eight groups of up to four hexadecimal digits separated by colons, and
::can replace one run of zero groups. - DNS records: A domain's IPv4 address is stored in an A record, and its IPv6 address is stored in an AAAA record.
Why It Matters for Proxies
- Site support: Before choosing IPv6 proxies, check that the target domain has an AAAA record.
- Subnet size: End sites are assigned at least one /64, and in many cases a /56 or /48. With so many addresses per site, a target that wants to limit one user can apply rules to a whole prefix instead of single addresses.
- Address supply: The depleted IPv4 free pool is one reason IPv4 addresses are scarcer than IPv6 addresses.
Reaching Sites That Use the Other Version
- Dual stack: A dual-stack host runs both IPv4 and IPv6. It can connect directly to IPv4 sites over IPv4 and to IPv6 sites over IPv6.
- NAT64 with DNS64: NAT64 lets IPv6-only clients reach IPv4 servers over TCP, UDP or ICMP. DNS64 builds a synthetic AAAA record from the site's A record, so the IPv6 client has an address to connect to.
- What the site sees: Through NAT64, the IPv4 site sees one of the translator's public IPv4 addresses. Several IPv6 clients share those addresses.