BitTorrent is a peer-to-peer file sharing protocol used for distributing large amounts of data. BitTorrent is one of the most common protocols for transferring large files, and it has been estimated that it may account for as much as 43 % of all Internet traffic (depending on geographical location) as of February 2009.

BitTorrent protocol allows users to distribute large amounts of data without the heavy demands on their computers that would be needed for standard Internet hosting. A standard host's servers can easily be brought to a halt if high levels of simultaneous data flow are reached. The protocol works as an alternative data distribution method that makes even small computers (e.g. mobile phones) with low bandwidth capable of participating in large data transfers.

First, a user playing the role of file-provider makes a file available to the network. This first user's file is called a seed and its availability on the network allows other users, called peers, to connect and begin to download the seed file. As new peers connect to the network and request the same file, their computer receives a different piece of the data from the seed. Once multiple peers have multiple pieces of the seed, BitTorrent allows each to become a source for that portion of the file. The effect of this is to take on a small part of the task and relieve the initial user, distributing the file download task among the seed and many peers. With BitTorrent, no one computer needs to supply data in quantities which could jeopardize the task by overwhelming all resources, yet the same final result—each peer eventually receiving the entire file—is still reached.

After the file is successfully and completely downloaded by a given peer, the peer is able to shift roles and become an additional seed, helping the remaining peers to receive the entire file. This eventual shift from peers to seeders determines the overall 'health' of the file (as determined by the number of times a file is available in its complete form).

from Wikipedia

Now we know what bittorrent is, here are the steps to download a file using bittorrent.

  • Install a bittorrent client
  • Bittorrent-curses or python-bittorrent is a good option, and it is the one I will use. Installing on Ubuntu / Debian

    sudo aptitude install python-bittorrent

    Installing on Arch Linux

    sudo pacman -Sy bittorrent

  • Download the torrent file
  • wget

    That is just an example.
  • Download your file using bittorrent
  • bittorrent-curses ubuntu-10.04-desktop-i386.iso.torrent

    That is, you will downloading in this case Ubuntu 10.04 LTS