The BitTorrent protocol can be used to reduce the server and network
impact of distributing large files. Rather than downloading a file from a
single source server, the BitTorrent protocol allows users to join a
"swarm" of hosts to download and upload from each other simultaneously.
The protocol is an alternative to the older single source, multiple
mirror sources technique for distributing data, and can work over
networks with lower bandwidth.
Using the BitTorrent protocol, several basic computers, such as home
computers, can replace large servers while efficiently distributing
files to many recipients. This lower bandwidth usage also helps prevent
large spikes in internet traffic
in a given area, keeping internet speeds higher for all users in
general, regardless of whether or not they use the BitTorrent protocol.
A user who wants to upload a file first creates a small torrent
descriptor file that they distribute by conventional means (web, email,
etc.). They then make the file itself available through a BitTorrent
node acting as a seed. Those with the torrent descriptor file can give it to their own BitTorrent nodes which, acting as peers or leechers, download it by connecting to the seed and/or other peers (see diagram on the right).
The file being distributed is divided into segments called pieces.
As each peer receives a new piece of the file it becomes a source (of
that piece) for other peers, relieving the original seed from having to
send that piece to every computer or user wishing a copy. With
BitTorrent, the task of distributing the file is shared by those who
want it; it is entirely possible for the seed to send only a single copy
of the file itself and eventually distribute to an unlimited number of
peers.