Coded blue, I think.

Friday 23 January 2004

Screenshot anime Uninhabited Planet Survive

Pic of the day: It would be too bad if people couldn't get the chance to see pretty anime like this, "Uninhabited Planet Survive". Cute, isn't it? (Or as Luna would have said: Kawaii, ne?)

BitTorrent and firewalls

I have in the past mentioned the file sharing program BitTorrent (often shortened to BT). It is particularly well suited for sharing large files, so it is popular in the anime fansub community where we share Japanese cartoons that are translated and digitally subtitled by fans. It is not so good for sharing small files like songs, and it is a bit too transparent for stuff that is out and out criminal, like pirated software or cinema movies. Having never dealt in those other files, I don’t know whether those other systems have the same limitations, but I would expect so.

The problem is that file sharing and firewalls don’t go well together. This makes sense, since the file sharing program needs to exchange a lot of data without using the normal web browser, e-mail or FTP channels. Instead, BT at least uses 1-9 "ports" (one for each instance of the program, up to nine) for the communication. These are not physical ports on the PC (not to mention on the coast) but software addresses. The point here is that firewalls close all these ports (and there are by default a lot of them open).

From what I have found out, users with a firewall can still send signals out and register on the tracker, and they can exchange data when communication is established with another client or a seed. (In BitTorrent, you start distributing a file you have received after approximately 1MB, without waiting for the whole file. Each client gets such pieces from any other client, and fit them together like a jigsaw puzzle. This technique is called "swarming". A seed is a complete copy of the file, needed to get the swarm started.)

But users behind a firewall cannot contact other users behind a firewall. A user without a firewall (or with holes punched for the ports he is using) can contact anyone and be contacted by anyone. (This communication is handled automatically by the program ... you don't sit there with a list of other clients and IM them or anything like that!)

When a file is newly distributed, the clients tend to be a mix of users with and without firewalls. But because the clients without firewall get contact with more other clients, they have an advantage when there are fewer people in the swarm. At this point, the speed of your download connection may no longer be the limiting factor, but the upload speed of the other users. These days it is common with Asynchronous DSL, which has far higher download than upload speed. While the non- firewalled clients are active, they connect to all others in the swarm (unless the swarm is too large for that, in which case this is not a problem). While they are connected, they both download and upload. But because upload speed is usually limited, they download much faster than they upload. So they finish first. When they log off, the remaining clients (with firewall) are unable to connect to one another. Eventually that may be all there is left ... a bunch of leeches behind firewalls, unable to connect to each other. The torrents stops in its tracks, no one uploads or downloads.

***

I don't use a firewall when file sharing. My ISP (Telenor) has Network Address Translation. That means the IP address other programs on the Net see is not my real address, but another. Legitimate requests are automatically rerouted to the real address, but low level probes will fail. The security is good enough for me, especially since I don't do stuff that lets in viruses, worms or Trojans.

When I connect to a tracker with an old torrent, the firewalled users are just standing idle, often left halfway through the download. (And since the puzzle pieces are sent randomly, they don't all have the first half either.) Even if none of them have all the pieces, those pieces may be spread throughout the swarm, it's just that the clients cannot connect to each other and exchange the missing pieces. That's where I come in. Since I can connect to all of them, I can get the pieces from each and in exchange share with the others.

There are people who do this in real life too, but that’s another story. And a more interesting one, for sure. But this is what I do right now.


Yesterday <-- This month --> Tomorrow?
One year ago: Guu!
Two years ago: Quarrel with God
Three years ago: The stupidity economy
Four years ago: Sun day
Five years ago: Washing floor

Visit the Diary Farm for the older diaries I've put out to pasture.


I welcome e-mail: itlandm@online.no
Back to my home page.