IP (v4) addresses have run out

In the 90s, phone numbers were going to run out if we didn’t take the plunge and switch from nine digit 0x-xxx-xxxx numbers to ten digit 0x-xxxx-xxxx numbers. The telecommunications industry (led by… was it Austel?) got everybody switched over okay.

(In the US, they decided not to expand the number of digits for local numbers, instead using multiple area codes per city. New York City for instance has five different area codes. Which I assume means you’d increasingly have to dial (xxx) xxx-xxxx to make a local call. Confusing.)

Now IP addresses are in short supply.

The Number Resource Organization (NRO) announced today that the free pool of available IPv4 addresses is now fully depleted. On Monday, January 31, the Internet Assigned Numbers Authority (IANA) allocated two blocks of IPv4 address space to APNIC, the Regional Internet Registry (RIR) for the Asia Pacific region, which triggered a global policy to allocate the remaining IANA pool equally between the five RIRs. Today IANA allocated those blocks. This means that there are no longer any IPv4 addresses available for allocation from the IANA to the five RIRs.

Free Pool of IPv4 Address Space Depleted

It’s happened because of a huge expansion in IP addresses allocated to everything from home computers to laptops to portable devices to fridges. Technologies such as NAT help share the addresses around (for instance all the computers in your house sharing a single IP address visible to the world, allocated to your router/modem), and will be important at least until the switch is made to the new standard.

The problem is it’s not so easy to get everyone to switch from the old standard, IPv4 (eg 123.456.789.012), to the new one, IPv6, which has a lot more capacity.

Newer computer operating systems cope fine with the new standard. If I “ping localhost” (eg ping my own computer) it doesn’t tell me it’s looking at the old familiar IPv4 address of 127.0.0.1, but instead calls it [::1].

Pinging IPv6 vs IPv4

Pinging it by name (Tintin) gives me the full IPv6 address. But pinging anything out there on the internet gives me the old IPv4 address. [See picture]

Part of the problem is, as Wikipedia notes:

Because the headers of IPv4 packets and IPv6 packets are significantly different, the two protocols are not interoperable.

I assume that means that for a switchover, every device, including all the routers and modems and equipment at ISPs and elsewhere on the network, needs to make the transition across to the new standard.

It’s likely to be invisible to consumers, who will continue to use domain names (eg example.com) rather than IP addresses, but it could get messy for geeks having to implement the changes.

Perhaps, unlike phone numbers, it takes the old addresses running out to force the switch to happen.

Update: Computerworld has an article comparing where different Australian carriers are up to in adopting IPv6.