WidgetBucks - Trend Watch - WidgetBucks.com

Tuesday, November 13, 2007

Bit Torrent Guide

Part One: Background Information

We're all familiar with the popular Peer-to-Peer (P2P) file sharing systems; the most popular being Kazaa and the Gnutella network (Limewire, Morpheus, Bearshare). These systems are all basically the same. You look for a file, see who's sharing it, and connect to download. While this system is very efficient for searching for a file, it is not so for file transferring. To be more specific, it is not efficient for transferring large files, ie. cd-images, movies,
and the like.
For example lets say I decide to share a movie which happens to be 700MB. I'm connected to the internet through a standard DSL connection, which has a typical upstream cap of 128 KB/S. Now, lets say you set it up so that this is the only file shared, and there is no other internet activity present on the system. Now, along comes a user. This user connects and begins to download the file (note: all users are assumed to have similar DSL connections). They get the maximum speed of 128 KB/S, as restricted by the server's upstream cap (a server is any user with the entire file). This leads to a little over 90 minutes of download time. Yet along comes somebody else who wants the movie. Now, each user must split the servers upload speed, leaving each with 64 KB/s download speed and a 3 hour download time. Throw in 2 more users, and its not 32 KB/s and 6 hours. Make it 16 users and you're looking at a full 24 hours of downloading. I've chosen this example to illustrate the most prominent problem with most P2P file sharing programs. You can only download a file from somebody with the complete file. You can split your download between sources, but even if you have a 99.9999% completion, you can't share it.

Part Two: What is Bit-Torrent?

As with everything in this world, bit-torrent was developed with a noble purpose. It was created to allow companies to distribute large files throughout their systems in a much shorter amount of time than would normally be needed. How is this done? Bit-Torrent allows anyone with a portion of a file to share that portion, essentially allowing everyone to download from everyone else. To better understand the point I am trying to make, consider the following pictures:

http://f.scarywater.net/bram/central.png
This illustrates a Kazaa-style P2P file-sharing system. Notice how everything hinges on the server's upload speed.




This is a bit-torrent style network. Notice how everybody both downloads and uploads to maximize the available bandwidth.

Part Three: Using Bit-Torrent

The first step to using bit-torrent is to download a bit-torrent client. Many are available, but I highly recommend Shadow's Experimental Client which is available for download at http://bt.degreez.net/
Now we get into general setup. I recommend creating a general bit-torrent directory. Within this directory, create two subdirectories, labeled "Downloads" and "Torrents". The downloads folder is self-explanatory, you'll place your downloads in this folder. The torrents folder is where you'll place your torrent files. What are torrent files?
Bit-torrent doesn't use a search-engine style system for finding files. Basically you go to a site like http://www.suprnova.org and find the file that you want. So, right-click on the link and download the file to your "Torrents" directory. Then, simply open the file (we choose to download the file since theses servers that host the torrents tend to go down often). The client will load and ask you where you want to save the file. It will then connect to a tracker, which tells it
where to connect to share the file. If you have partially downloaded the file and are resuming, it will check the file first.

Part Four: Issues and Complaints

I've answered more complaints about bit-torrent than I can count, so trust me, I've heard them all. The most common complaint is a lack of speed. This can be due to several reasons

1) Capping upload speeds.
The bit-torrent protocol is developed to prevent leeching. If you restrict your uploading, your download will suffer also.

2) Behind a firewall
If you're behind a firewall your download speed will suffer. You can tell if your firewall is interfereing with your download if the color of the disc in the client is yellow. If you can control the firewall and know what you're doing, try opening ports 6881 through 6999. This generally improves performance.

3) Tracker is down
If the tracker is down, then there is no way for the client to know where to connect. If you run into this problem, try downloading the torrent file again.

4) Lack of downloaders
The file can't be downloaded if it doesn't exist. This is a problem that you'll eventually run into. You'll load up a torrent file and there won't be anybody with the entire file connected. When this happens, you'll download as much as possible.

5) Lack of attention
A lot of people restrict their upload connections to 5 or 10, to allow everyone to get a decent speed. This may not seem like a lot, but with many people doing it, it ends up being quite effective. Unfortunately, if you're not one of those 5 to 10, you're outta luck until you get noticed. Remember, patience is a virtue!!!

No comments: