The Internet is broken. Not in a “I-put-the-Internet-in-the-recycle-bin” kind of way, in the “data-won’t-go-from-one-computer-to-the-other” way. You probably don’t believe me, which is understandable considering that you’re reading this over the Internet. Let’s try a little experiment.
Chances are you’re behind a router. Open up AOL Instant Messanger (or a reasonable facsimile) and try to send a file to someone else behind a cable modem. Chances are it won’t work, because the Internet is broken. This is one example, there are plenty others. Enabling computers to talk to each other is the fundamental purpose of the Internet, but as it stands personal computers have to go through servers to talk to each other.
What’s happened is these NAT routers that enable multiple computers to connect to a single cable modem aren’t a perfect solution. They’re a horrible solution, in fact. The networking equivalent of using water in your radiator – it’ll work in the short term but come winter your pipes will explode. John Walker, creator of AutoDesk, has written about this and other threats to the Internet in The Digital Impimatur.
The typical home user never notices NAT; it just works. But that user is no longer a peer of all other Internet users as the original architecture of the network intended. In particular, the home user behind a NAT box has been relegated to the role of a consumer of Internet services. Such a user cannot create a Web site on their broadband connection, since the NAT box will not permit inbound connections from external sites. Nor can the user set up true peer to peer connections with other users behind NAT boxes, as there’s an insuperable chicken and egg problem creating a bidirectional connection between them.
Sites with persistent, unrestricted Internet connections now constitute a privileged class, able to use the Internet in ways a consumer site cannot. They can set up servers, create new kinds of Internet services, establish peer to peer connections with other sites–employ the Internet in all of the ways it was originally intended to be used. We might term these sites “publishers” or “broadcasters”, with the NATted/firewalled home users their consumers or audience.
There’s a lot of things that you can do with an Internet connection that you can’t do with a NAT connection – for instance sites like LegalTorrents give preferential treatment to people on Internet connections and gamers behind NAT connections can’t host games. So why do people use NAT routers?
Most ISPs only give their customers 1 IP address, which allows a computer to communicate on the Internet. If you want to hook up more than one computer, you either need to buy a NAT router or more IP addresses, assuming that your Internet provider even offers them. ISPs are only stingy with IPs because IP addresses aren’t as plentiful as they once were.
Routers typically assign their computers addresses that start with 192.168, 172.16 or 10. These are parts of the Internet dead zone – it’s impossible to communicate across the Internet to these addresses. Since you can’t reach them, routers use them as private addresses. So even though your computer has an IP address 192.168.0.2 and your friend’s computer is 192.168.0.3 they can’t talk to each other because they’re on private networks. That’s why your file transfer fails.
The current system the Internet uses is IP version 4, which is limited to roughly 4 billion addresses, give or take. While that seems like a lot, think of how many IP addresses you personally have. There’s your computer at home, your computer at work, your cell phone (yup, they have IPs), your TiVo (it updates over the Internet) or your XBox or your PocketPC or anything else that uses the Internet. Suddenly 6 billion people sharing 4 billion addresses doesn’t seem that plentiful.
It seems odd that something as ethereal and arbitrary as IP numbers could be scarce. After all, if we run out can’t we just make more? Unfortunately, that would be a bit like printing your own form of currency when your run out of money. No one would know what to do with the new stuff, so it would be worthless. What’s needed is a new set of IP numbers that have enough addresses for now and the future. Geeks reading this already know what I’m getting to: IPv6.
IPv6 has roughly 1,200,000,000,000,000,000,000,000 addresses to IPv4’s 4,000,000,000 addresses. If we used IPv6 instead of IPv4, every computer on the Internet would have its own IP address and we could freely send files or host games on our XBoxes or do any number of things that come with being a real Internet citizen. Great, so where do you sign up? Not so fast.
The good news is that most operating systems support IPv6 – Windows XP and 2000, Mac OS X and (unsurprisingly) Linux. Unfortunately, there’s a bit of a chicken and egg problem with IPv6. IPv6 doesn’t have backwards compatibility built in, so people on IPv6 networks can’t talk to the IPv4 Internet. Since few people are using it, there aren’t many services for it. And since there aren’t many services for it, few people are using it. The NAT router solution is “good enough” for most people, and they don’t know that things could be better.
OK, hopefully I’ve convinced you that there is a problem with the Internet. Luckily, there’s a way to slowly migrate from IPv4 to IPv6 – upgrade Linksys NAT routers.
While I can’t find the market data, my own experiences tell me that Linksys is the most popular NAT router provider for people on home broadband. They pick up one of Linksys’ little purple boxes, plug it in and it works. They make a quality product and its hard to argue with that.
There’s a program called 6to4 that will allow IPv6 networks to talk to each other through a gateway. If Linksys were to start installing this software by default on their routers and providing a gateway to connect their users, this would jump start the IPv6 revolution.
If they included IPv6 software, not much would be different from the perspective of users. People would still just plug it in and it would still just work, but it would also be assigning compatible computers IPv6 addresses in addition to those 192.168 IPv4 addresses. That would provide enough of a market to get a few niche applications ported. Suddenly people who were using IPv6 AIM would be able to transfer files, or IPv6 XBox Live would allow anyone to host a game. That would be enough to drive the push to IPv6, and within a few years cable and DSL providers would start offering IPv6 addresses.
Now I like to think I’m a pretty smart guy, but the people over at Linksys are much smarter than me, especially when it comes to networking. They’ve most likely thought of exactly this plan (if they haven’t they are more than welcome to implement it with my blessings). So why haven’t we seen any movement on this front?
Linksys is the biggest provider of NAT routers, and NAT routers are a huge part of Linksys’s customers. When IPv6 finally comes into its own, no one will need routers. That will put a huge dent in the bottom line, and could possibly shut them down. So what incentive does Linksys have to take the initiative on this front, if IPv6 will ruin their business? To me, it seems like a classic market faliure (unlike QWERTY) and I have serious doubts as to whether we’ll ever get IPv6 addresses.