FYI.

This story is over 5 years old.

Tech

Keep Calm and Keep Assigning IP Addresses

An explanation of that new IPv6 protocol you keep hearing about.

We're running out of IP addresses.

An IP address is a unique numerical identifier for a device connected to a network. Your phone has one, your computer has one, and your Apple Watch has one.

It's not just personal electronics, either. Everything connected to the internet needs to be assigned an IP address: smartphones, smartwatches, smart space heaters. The Internet of Things is more than a just a buzzword, and all those Things are using blocks of IP addresses

Advertisement

Everything that connects to the internet needs a unique IP address, and we just ran out of unique addresses for North America last week. There's a waiting list for new ones. New unique addresses are crucial because lots of software applications that attempt to send out to specific addresses have to be updated to handle duplicates. It works, but it's costly and inefficient, and brings back a problem mobile devices were partly meant to solve: It'd be like everyone in a household sharing one phone number again and passing along the texts and calls that aren't for them until the caller reaches the person they were looking for, but on a much bigger scale. That may not sound too bad, but think about software like Voice over IP services like Skype. The speed and reliability of end-to-end connections is crucial.

This problem is no surprise to anyone who's been paying attention. In fact, we'd have run out of IPs completely back in 2011 if not for some clever stop-gap measures. There are just more devices getting connected to the internet than were anticipated when the framers of the original internet protocol were setting things up.

Enter IPv6, or Internet Protocol version 6, the latest version of the protocol that describes how devices are identified on the internet. The current protocol that we've exhausted is IPv4. (What happened to IPv5? It's complicated, but the gist is that the version 5 name was used for an internet streaming protocol that never really went past the experimental stage.)

Advertisement

IPv4 theoretically supports 4.2 billion addresses, which in the 80s, must have seemed like a lot. Of course because the actual use of IP addresses involves a lot of sub-networking, unused address blocks, and addresses reserved for testing and other maintenance, in the real world we can't approach anywhere near that theoretical full usage.

When you also consider that by 2016 there are expected to be over 2 billion smartphone users alone—to say nothing of other network connected devices—that number doesn't seem like all that much for a population of seven billion people.

This is why the IETF, the independent organization that writes standards and protocols, started developing IPv6 in the late 1990s. IPv6 will support several orders of magnitude more addresses than IPv4. But in order to understand how this new trove of addresses works and why it's important, you have to understand what an IP address is, and why every device needs one.

When you connect to the internet, more often than not, you're not doing so directly. You're connected to a network provided to you by your Internet Service Provider (ISP), on the Wi-Fi network at your job, or one at school or in a coffee shop. You connect to this network, and the network passes your requests along and retrieves data from the wider internet.

Usually, ISPs have blocks of IP addresses at their disposal that they assign as needed to individual servers, businesses, and modems. This explains how a lot of common tracking happens; someone who finds your IP address can estimate your location by comparing it to databases of assigned IP address blocks. The router you or your ISP installs in your home will have a subrange of IP addresses it can hand out to individual devices connecting to an internal network. Your home computers, your tablet, your phone, et cetera will all have IP addresses that identify that they're part of a network being connected all through a router, which controls internal computer-to-computer communication from leaking to the outside and moves all traffic through the modem and onto the internet.

Advertisement

You can think of them as functioning like both street addresses and phone numbers. When you for example, log onto your modem at home, your ISP has allocated it an IP address from a pool of addresses it has for your location. The IP address assigned to your device can change based on a number of factors. Signing on to another internal network or even just unplugging and restarting your home modem can change your IP address.

The addresses in IPv4 are 32 bits long, and look like four groups of numbers separated by a decimal. The addresses in IPv6 are 128 bits long and look like eight groups of hexadecimal numbers separated by a colon. Hexadecimal is just a number counting system that, unlike the normal base-10 system, is base 16, because it uses both the digits 0-9 as well as the letters "a" through "f" to represent 10 through 15. Wikipedia has a pretty good image showing the comparison of an IPv4 address and an IPv6 address:

Image: Wikipedia

IPv6 in theory can support 2128 new IP addresses, or more precisely, 340,282,366,920,938,463,463,374,607,431,768,211,456 new IP addresses. That's enough for a population of 7 billion people to have 48,611,766,702,991,209,066,196,372,490 addresses for each individual person.

For now, the two have to coexist, as some devices and services just aren't equipped to use IPv6 addresses yet. If the adoption of IPv6 becomes widespread enough, it should eventually phase out IPv4 as devices ship out IPv6-capable, then IPv6-only versions. With 340 undecillion (yes, that's how you say it) IP addresses to choose from, every cell in your body could have its own address. If the internet of things gets any bigger, who knows, they might need them.