Back to all articles
IPv4IPv6Layer 3Internet Architecture

IPv4 vs IPv6: The Decades-Long Transition We Are Still Making

Alex MorganJuly 24, 2024

On February 3, 2011, the Internet Assigned Numbers Authority (IANA)—the global organization that manages IP addresses—made a historic announcement. They had officially allocated the last remaining blocks of IPv4 addresses. The pool was entirely empty.

The internet had run out of space.

This was not a surprise. Engineers had seen this coming since the early 1990s. The original IPv4 standard uses a 32-bit address space, which yields roughly 4.3 billion unique addresses. In 1980, that seemed like infinity. By 2010, with the explosion of smartphones, laptops, and IoT devices, it was a mathematical crisis.

The solution was already built and ready to deploy: IPv6.

Yet, well over a decade after the official exhaustion of IPv4, if you check the IP address of your home network right now, there is still a massive chance you are actively using an IPv4 address.

Why has the transition taken so long, and how does the new system actually work?

The Scale of IPv6

IPv6 doesn't just increase the address space a little bit. It expands it to an incomprehensible degree.

Where IPv4 uses 32 bits, IPv6 uses 128 bits.

Mathematically, 2 to the power of 128 yields approximately 340 undecillion addresses. (That's 340 followed by 36 zeros).

To put that in perspective:

  • You could assign an IPv6 address to every single atom on the surface of the Earth, and you still wouldn't run out.
  • Instead of giving a household a single IP address, ISPs typically hand out a "/64 block" to a standard home. A single /64 block contains 18 quintillion addresses—more than the entire IPv4 internet combined—just for your living room.
  • Because the numbers are so large, IPv6 addresses look completely different. Instead of four decimal numbers (`192.168.1.1`), they are written as eight groups of four hexadecimal digits, separated by colons:

    `2001:0db8:85a3:0000:0000:8a2e:0370:7334`

    Simplifying the Protocol

    IPv6 wasn't just designed to solve the space issue. Engineers took the opportunity to clean up decades of technical debt in the IP protocol.

    1. No More NAT: Network Address Translation (NAT) was the hack that saved IPv4 by allowing multiple devices to share one public IP. It is clunky, breaks peer-to-peer connections, and requires routers to constantly rewrite packets. With IPv6, every device gets a globally unique public IP. NAT is entirely unnecessary.

    2. Simplified Headers: The IPv4 packet header is complex and variable in length, making it hard for routers to process quickly. The IPv6 header is streamlined and has a fixed length. Even though the addresses are much larger, routers can actually process IPv6 packets faster because the math is simpler.

    3. No More Broadcasts: IPv4 relies heavily on "broadcasts" (shouting to every device on a subnet, like ARP does). This is incredibly noisy and inefficient. IPv6 eliminates broadcasts entirely, replacing them with highly efficient "Multicast" (sending only to devices that explicitly want to listen).

    The Great Barrier: Lack of Backward Compatibility

    If IPv6 is so superior, why hasn't everyone switched?

    The core issue is that IPv4 and IPv6 are completely incompatible. They speak different languages. An IPv4-only device cannot communicate directly with an IPv6-only server.

    This created a massive chicken-and-egg problem.

  • Why would a website operator upgrade to IPv6 if 99% of their customers only have IPv4?
  • Why would an ISP spend millions of dollars upgrading their infrastructure to support IPv6 if all the major websites are still on IPv4?
  • For years, nobody wanted to move first.

    How We Survive Today: Dual-Stack and CGNAT

    To manage the incredibly slow transition, the industry relies on two major workarounds.

    The first is Dual-Stack. This means running both protocols simultaneously. Modern operating systems (Windows, macOS, iOS, Android) and modern routers simply assign *both* an IPv4 and an IPv6 address to the network interface. When you type `google.com`, your browser asks DNS, "Do they have an IPv6 address?" If yes, it connects via IPv6. If no, it falls back to the legacy IPv4 address.

    The second, much uglier workaround is Carrier-Grade NAT (CGNAT).

    Because ISPs physically cannot buy new IPv4 addresses for their new customers, they started applying NAT at the ISP level.

    Normally, your home router does NAT. With CGNAT, the ISP puts a massive, industrial router in their data center. They give your home router a *fake* private IP address, and then they translate thousands of entire households through a single, shared Public IPv4 address. You are essentially double-NATted. This causes huge headaches for online gaming and hosting servers at home, but it is the only way ISPs can keep growing on the old protocol.

    The Tipping Point

    The transition is finally accelerating. Mobile networks (4G/5G) were the catalyst. When mobile carriers deployed LTE, they had hundreds of millions of new devices coming online and zero IPv4 addresses to give them. Consequently, almost all modern mobile networks operate natively on IPv6, using translation gateways to let phones talk to the legacy IPv4 web.

    Major tech companies (Google, Facebook, Netflix) serve the vast majority of their traffic over IPv6 today. As of 2024, global IPv6 adoption hovers around 45-50%, heavily concentrated in mobile and broadband networks in developed nations.

    We are destined to live in a Dual-Stack world for at least another decade, waiting for the long tail of legacy corporate software and old hardware routers to finally retire. But the future—vast, complex, and hexadecimal—is already here.