IPv4 and IPv6: why we coexist with two Internets at once

Published on 2026-09-12 by frfrand

Se acabaron las direcciones en 2011 y sin embargo todo sigue funcionando. Qué cambió con IPv6, por qué la transición tarda tanto y qué significa para tu servidor.

IPv4 and IPv6: why we coexist with two Internets at once

IPv4 addresses officially ran out in 2011. The authority that distributes them handed out the last large block and that was it.

And yet everything kept working. It is worth understanding why, because it explains a large part of how the Internet is structured today.

The number that fell short

IPv4 uses 32 bits, which gives about 4.3 billion addresses. In 1981, when it was defined, that seemed absurdly generous: there were only a few hundred computers connected in the world.

No one foresaw phones, refrigerators, cameras, or virtual servers that are created and destroyed every hour.

Why it did not collapse

Because of two patches that worked too well.

NAT. Your entire home, with fifteen devices, uses a single public address. The router translates. Multiply that by millions of homes and suddenly 4.3 billion go much further.

Secondary market and reassignment. The blocks left over from the early decades are bought, sold, and subdivided.

The cost of those patches is not visible but it exists: with NAT, your device does not have its own reachable address. Initiating a connection to it requires extra configuration. Anything that connects two points directly (video calls, games, transfers) has to take detours to work.

What changed with IPv6

IPv6 uses 128 bits. The resulting number of addresses is so large that usual comparisons don't help: it's enough to give plenty of addresses to every device that exists and will exist.

They are written in hexadecimal, in groups separated by colons, and with an abbreviation rule: leading zeros in each group are omitted, and a stretch of zero groups is replaced only once by double colons.

What comes besides the size:

  • NAT is not needed. Each machine can have its own address, reachable.
  • Autoconfiguration: a device can create a valid address on its own, without a server assigning it.
  • Routing is simpler, because packet headers were simplified.

Why it takes so long

Because they are not compatible with each other. A device that only speaks IPv6 cannot talk to one that only speaks IPv4: they are different protocols, not versions of the same thing.

This forces that, during the transition, almost everything speaks both. That is called dual stack, and it is the normal situation today: your server has an IPv4 address and an IPv6 address, and each client uses the one it can.

The practical consequence is that no one can turn off IPv4 until practically everyone speaks IPv6. And since IPv4 keeps working thanks to NAT, the urgency never arrives. It is a tie that has lasted more than a decade.

What it means for your server

Three concrete things, and all are forgotten at some point:

There are two DNS records. The A record points to the IPv4 address and the AAAA record to IPv6. If you publish only one, some clients will connect and others won't.

The firewall is double. In Linux, iptables and ip6tables are separate sets of rules. Closing a port in IPv4 and leaving it open in IPv6 is a classic mistake, and hard to notice because everything "seems" fine.

Logs show both. If you filter by address format, you will lose half of the entries.

In ArduMaker, each VPS comes with both families configured and DNS records are created in pairs, precisely so that half the house isn't left without a key.

  • redes
  • IPv4
  • IPv6
  • direccionamiento
  • ArduMaker

Keep reading

All articles · VPS plans