Hacker News new | ask | show | jobs
by irrational 1010 days ago
I’ve been hearing about ipv4 running out and the need to move to ipv6 for so many years/decades, but it keeps not happening. I’m wondering if anything will change in my lifetime.
3 comments

IPv4 ran out a decade ago, the only reason why it continues to work at all is because of two things:

- Compatibility bridges for v6-only hosts to connect to v4 servers

- The IP address market encouraging old v4 allocation owners to sell off their space (at the expense of a bloated routing table)

In 2009, IANA and the RIRs created a process for buying and selling IP addresses. Which is something they never wanted to allow, but their hand was forced by the abysmal levels of v6 adoption back then. Two years later IANA would allocate the last /8s, and the RIRs that got those allocations would exhaust them in the years following[1]. The only virgin v4 address space remaining is reserved specifically for ISPs setting up v4 compatibility for native v6 networks.

You did not notice this because the v6 transition has already happened, and it was boring. In 2023, Google reports 40-45% v6 adoption[0]. This is largely due to LTE making v6 a mandatory feature. Had we kept mobile traffic on v4, networks would've adopted shedloads of CGNAT, and even then that hits a wall when you start running out of ephemeral ports to disguise addressing information inside of. This would have resulted in significantly worse behavior for smartphone users, especially in heavily populated countries like India (which have far higher v6 utilization).

[0] https://www.google.com/intl/en/ipv6/statistics.html#tab=ipv6...

[1] https://en.wikipedia.org/wiki/IPv4_address_exhaustion

> but it keeps not happening

The article you're responding to is a dramatic demonstration that it has happened: Amazon's IPs would not be worth $4.5B if we hadn't run out. It requires us all to ration a resource (namely numbers) that should be near-infinite and essentially free.

> It requires us all to ration a resource (namely numbers) that should be near-infinite and essentially free.

There can only be ~4.3 billion IPv4 addresses, which means that mathematically IP addresses are severely limited - you can't assign even one single globally routable IPv4 address per human. That's why we have NAT and its evolution CGNAT in the first place.

That’s their point, if there were more addresses we wouldn’t need to
Back when the Internet was conceived, as a network of militaries, universities and large corporations, it was in no way foreseeable just how much resources humanity would need - and it was thought that the system would adapt.

However we got layers upon layers of closed-source middleboxes and everything ossified as a result.

But from the perspective of anyone that isn't a networking expert, there is no real problem, things just work and there are no real issues. Networking folks found ways to extend the runway and all other tech people see is the occasional article like this and then they forget about it again five minutes later. I don't even see the effects of the cost of an IP anywhere. I guess it's there, but I don't notice. No regular person even knows what ipv6 is.
ipv6 is _the_ mobile and india internet, mostly.

iphones are v6 only as are indian consumer connections.

> iphones are v6 only

Are you sure about this? Do you have a link with details?

If I disconnect from WiFi and use the SIM card currently in my iPhone, and I go to one of the websites that tell me my public IPv4 and IPv6 address it shows that the mobile internet connection I have with this SIM card is IPv4 only.

iPhone 14 Pro

just checked again on an iphone se, 1st-gen, ios 15.x on t-mobile reseller in germany:

actually there is a v4 default route on the wwan-interface that appears to be a p2p link (192/32) probably to a cgnat.

besides 127/8, there are a only v6 routes, a lot of them.

how do you check the routing table from the iphone? a jailbreak? some app?
Hurricane Electric Network Tools can do it.

Its an app.

kind of brings up the question if all apps can do this