IPv4 has 4.3 billion addresses. We ran out years ago. IPv6 has 340 undecillion addresses (3.4ร—10^38). But we cannot switch overnight โ€” billions of devices only speak IPv4. Transition mechanisms bridge this gap.

Dual Stack: The Ideal Solution

In a perfect world, every device runs both IPv4 and IPv6 simultaneously. The device prefers IPv6 when available and falls back to IPv4 otherwise.

Problem: Requires IPv6 support everywhere โ€” ISP, router, and destination server. Many ISPs still do not offer IPv6.

6to4: Automatic Tunneling (Deprecated)

6to4 encapsulates IPv6 packets inside IPv4 packets. Your public IPv4 address is embedded in a special IPv6 prefix (2002::/16).

Issues: Relies on relay routers that may be unreliable or far away. Officially deprecated due to operational problems.

Teredo: IPv6 Through NAT

Teredo (Windows built-in) tunnels IPv6 over UDP port 3544, allowing it to traverse NAT. Used when no native IPv6 or 6to4 is available.

Performance is poor โ€” multiple layers of encapsulation add latency. Microsoft Edge and Teams may use it if no better option exists.

NAT64 + DNS64: IPv6-Only Networks

Modern approach for new networks that are IPv6-only internally:

  • DNS64: When an IPv6 client queries a domain that only has an A record (IPv4), DNS64 synthesizes a fake AAAA record pointing to a special prefix (64:ff9b::/96)
  • NAT64: When packets arrive at the NAT64 gateway destined for 64:ff9b::/96, it translates them to IPv4 and forwards to the real server

Apple mandates that iOS apps work on IPv6-only networks with NAT64. This is why developers must not hardcode IPv4 addresses.

464XLAT: Client-Side Translation

For apps that absolutely require IPv4, 464XLAT adds another translation layer on the client device. Android uses this to run legacy apps on IPv6-only mobile networks.

Checking Your IPv6 Status

Visit our homepage โ€” we show both your IPv4 and IPv6 addresses if available. You can also visit test-ipv6.com for a comprehensive connectivity test.