Definition of a Torrent
A torrent is a group of computers sharing a file or files using the BitTorrent protocol. In a torrent each computer simultaneously downloads parts of a file from many other computers, and also uploads copies of those parts to other computers. Because each computer in a torrent shares data with its peers, large files can be widely and efficiently distributed.
-
Invention
-
The BitTorrent protocol was introduced in April 2001 by Bram Cohen at the CodeCon conference in California. In July 2001 he gave away a working BitTorrent application he had written himself in the Python language. Prior to BitTorrent, peer-to-peer programs like Napster shared files between individual computers. This could be a slow process, with frequent errors and dropped connections. The BitTorrent protocol solves these problems by sharing file data between the many separate computers using the torrent.
Clients and Trackers
-
Every computer in a torrent uses a client application to access it. When a BitTorrent client such as BitComet or uTorrent attempts to access a torrent, it first has to download a torrent file. This is a very small file that describes the file to be downloaded and also has information about how to find the tracker on the Internet. The tracker "keeps track" of which computers are currently sharing in the torrent (called "Peers") and passes that information to the client. This is the only centralized part of a torrent.
Not all torrents use trackers, though. Some, called (surprisingly enough) trackerless torrents, have removed the need for a single central tracker to tell the clients where to find other file sharers.
-
Seeds and Leechers
-
Every computer that is sharing in a torrent is either a seeder or a leecher. A seeder is someone in the torrent who has a full copy of the file that is being shared. A leecher is somebody who doesn't have a full copy yet. Mostly, small parts of the file are swapped between leechers until a leecher has a full copy. It then becomes another seeder. If none of the leechers have the right part of the file, the torrent can refer a leecher back to a seeder's complete file to get the part it needs.
Sharing
-
Trackers also keep track of how much a computer has uploaded in a torrent, compared to how much it has downloaded. If you are not uploading at an acceptable rate, a tracker may limit and slow your access to the parts of the file that you still need to download. This is because a torrent needs everyone to both upload and download in order to work as efficiently as possible.
Advantages
-
Torrents allow large amounts of data to be shared between computers without any single computer using up huge amounts of bandwidth. Because the torrent shares the data around, if one computer drops out of the torrent, another computer can still offer that data to the rest (this is called redundancy). The more people that join a torrent, the more efficient it becomes, and the faster users are able to access the file that is being shared.
-
References
Resources
- Photo Credit global computer network image by Michael Brown from Fotolia.com