IPv6, peer to peer and the future of the internet
Published: September 08, 2012Tags: ipv6 p2p privacy internet
It seems like a huge swathe of people's mental model of IPv6 basically consists of it being all about the larger address space and that's it, which is a real shame. For me, the really big deal about IPv6 is not the extra addresses themselves, but a flow on consequence of them. All the extra addresses means we can do away with NAT, and doing away with NAT means doing away with the long standing and completely artificial divide of computers on the internet into dedicated consumers and dedicated producers. Because 90% plus of home internet users sit behind a NAT device, their machines can't reliably act as servers. You can configure port forwarding, of course (if you have the know-how), but you can't have multiple machines listening on the same port at the same time with port forwarding.
This might sound like something that 90% plus of people don't care about if you think in terms of running traditional servers, like web and mail servers. But when every computer on the internet can accept incoming connections on standard ports, this enables far more extensive use of peer to peer networking. This is significant.
Right now, when you chat to somebody over, say, MSN Messenger (possibly an anachronism today, so substitute your IM system of choice - Skype?) every message goes from your computer to a computer operated by Microsoft (or whoever) and then to your friend's computer. Microsoft acts as a man in the middle, and the only reason they do so is because NAT makes it difficult to do otherwise (though not, strictly, impossible). In an IPv6 world there is nothing to stop your computer and your friends computer connecting directly to each other and sending messages that way. This also goes for video chats, file transfers (finally solving this embarrassing situation), some aspects of multiplayer gaming, and much more. The modern internet experience is facilitated by a menagerie of middlemen who will be obsolete when ubiquitous IPv6 makes ubiquitous P2P networking possible.
This has several advantages. It can increase the speed of file transfers / decrease the latency of audio and video streaming in some circumstances, like if you and your friend live in the same city and the middleman is interstate or in another country. It increases your privacy because there are no middlemen to snoop on you (except your ISPs, of course, but application level encryption can solve that problem) and no central record stores to be lost or stolen. It increases the robustness of your internet experience, because there are fewer points of failure. If your middleman's servers go down, you and your friend can't communicate even if both of your computers and connections are running just fine. In a P2P world, you can communicate unless there's a problem with either endpoint or the ISPs involved - and that's true of any architecture, so P2P achieves maximum robustness.
Of course, just because IPv6 will enable this kind of future internet, doesn't mean it will happen. People will move to IPv6 for the address space, not for the P2P abilities, which could and probably will be ignored. I'd really like to see the internet evolve in this way, decreasing the role of centralised servers and using P2P connections wherever possible, but I can't say I'm optimistic. The new hotness is, of course, "the cloud", which is basically an orgy of centralisation. It also feels like only a minor stretch to imagine a future in which young people can't conceive of doing anything on a computer that isn't inside a web browser, which basically means everything going through a middleman by default.