~/ganesh
← all posts
Ganesh Angadi
By Ganesh AngadiDEV

IPv4 vs. IPv6: The Internet's Biggest Fix is Still Unfinished

#devops-duels#networking#ipv4#ipv6#infrastructure

Every engineering student knows IPv4 has 32 bits and IPv6 has 128 bits.

Great.

That explains absolutely nothing.

If both protocols send packets across the internet, why did we build a second one? And if IPv6 is supposedly the future, why are AWS, Azure and Google Cloud still charging for public IPv4 addresses?

The answer isn't 32 bits versus 128 bits.

It's one of the biggest engineering compromises the internet has ever made.

When the Lab Escaped

In the early days of the internet, life was simple.

Every computer connected to the internet got its own public IPv4 address. If you knew another computer's IP address and it allowed your connection, you could talk to it directly.

That worked when the internet was mostly used by governments, universities, and a handful of companies.

Then the Internet escaped the lab and became public.

Suddenly every home had multiple devices. Then laptops. Then phones. Then smart TVs. Then security cameras. Today, even a simple doorbell needs an internet connection. If a device is connected to the internet, that means it needs an IP address.

IPv4 wasn't built for billions of connected devices. By design, it only supported about 4.29 billion unique addresses. But today there are more than 7 billion people on Earth, and each person can have multiple devices. It's like trying to assign a 4-digit phone number to every SIM card that exists—you can only assign 10,000 numbers before you run out. What about the rest? Similarly, IP addresses were getting exhausted as demand skyrocketed. We were running out of IPv4 addresses.

The Invisible Middleman

Because we ran out of IPv4 addresses, network engineers invented a temporary band-aid: NAT (Network Address Translation).

Today your phone almost never talks to the internet directly.

It sends every packet to your router.

Your router replaces your phone's private address with its own public address before forwarding the packet.

When the reply comes back, the router remembers who asked for it and sends the response back to your phone.

Millions of people browse the web every day without realizing a tiny translation service inside their router is making it possible.

The 128-bit Promise

To permanently solve the shortage, IPv6 was introduced. It uses a massive 128-bit addressing space, offering 340 undecillion addresses. It's like assigning millions of IP addresses to every grain of sand on Earth and still having plenty left over. This solved the problem of IPv4 address exhaustion.

IPv6 restores the original vision of the internet: end-to-end connectivity. Because there's a nearly endless supply of addresses, IPv6 doesn't require NAT for address conservation.

A Quick Comparison

+----------------------+----------------------------------+---------------------------------------------------------+ | Feature | IPV4 | IPV6 | +----------------------+----------------------------------+---------------------------------------------------------+ | Address Size | 32-bit (4.29 billion) | 128-bit (340 undecillion) | | Format | Dotted Decimal (`192.168.1.1`) | Hexadecimal (`2001:db8:85a3:0000:0000:8a2e:0370:7334`) | | Address Conservation | Heavily relies on NAT | No NAT required | | Security (IPsec) | Optional add-on | Designed with it in mind | | The Headache | CIDR overlaps & exhaustions | Dual-stack routing & legacy support | +----------------------+----------------------------------+---------------------------------------------------------+

The Hard Part

If IPv6 solves the problem, why isn't everyone using it?

Because replacing the internet isn't like updating an app.

ISPs, routers, operating systems, enterprise firewalls, cloud providers, and millions of applications all had to learn a new protocol while keeping the old one running.

The result wasn't a replacement.

It became a migration.

Today most networks run both IPv4 and IPv6 side by side, and that architecture is called dual-stack architecture.

The hard part was never designing a better protocol.

The hard part was convincing the entire internet to stop using the old one.

IPv6 was developed in 1998, yet today 60-80% of servers are still using IPv4 with NAT. Sometimes a temporary fix can become permanent for decades. In fact, if you look at the history of NAT, it was never originally made for address conservation; it was invented to solve a routing problem. Yet today, that temporary fix is solving the biggest problem of the internet.

Written by Ganesh Angadi

DevOps Engineer • Backend Engineer • Platform Engineering

Portfolio HomeGitHub ProfileLinkedIn ConnectDev.to Profile

Leave a note

Thoughts, corrections, or just saying hi — all welcome.