BitTorrent is a peer-to-peer (P2P) protocol and tool originally developed by Bram Cohen. It is currently developed and distributed by Cohen's company BitTorrent, Inc.. The original BitTorrent client is written in Python and released under the BitTorrent Open Source License.
Transferring a file or files over BitTorrent involves three steps:
- creating a .torrent file
- distributing the .torrent file to other users
- "seeding" the torrent.
Seeding the torrent means acting as a node which has all the parts of the file(s) being transferred. When other BitTorrent clients connect to a seed node it distributes fragments of the files in a random order the downloading nodes (peers). As fragments of the file start spreading to peer nodes they can start transferring data from each other and finding the fastest connections available. The BitTorrent client verifies the integrity of each fragment transferred, and if a corrupt fragment is detected it is transferred again.
The network of seed and peer nodes is sometimes referred to as a swarm.
BitTorrent discourages people from trying to limit their upload speeds by giving best download performance to those that upload the most.
Once a peer node has downloaded and verified all the fragments specified in the .torrent file it changes its role from a peer to a seed, and starts serving fragments to peers that are still requesting fragments. In order for BitTorrent to work efficiently the client should be left open after the transfer is complete. It is considered good etiquette to upload at least the amount of the size of the file (e.g. if you download a 100MB file you should leave your client open at least as long as your client has uploaded 100MB to other users). With broadband connections this isn't usually a problem. For example Azureus BitTorrent Client lets you adjust the maximum upload speed so that running BitTorrent will not affect the performance of other network traffic.
To download files from BitTorrent P2P network you need to have a BitTorrent -compatible client installed on your computer.
If you are interested to know more about the BitTorrent, you might find these links useful:
Information about the .torrent files
G3 Torrent guide
AfterDawn's P2P forum
Related glossary terms
Related software tools
ABC [Yet Another Bittorrent Client] (Open source)
More advanced than the original bittorrent client. Manage all your downloads in one window.
BitComet is a highly versatile and powerful BitTorrent client
BitTornado (Open source)
BitTornado is an alternative BitTorrent client that allows a bit more adjustments than the original client.
BitTorrent (Open source)
BitTorrent client is an application used for downloading torrents -- specific files or directories shared by Internet users.
G3 Torrent (Open source)
G3 Torrent is an extended BitTorrent client based on the original Python code.
Vuze (Azureus Java BitTorrent client) for Mac OS X (Open source)
Azureus is Java based BitTorrent client, with multiple torrent downloads, seeding, embedded tracker and lots more.