Here’s a very cool “map” of the IP address space circa 2006 in the web comic xkcd.
What surprises me about the map is how much unused space there is. Had you asked me before I saw this map, I would have said I thought the IP address space was nearly filled up.
IP addresses are 32 bits long, which means there are about 4 billion possible IP addresses. That works out to less than 1 address per living human. Okay, so not everyone is going to have a computer on the Internet – certainly most people in third world countries won’t – but that still works out to about 13 computers per US citizen. Certainly every US citizen isn’t going to have 13 computers, but many people will have 2 – or more – 1 at home and 1 at work. And companies have lots of computers acting as servers, and universities have lots of computers sitting in labs for general use. And on top of that, I knew that top-level slices – 1/256th of the IP space (each with about 15 million addresses) – had been allocated to companies, such as Apple, and therefore that a large slice of the space had been allocated but was probably not being used (if you think Apple has 15 million computers in use on its campus, you’ve got another think coming). Among all of this, I would have guessed that we’d use up the IP address space sometime in the next 10 years.
Instead, about 1/4 of the top-level subnets are not allocated at all.
I think I basically grossly overestimated how many computers there are: Probably there’s less than 1 computer in the US per citizen (there were about 190 million in early 2005), and less than that across the rest of the world. And fewer top-level slices had been allocated to companies than I’d thought, so there’s less potentially-allocated-but-unused space. Plus, the use of NAT on local networks means multiple computers can share a single IP address, which I think is a common setup for home networks where all the machines are clients (rather than servers). This is how my home network is set up, for instance.
I still wonder if we’ll run out of IP addresses in my lifetime, though. Especially if we have some sort of nanotech breakthrough where we have large numbers of very small computers which all need their own unique network identifiers. “I’m sorry, the singularity had to be delayed because we ran out of IP addresses.”