Wednesday, October 17, 2007

The End, take 2

This version of the end of the internet as we know it is a bit more subtle than simply running out of numbers. This one is usually described as the "routing" problem. Let's see if I can describe it for folks who don't naturally count in binary.

For an analogy, let's talk about the post office and the zip code system. The way US mail works is pretty simple, actually. Mail gets sent to regional centers, where it's sorted into sets of mail based on the zip code on the envelope. (It's actually a bit more complicated, but let's stay with this for a moment.) Imagine that a sorting center can only handle 1,000 buckets, perhaps due to a limit on available physical space. There are, on the other hand, 10,000 zip codes. Fortunately, not all of the zip codes are in use.

Pretend that only 500 are in use. In that case, everything works great - there's plenty of bins to cover all of the zip codes. The number of zip codes in use slowly grows, however, so at some point there might be 950 zip codes in use. While there's still enough bins, there's clearly a limit coming. Perhaps the post office decides to upgrade their facilities to support 2,000 bins. That's an excellent solution, for the short term, but you eventually run out of available bins. The only solution is to build 10,000 bins. (Or, do something entirely different, like sorting regionally on the first three digits, and then sorting locally on all five digits, which is actually more how it works.) If there's not room for 10,000 bins, you'll have to get creative. If some facilities can support 2,000, while other can support 3,000, some of this model can get kinda complicated.

In the internet, IP addresses are used to route traffic. (Remember those from yesterday? They look like, for example.) We don't use a fixed set of those digits for routing, but it's sort of like the idealized post office described above. We're running out of bins, and it's difficult to make enough.

There's another angle to this problem, too. The post office doesn't specify where you live in your zip code. That's only used to get the envelope close to the right general place. The identifier for where you live is your street address. In the internet, that IP address is used for both functions: it identifies where you are *and* who you are. That combination is helping to fuel how fast we run out of bins. This is, in the industry jargon, the loc/id split problem. (For the truly geeky, go read the IRTF RRG working group's mailing list for waaaaay more information than you really want.)

To get back to our analogy, if the Internet worked like our fictional post office, we'd need bins not just for all of the zip codes, but for every single possible mailing address, and that's just to route letters to the right place! As you can imagine, this is a bit of a scaling problem.

I'll admit that this one is a bit more obscure than simply running out of addresses, but it's just as nasty for the ongoing operation of the Internet.

In my previous post, I mentioned NANOG, the North American Network Operators' Group. They are definitely worried about this one. I kind of did these posts out of order, though, 'cause the group really worried about the addressing problem is ARIN, the American Registry for Internet Numbers.

Lots of very smart people are working on both problems. Let's hope they get it figured out before it all breaks!

No comments: