BitTorrent

From Computing and Software Wiki

Jump to: navigation, search

BitTorrent is a peer to peer file sharing protocol. The protocol works in a way such that there is not a single host distributing the file, instead, all users downloading the file also share in uploading as well. This reduces the burden on resources by the distributer as all users wishing to download the content are taking part in uploading pieces and parts of the data file.

Contents

How It Works

The method allows essentially any kind of data to be distributed in a manor such that all users downloading the same file, referred as leechers, will upload bits and parts of the file that they have already downloaded. Users that have the complete file and still connected to the tracker are referred as seeders. The tracker is simply a list of all users that are currently connected to the torrent of interest, while categorizing the number of leechers and seeders to determine the healthiness of the torrent.

Users download "torrent" files that are created specifically for the file to be distributed. Using a bittorrent client, the user opens the torrent file which contains the URL of the tracker that the torrent was published to, and attempts to connect to the tracker. If the tracker is up and running, the user enters the swarm which is the collection of all the seeders and leechers. The client makes many peer to peer TCP connections to trade the fragments of the file. Essentially, having lots of users with the file of interest being downloaded, the transfer speeds are maximized by sharing bits and parts of the files that has already been downloaded [1].

In general, most bittorrent clients have their own policies that determine how fast or slow a download achieves. Some clients require that the ratio of downloads and uploads be fairly even in order to achieve the fastest downloads, a policy of fairness. Other clients may attempt to exploit the generosity of the seeders and allow leechers to download at full speeds without having to contribute in uploading.

Creating a Torrent

Most bittorrent clients support creating your own torrent files. The setup wizards will ask for certain details such as the announcing tracker and the file you wish to distribute.

The file being created gets fragmented into many small pieces of equally sized data from 64kB to 4MB. A checksum is created for each of the fragmented pieces and stored in the torrent file with a hashing algorithm. When a complete fragment is downloaded by a user, the checksum is compared with the checksum in the torrent file for integrity. If the file is corrupt, the data will be re-downloaded [2].

Upon completion of creating a torrent, it is normally then hosted on many torrent search engines that have trackers for each of the torrents. Users would search for the file of interest, download the torrent and proceed in the process of downloading the file.

Drawbacks and Issues

BitTorrent relies heavily on the cooperativeness of the users involved in sharing the files. It is highly necessary for users that finish downloading to stay connected to the tracker for as long as possible to allow better distribution of complete and rare pieces of the file. However, greediness of users lead to dying trackers as they disconnect from the tracker as soon as they finish the downloading the file. This in turn reduces the number of seeders and fewer complete files to be distributed. In the worst case that there are no seeders left and all the leechers downloading are missing a rare part of the file, all the users remaining in the swarm will never complete the file. Therefore it is essential that there is cooperation between the users to give as well as take.

BitTorrent is in no way anonymous as all past and present users connected to the tracker can have their IP addresses obtained [2].

In this image is an example of the Azureus client on a Windows machine. It features the ability to have simultaneous downloads and uploads. The image shows information about the file being downloaded including the total file size, current size downloaded, number of seeders and leechers ( connected to and part of the swarm) as well as the users upload/download speed

Industries Using BitTorrent

Gaming industries such as the popular Massively Multiplayer Online Roleplaying Game, World of Warcraft by Blizzard Entertainment, has been using this technology since 2004 to provide game updates to the large user base.

Videos from Hollywood studios has licenses that have been allowed for redistribution using BitTorrent Inc. at their companies websites as well [2].

Many Open Source Software distributors are avid supporters of the technology in sharing their software for download.

Popular Clients and Search Engines

Clients


Search Engines

Note: P2P is legal, however many of the torrents infringe on copyright laws and are infact illegal. However in Canada, users are protected from P2P copyright lawsuits. [3]

  • ISOhunt The top most popular torrent database
  • Mininova Successor to Supernova, one of the top search engines
  • The Pirate Bay Single largest torrent database


See Also

Peer To Peer Network Security

References

[1] Howstuffworks - How Bittorrent Works Carmack, C

[2] Wikipedia - BitTorrent

[3] About.com - What are the Best Bit Torrent Search Engines?

--Leunga5 18:35, 13 April 2008 (EDT)

Personal tools