Wednesday, April 23, 2008

Torrents

Torrents. The very word is enough to make most people think of illegal downloads for music, movies, p0rn, games, etc. While torrents are used for illegal applications, there are also a ton of files out there that are perfectly legal to download and as such torrents should not be dismissed as inherently evil. Comcast recently tried to do that by using “network management” to effectively shut down bittorrent programs running on their networks. Ignoring the fact that many users are downloading and distributing legal files, Comcast began to insert TCP reset packets into the communications streams (masking their actions by making it look like a legitimate peer sent the packet) to stop the flow of information. As such, torrents have come into the news recently as Azureus and other torrent program makers have brought complaints against Comcast, enough that the FCC has stepped in to investigate.
The way that torrents work is that an individual marks a file or collection of files on their machine as something that they would like to share. They place the files out where others can connect to them and begin downloads. When others download the file or files, the downloader is also able to upload what they have already received in order to take some of the burden off of the original uploader. After the download is complete, the user also has the option of remaining connected and allowing others to download that file from them as well as the original source. This way, no single person (or server, or network) is responsible for hosting a file and making sure that they have enough bandwidth to allow anyone to download it, the burden can be spread out amongst hundreds or even thousands of machines and users. Also, since the files are spread out among computers that are possibly all over the globe, downloaders can connect to machines near to them to achieve better speeds.

I can hear a lot of people out there asking: If torrents can be used to download illegal music and software, then why shouldn’t Comcast be allowed to cancel the connections and stop them from using bandwidth? Well, torrents can also be used for good. For example, one of the reasons that many distributions of Linux (like Ubuntu) can be freely distributed is that the distribute them via torrent. This way, the makers don’t have such a large crowd slamming their HTTP or FTP download servers, and this allows them to focus a smaller percentage of their resources on distribution. In addition to being used to distribute freely available files and programs, torrents can also speed up file replication and distribution. One university in Holland had their IT department use torrents to roll out updates and patches to 6,500 PCs. The total amount of files to be pushed out was 22TB (that’s 22,000GB, no small feat). Instead of the usual 4 days that it used to take, all the updates and patches were rolled out in 4 hours. Note, it took 1/24th the amount of time that it used to take to roll out the updates thanks to torrents. Hit the link for the full story (http://arstechnica.com/news.ars/post/20080309-dropping-22tb-of-patches-on-6500-pcs-in-4-hours-bittorrentdropping-22tb-of-patches-on-6500-pcs-in-4-hours-bittorrent.html).

Now, why did the whole Comcast mess blow up as bad as it did? Well, when Comcast was forging those reset packets to kill the connections, it was masquerading as a valid peer. Hackers do the same thing and get prosecuted for it, but Comcast felt that it was ok for them to use the same tactics because it was their network. Unfortunately, they messed with the wrong group of people. A good percentage of torrent users know a fair bit about computers themselves and so they were able to figure out what Comcast was doing and decided to fight back. I haven’t seen the results from the latest FCC meeting, but Comcast has recently added some new information about their “network management” methods to their website so that people know what kind of applications may be degraded in order to allow everyone else to enjoy their connections as well. Of course, that opens up a whole new can of worms. What gives Comcast the right to decide what applications will be degraded? Yes torrents use a lot of bandwidth by nature, but they cannot take what is already being used. Besides, as streaming video becomes even more widespread it is using more bandwidth than torrents. Azureus and other software vendors are concerned that customers will not be able to use their products if Comcast decides not to allow them to access bandwidth as they need it. That would be like trying to drive down a highway in your Ford truck only to be told that this highway is reserved for Honda Civics instead. Doesn’t make a whole lot of sense, does it. What if Comcast decided to start throttling online games like World of Warcraft or anything running on the Steam network? The people that paid for those products would be acting just like the torrent users that are getting screwed. Besides, the product that Comcast sells is access to their network in order to send and receive data. What is contained in that data is not specified in their terms of agreement. That means that what you send or receive should not matter at all to Comcast and they should not be able to throttle your connection based on the data.

One problem that Comcast is trying to get across is that they simply are running out of bandwidth. Comcast sells packages with download speeds of up to Xmb/s, but there is virtually no way that you will actually get to that theoretical download speed because there are other users online at the same time. Unfortunately for Comcast (and all other ISPs) they oversell their product and that means that they can’t handle the traffic. If everyone gets online at the same time and tries to download files, stream video, make VoIP calls, and browse the web, then the pipe gets clogged and everyone’s connection speed will drop to a crawl. I don’t really see how they can get away with operating that way. Imagine if you were to go to get into the shower one morning and could only get the water to drip out because everyone else on your block was showering or washing dishes or clothes. I imagine that you’d be pretty ticked that they couldn’t handle the volume. Another example is if an airline overbooks a flight. You bought a ticket for that flight, but you might get kicked off because there simply aren’t enough seats for everyone. Doesn’t it make you wonder how they can run a business like that?

Comcast tries to blame the bandwidth problem on torrents, saying that they use all the available bandwidth and that putting in bigger pipes would just give the torrents more bandwidth to suck up and would leave them right back where they started. Of course, what they are ignoring is the fact that no user can use more than the Xmb/s than they are paying for. If they were to improve the network to be able to handle the customers that they are currently providing service to, then the torrent users would not take up any more than any other user. Sounds like a simple solution, but Comcast just doesn’t seem to understand it.

Luckily I use Charter here in Texas and it does not appear to me that they are throttling any applications and they have not been in the news as screwing over their customers nearly as much as Comcast has. Anyone have any thoughts?

No comments: