Okay, several people have asked me about BitTorrent, so I’ll throw out what I know. I’m no expert, but I’ve used BitTorrent successfully, read some bits on its inner workings, and have a general understanding of how it works. Some of the technical details I give won’t be quite right, others obviously wrong, but they should suffice for a decent overview.
BitTorrent is a peer-to-peer sharing protocol popular for use with large files because it allows for restablishing and continuing downloads. That is, if you lose your connection with 99% of the download done, all is not lost. BitTorrent allows for (even depends on) a large download to be broken into many smaller chunks. These chunks come from any number of different peers (others on the BitTorrent network just like yourself). In this way, once you’ve downloaded a small chunk, it’s “yours”. If your connection is lost, the only loss to you is the small chunk that you were in the middle of downloading.
Think of it this way. You’re baking a cake and need some sugar, milk, flour, and icing. You go to the store and get the sugar, milk, and flour, but they are out of icing. No problem; you can be making the cake while someone else goes to a different store to get the icing. The cake won’t be complete, but you can be working on it in the meantime. Under the BitTorrent model, your neighbor can come over and borrow a cup of sugar while you’re waiting.
I’ll use decaturpc’s favorite Linux flavor, Ubuntu, as an example. You want to download the latest Ubuntu iso and, for whatever reason, don’t want to use their website. You can go out to piratebay.org, isohunt.com, or any number of other torrent-searching sites. (A word of caution: don’t let the kids do it. You will, more than likely, run into some material that is geared toward a more mature audience.)
Ahh, here it is: “Ubuntu iso image”. What’s this other stuff? Leechers? Seeders? And why is the torrent file so small?
The torrent file (usually a .torrent extension), is simply a pointer to a “tracker”, someone who keeps track of where to find all the little chunks of your Ubuntu iso. The file may also contain some information about how the chunks are divided up. (Here is where my technical details may fail, but they are not important to be able to use BitTorrent.) At any rate, the .torrent file is not the ends but the means. The ends are stored on multiple different systems (peers), one of which you will become shortly.
A Seeder (or Seed) is simply a peer who already has the entire (in this case) Ubuntu iso image. They have all of the chunks ready to go. They may be the one who original started the torrent or simply someone who has finished the download and is allowing others to access it.
A Leecher is not as bad as it sounds. The Leechers simply don’t have the entire file yet. They are generally sharing what they have, but their chunks are incomplete. If they have a chunk that you don’t, you can get it from them. They are not just sucking up and giving nothing back as the name sort of implies. You will be a leecher until your download is complete.
Now that you have a little background, know the lingo, and are generally 1337, let’s get a client. Yep, you’ve got a torrent file in your grubby little paws; what are you going to do with it? Google is your friend. Bittorrent. Client. I got 5 million hits in about a tenth of a second. What’s the best one? Dunno. Pick one and try it. If you don’t like it, try another. Personally, I use BitTornado because 1) I saw that it got good reviews once upon a time, 2) I’ve never had trouble with it, and 3) it does what I want so I see no reason to change. I have heard good things about Azureus, but I’ve never used it….
Anyway, install your client-of-choice and open the .torrent file with it. You should see it finding peers, seeds, etc. Then it’ll take off in a blazing fury of downloading goodness! Nope, not quite like that. More likely than not, it will start slow and ramp up and down. The whole model is somewhat based on upload amount vs. download amount. VERY roughly speaking, the more you upload, the more you will download. With that in mind, remember that, in the beginning, you have NONE of the chunks, so no one is interested in you and your upload rate remains low. Over time, however, you will get more and more chunks; more and more peers will be interested in what you have (because they don’t have the same chunks as you), your upload rate goes up, and speed picks up.
***This is not always the case. I have seen torrents with such vast numbers of peers that upload rates were not a concern. This resulted in such fast download rates that I was only limited by bandwidth. Generally speaking, however, the BitTorrent model depends on users uploading as well as downloading. Otherwise, the network kind of falls apart.
So you get all of your chunks, your download is complete, you’re done. Well, to complete the cycle, you should keep the client active for a while and let others benefit from you as you have from those before you. Remember, the whole model depends on you giving back. There are no hard and fast rules, no one will ban you for shutting down your client once you’ve gotten what you want, and sometimes just no one is interested in what you have. I usually leave it up for a day unless the upload rate drops to nothing; at that point, why bother? That’s just me.
Good luck, have fun, and behave.
Adam