Numbering The Days Until BitTorrent Dies
Jan 9, 2009
This blog poster, really thinks BT will die, don't think so though
An interesting Internet Draft came over the transom today: Behavior of BitTorrent in an IP Shared Address Environment. Here's the abstract:
This memo describes the behaviour of BitTorrent service in the
context of IP shared addresses. It provides an overview of the used
testbed and main results of the tests that have been conducted in
order to assess the limitations of an architecture based on shared IP
You may be familiar with BitTorrent. It's the protocol used by various software applications that allow you to find and download LargeMediaFiles, e.g. music, videos, etc., often under questionable interpretations of international copyright and digital anticircumvention laws.
The phrase "shared IP addresses" might not be familiar to you. Here's the section of the draft that tries to explain the concept.
Recently, several proposals have been disseminated within IETF to
contribute to solve the IP exhaustion problem. These solutions may
be grouped into two categories:
(1) Solutions which propose the introduction of a second level of
NAT (Network Address Translator), denoted also as Carrier Grade
NAT (CG-NAT). This node is located in the Service Provider
domain. Private addresses are assigned to end-user CPEs, which
still perform their own NAT. The CG-NAT is responsible for
translating IP packets issued with private addresses to ones with
publicly routable IPv4 addresses (especially when exiting the
domain of the Service Provider).
[ID.durand-softwire-dual-stack-lite] is a variant of these
solutions where there is only one NAT hosted in the Service
(2) Solutions which avoid the introduction of a NAT in the Service
Provider's network. Examples of these solutions are
[ID.ymbk-aplusp], [ID.boucadair-port-range], [ID.despres-sam] and
[ID.bajko-v6ops-port-restricted-ipaddr-assign]. These solutions
allocate the same IP public address to several customers at the
same time. They also allocate a restricted port range to each
customer so that two customers with the same IP address have two
different port ranges that do not overlap.
Both the above listed categories are based on sharing an IP address
between several machines. In this context, the delivery of some
services may be impacted, especially those enforcing a restriction
based on the source IP address.
Now is a good time to note that the IP exhaustion problem is very real and it's a pressing concern for Internet service providers. These shared IP address proposals are aimed at finding a way to cope with the fact that uptake of IPv6 has not really happened, and something needs to be done to meet the projected growth in demand for Internet service when IPv4 is the only thing anybody wants.
So, what are the "main results of the tests" the draft reports? I'll summarize the conclusion for you: as long as A) the BitTorrent clients flip their allow_same_ip bits from FALSE to TRUE, and B) you don't exhaust the restricted range of ports, then everything seems to work fine. Otherwise, things are intolerably slow, so you can bet that BitTorrent clients are going to switch their default configurations one by one until they all do it.
It's the rocks of the restricted port range exhaustion problem upon which BitTorrent will be wrecked.
Today, if you're a BitTorrent user (and you're not a freeloader), then you've probably got a handful of TCP connections open to various peers at all times. These don't eat a very large portion of the full 16-bit port range, so you don't notice them when you're surfing the web or doing other things with your Internet service. But they'll certainly eat a very large portion of the restricted port range your ISP will allocate to your NAT gateway from the IP address you're sharing with everybody in your neighborhood.
So what will happen? Your web applications, like Facebook, will start to suck — mostly the ones that involve a lot of Web 2.0 features where the browser has to open a lot of TCP connections to a whole bunch of different addresses if it's going to render your page properly. Word will get around: you can do BitTorrent, or you can do Facebook, but not both at the same time. Guess which one will get turned off. That's right, the one that isn't delivering immediate gratification. How long will it stay turned off? Will it get turned back on?
BitTorrent works because people leave their clients turned on when they're not downloading anymore so they can pass the bits along to the next client that wants to download the same file. It's predicated on the idea that it doesn't cost the downloader anything extra to do this. With these new shared IP address regimes, all that changes. Load on the seeders will go up. The number of freeloaders will increase dramatically. Overlay operators will have to respond by making BitTorrent suck for all clients behind shared IP address NAT gateways in order to prevent them from ruining the party for everybody else.
"But, wait! BitTorrent over Teredo will save the day," I hear you thinking.
Sadly, no. It. Won't. Teredo depends on service providers deploying functioning relay routers. It's also easy for service providers to block access to independent relay operators, especially in a shared IP address regime where the relay needs to know about the port restriction. As you may have noticed, service providers haven't been deploying relays. What you may not have noticed is that service providers are also blocking access to independent relays. There really isn't anything the BitTorrent trackers can do to help here without damaging the utility of Teredo as an IPv6 transition mechanism.
"It's okay. BitTorrent users will just migrate to service providers that don't run shared IP address networks," I see you grasping.
Oh, really? And how much extra per month do you think BitTorrent users are willing to pay for Internet service that assigns their NAT gateway a full public IPv4 address? And did you think about what it means that service providers have a sorting function now that moves all the BitTorrent users into a class of service that nobody else needs or wants. Think about it: if you're the lowest common denominator user, and you don't use BitTorrent, you'll save the ten euros per month and go with the share IP address service; if you're somebody who really needs static IP addresses because you have servers at your house with addresses named in the DNS, then you're going to spend the extra euros for the pro-level SOHO service where you get a block of static addresses assigned to your home network.
The only people who really need the kind of service that seems ubiquitous now, i.e. the dynamically assigned single public IPv4 address at the NAT router, are the BitTorrent users. If you're a service provider, then you'll probably just eliminate that kind of service entirely as soon as you can. As an Internet user, you will have only two choices available soon: A) low-cost shared IP address service unsuitable for regular use with BitTorrent (and lots of other weird applications), and B) expensive full statically allocated IP address service almost like what John Gilmore would want.
Do not think any of this is an accident. It is not. Service providers hate BitTorrent users because they blow out their pretty traffic engineering models, so anything that makes them unhappy and forces them into the pro-tier of service is worthwhile on general principle. One of the main reasons the service providers hated IPv6 so much is that, rather than make P2P networks harder for their customers to create and operate, it actually makes them easier. Blech! Must kill IPv6 with extreme prejudice.
So, this is why I think I can predict that BitTorrent is likely to go the way of Usenet. It was fun while it lasted, me hearties, wasn't it?
Source: Numbering The Days Until BitTorrent Dies