• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Brian's BitTorrent FAQ and Guide
Welcome! If you are new to BitTorrent, this site should help clear up a lot of commonly askedquestions.If you would like to contribute a question (and presumably the answer as well), please use thecontact page and send me a note.
 Disclaimer: I am a Windows user, and so by default the answers will tend to apply to Windows if not otherwise stated. I've tried to include as much Linux and Mac information as I can. If youhave anything to add on those subjects, by all means please contribute.
Alternative Site
This FAQ is also available in a different form at btfaq.com. That site uses the FAQ-o-Maticscript, which splits the FAQ up into individual sections, whereas this version is mostly all in asingle large file. However, this site is the one that I maintain, so the btfaq.com site is likely to bea bit behind. I'm still debating if I want to drop one of the two, as maintaining both is hard.Pleaselet me knowif you have opinions on this matter.
Table Of Contents
Use these links to jump to specific parts of this document, or just page down if you'd prefer to browse the whole thing.
 
What is BitTorrent?
BitTorrent is a protocol designed for transferring files. It is peer-to-peer in nature, as usersconnect to each other directly to send and receive portions of the file. However, there is a centralserver (called a tracker) which coordinates the action of all such peers. The tracker only managesconnections, it does not have any knowledge of the contents of the files being distributed, andtherefore a large number of users can be supported with relatively limited tracker bandwidth. Thekey philosophy of BitTorrent is that users should upload (transmit outbound) at the same timethey are downloading (receiving inbound.) In this manner, network bandwidth is utilized asefficiently as possible. BitTorrent is designed to work better as the number of people interested ina certain file increases, in contrast to other file transfer protocols.One analogy to describe this process might be to visualize a group of people sitting at a table.Each person at the table can both talk and listen to any other person at the table. These people areeach trying to get a complete copy of a book. Person A announces that he has pages 1-10, 23, 42-50, and 75. Persons C, D, and E are each missing some of those pages that A has, and so theycoordinate such that A gives them each copies of the pages he has that they are missing. Person Bthen announces that she has pages 11-22, 31-37, and 63-70. Persons A, D, and E tell B theywould like some of her pages, so she gives them copies of the pages that she has. The processcontinues around the table until everyone has announced what they have (and hence what theyare missing.) The people at the table coordinate to swap parts of this book until everyone haseverything. There is also another person at the table, who we'll call 'S'. This person has acomplete copy of the book, and so doesn't need anything sent to him. He responds with pagesthat no one else in the group has. At first, when everyone has just arrived, they all must talk tohim to get their first set of pages. However, the people are smart enough to not all get the same pages from him. After a short while they all have most of the book amongst themselves, even if 
 
no one person has the whole thing. In this manner, this one person can share a book that he haswith many other people, without having to give a full copy to everyone that's interested. He caninstead give out different parts to different people, and they will be able to share it amongstthemselves. This person who we've referred to as 'S' is called a
 seed 
in the terminology of BitTorrent. There's more about the various terms ina later section.
How does BitTorrent compare to other forms of filetransfer?
The most common method by which files are transferred on the Internet is the client-server model. A central server sends the entire file to each client that requests it -- this is how both
http
and
ftp
work. The clients only speak to the server, and never to each other. The main advantagesof this method are that it's simple to set up, and the files are usually always available since theservers tend to be dedicated to the task of serving, and are always on and connected to theInternet. However, this model has a significant problem with files that are large or very popular,or both. Namely, it takes a great deal of bandwidth and server resources to distribute such a file,since the server must transmit the entire file to each client. Perhaps you may have tried todownload a demo of a new game just released, or CD images of a new Linux distribution, andfound that all the servers report "too many users," or there is a long queue that you have to waitthrough. The concept of 
mirrors
partially addresses this shortcoming by distributing the loadacross multiple servers. But it requires a lot of coordination and effort to set up an efficientnetwork of mirrors, and it's usually only feasible for the busiest of sites.Another method of transferring files has become popular recently: the peer-to-peer network,systems such as Kazaa, eDonkey, Gnutella, Direct Connect, etc. In most of these networks,ordinary Internet users trade files by directly connecting one-to-one. The advantage here is thatfiles can be shared without having access to a proper server, and because of this there is littleaccountability for the contents of the files. Hence, these networks tend to be very popular for illicit files such as music, movies, pirated software, etc. Typically, a downloader receives a filefrom a single source, however the newest version of some clients allow downloading a single filefrom multiple sources for higher speeds. The problem discussed above of popular downloads issomewhat mitigated, because there's a greater chance that a popular file will be offered by anumber of peers. The breadth of files available tends to be fairly good, though download speedsfor obscure files tend to be low. Another common problem sometimes associated with thesesystems is the significant protocol overhead for passing search queries amongst the peers, andthe number of peers that one can reach is often limited as a result. Partially downloaded files areusually not available to other peers, although some newer clients may offer this functionality.Availability is generally dependent on the goodwill of the users, to the extent that some of thesenetworks have tried to enforce rules or restrictions regarding send/receive ratios.Use of the Usenet binary newsgroups is yet another method of file distribution, one that issubstantially different from the other methods. Files transferred over Usenet are often subject tominiscule windows of opportunity. Typical retention time of binary news servers are often as lowas 24 hours, and having a posted file available for a week is considered a long time. However,the Usenet model is relatively efficient, in that the messages are passed around a large web of 
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...