How BitTorrent Works
BitTorrent is a protocol that enables fast downloading of large files
using minimum Internet bandwidth. It costs nothing to use and includes
no spyware or pop-up advertising.
Unlike other download methods, BitTorrent maximizes transfer speed by
gathering pieces of the file you want and downloading these pieces
simultaneously from people who already have them. This process makes
popular and very large files, such as videos and television programs,
download much faster than is possible with other protocols.
In this article, we'll examine how BitTorrent works and how it is
different from other file-distribution methods. In addition, you'll
learn how to use BitTorrent and what the future might hold for this
innovative approach to serving files over the Internet.
BitTorrent Speak
Like most Internet phenomena, BitTorrent has its own jargon. Some of
the more common terms related to BitTorrent include:
* Leeches - People who download files but do not share files on
their own computer with others
* Seed or seeder - A computer with a complete copy of a BitTorrent
file (At least one seed computer is necessary for a BitTorrent
download to operate.)
* Swarm - A group of computers simultaneously sending (uploading)
or receiving (downloading) the same file
* .torrent - A pointer file that directs your computer to the file
you want to download
* Tracker - A server that manages the BitTorrent file-transfer process
Traditional Client-Server Downloading
To understand how BitTorrent works and why it is different from other
file-serving methods, let's examine what happens when you download a
file from a Web site. It works something like this:
* You open a Web page and click a link to download a file to your computer.
* The Web browser software on your computer (the client) tells the
server (a central computer that holds the Web page and the file you
want to download) to transfer a copy of the file to your computer.
* The transfer is handled by a protocol (a set of rules), such as
FTP (File Transfer Protocol) or HTTP (HyperText Transfer Protocol).
Client-server download process
The transfer speed is affected by a number of variables, including the
type of protocol, the amount of traffic on the server and the number
of other computers that are downloading the file. If the file is both
large and popular, the demands on the server are great, and the
download will be slow.
Peer-to-peer File Sharing
Peer-to-peer file sharing is different from traditional file
downloading. In peer-to-peer sharing, you use a software program
(rather than your Web browser) to locate computers that have the file
you want. Because these are ordinary computers like yours, as opposed
to servers, they are called peers. The process works like this:
* You run peer-to-peer file-sharing software (for example, a
Gnutella program) on your computer and send out a request for the file
you want to download.
* To locate the file, the software queries other computers that
are connected to the Internet and running the file-sharing software.
* When the software finds a computer that has the file you want on
its hard drive, the download begins.
* Others using the file-sharing software can obtain files they
want from your computer's hard drive.
Gnutella's peer-to-peer download process
The file-transfer load is distributed between the computers exchanging
files, but file searches and transfers from your computer to others
can cause bottlenecks. Some people download files and immediately
disconnect without allowing others to obtain files from their system,
which is called leeching. This limits the number of computers the
software can search for the requested file.
What BitTorrent Does
Unlike some other peer-to-peer downloading methods, BitTorrent is a
protocol that offloads some of the file tracking work to a central
server (called a tracker). Another difference is that it uses a
principal called tit-for-tat. This means that in order to receive
files, you have to give them. This solves the problem of leeching --
one of developer Bram Cohen's primary goals. With BitTorrent, the more
files you share with others, the faster your downloads are. Finally,
to make better use of available Internet bandwidth (the pipeline for
data transmission) , BitTorrent downloads different pieces of the file
you want simultaneously from multiple computers.
Here's how it works:
BitTorrent's peer-to-peer download process
* You open a Web page and click on a link for the file you want.
* BitTorrent client software communicates with a tracker to find
other computers running BitTorrent that have the complete file (seed
computers) and those with a portion of the file (peers that are
usually in the process of downloading the file).
* The tracker identifies the swarm, which is the connected
computers that have all of or a portion of the file and are in the
process of sending or receiving it.
* The tracker helps the client software trade pieces of the file
you want with other computers in the swarm. Your computer receives
multiple pieces of the file simultaneously.
* If you continue to run the BitTorrent client software after your
download is complete, others can receive .torrent files from your
computer; your future download rates improve because you are ranked
higher in the "tit-for-tat" system.
Downloading pieces of the file at the same time helps solve a common
problem with other peer-to-peer download methods: Peers upload at a
much slower rate than they download. By downloading multiple pieces at
the same time, the overall speed is greatly improved. The more
computers involved in the swarm, the faster the file transfer occurs
because there are more sources of each piece of the file. For this
reason, BitTorrent is especially useful for large, popular files.
