Many people are still unaware of what exactly BitTorrent is or what it does. BitTorrent is a P2P protocol, or method, that allows people to share data much more efficiently and at much greater transfer speeds than previous file-sharing software like KaZaA or Gnutella. These programs were Direct Connect types in that each person connected directly and solely to one other user in order to share files. The drawback of this is that the person receiving the data is limited by the upload connection speed of the person sending it.
What BitTorrent does is remove this limitation by allowing a virtually unlimited number of people to connect to one another and share the same file at the same time. Instead of being limited by the upload speed of the other user one is suddenly in the welcome position of being limited by ones own download speed.
The idea behind BitTorrent is to allow massive distribution of popular files without penalizing the source by soaring bandwidth costs and possible crashes due to demand that exceeds the capability of the server. In this way, anyone who creates a popular program, music file or other product can make it available to the public regardless of assets, even if the file becomes highly popular.
To understand how BitTorrent functions, first consider how normal downloading works. Personal computers connected to the Internet are known as clients while the websites visited reside on Internet servers. Servers “serve up information” to clients. If you surf to a site and click on a link to download a program, you create a one-on-one connection to that server that uses whatever bandwidth is necessary to serve you the file. When you have received the entire file, the connection is released so the server can utilize that stream of bandwidth for handling other connections.
The problem arises when unusually high numbers of clients visit a site simultaneously. This can cause the server to effectively run out of available bandwidth and “crash.” When this happens, clients are refused a connection. “The site is down.”
To avoid this, BitTorrent creates a different networking scheme. It uses the other clients who are also downloading the file to effectively act as servers to one another, simultaneously uploading the parts of the file received to others requesting the file. Hence, when you click on a file to download, several connections will be made to receive “slices” of the file that combine to create the entire file. Meanwhile, as you are downloading these “slices” you are also uploading them to anyone else that needs the parts you are receiving. Once the entire file is received it is considered polite to keep your client connected to act as a seed. A seed refers to a source that has the entire file available.
In this way BitTorrent relieves the burden of the servers but more significantly it makes it possible for anyone to disseminate a file quickly and easily without requiring expensive servers or an infrastructure of distribution. If the demand is there, the file will spread.