~~ What is BitTorrent
BitTorrent is basically a peer to peer system for transfering files between people. Primarily it is used to transfer large files because of its unique setup to allow fast and efficient communication. Files for BitTorrent are called torrents and are located on indexing websites all over the Internet.
Once you have the .torrent file, your BitTorrent client will connect out to various other people who host that file and start to download their parts. A torrent can contain either a single file, or a directory of many files. As you gather parts of the file, you share out those parts for others to download.
The BitTorrent network is impressive because of its speed and reliability with which you can get files that have been shared. The more people that share the file, the faster and easier it is to download.
~~ How is BitTorrent better than other forms of file transfer
Usually when you download a file it comes from a single point of reference. As more and more people try to download the file, the single point can become overwhelmed and slow. This impacts overall performance of the transfer. BitTorrent is unique because it breaks up the file into multiple parts and shares those parts out to many people. Each person that does the sharing only has to provide a small part to make up the whole. This limits the amount of time they need to give out that file. Because you are taking parts of the file from many sources you can download much faster.
Imagine it like this... When there is only one line at the store it takes very long for everyone to get through it. But when the store opens up many registers everyone moves much faster because the load is spread out.
~~ The components to BitTorrent
A Seeder - A seeder is a location on the BitTorrent network that has a complete copy of a particular file. For BitTorrent to start working, there must be at least one location that seeds the file for the first time. Once the file has been distributed out as a copy things will be ok as long as all the parts out on the Internet make up a whole copy. If not and the seed goes away then there will be problems because no one will be able to complete the file. Multiple people can be seeders if they have the full file.
A Leecher - A leecher is a person on the BitTorrent network that does not have a complete copy of a particular file yet. Until that person has downloaded the complete copy and becomes a seeder they will still be considered a leecher. Usually leecher has a bad meaning in that it is someone that takes and never gives. But in the BitTorrent world they are part of the network and give sometimes more than they get.
A .torrent - A .torrent file is the file that contains in it a location that tells the BitTorrent client where to go to find the tracker that manage the uploading and downloading of the file. You save the .torrent file to your computer and the BitTorrent program uses it to allow you to save the archive, which is the file you wish to download.
~~ What ports does BitTorrent use?
Prior to version 3.2 BitTorrent used port ranges from 6881-6889. For everything from 3.2 forward, the port range has been extended to 6881-6999. BitTorrent is a TCP based system and does not use UDP for its packets. Primarily the program starts with its first port and works its way up the sequence for each connection it needs active. The trackers do use port 6969 so make sure that you have outbound access for that port at least.
In regards to the NAT setup of most home networks this is not an issue. BitTorrent supports that because it can work with only outbound connections for you to download the files. Unfortunately BitTorrent does suffer in speed if you limit the ability of people to connect to you which would take you longer to download files then. You will get better speeds if you share out the parts of the files you are downloading. Due to this it is suggested that you use port forwarding to open up the BitTorrent ports it uses.
~~ Other common BitTorrent words
Peer - A peer is another name of a computer available to the Internet that you can connect to and transfer data with. Usually a peer does not have the complete file and can be considered the same as a leech.
Reseed - To reseed a file is to put a complete copy back out on the BitTorrent network. This is usually done when there is no more seeders out there and all the peer computers in the swarm do not have a complete copy shared between them. Usually someone will take their copy of the complete file and put it back out on the network in hopes that others can complete their copies which would result in more seeds available.
Swarm - The swarm is the whole group of machines that have all the parts of a file whether they are the complete ones or just small parts of it.
Distributed Copies - This is when there are enough machines on the network that has the complete copy spread out between them. While each machine might not have the full copy on their local drive, enough parts are available to everyone so that the complete file may be downloaded.
Choked - This is a more technical protocol term of the BitTorrent network. Basically it refers to the state of a computer that is sharing out data to another peer. A choked connection is when the sending computer does not want to send anything to that link. This usually happens when the client has reached its maximum number of outbound connections. So it chokes all the other outbound requests.
Interested - This is another technical protocol term of the BitTorrent network and is related to the choked flag. This term refers to the state of a downloader with respect to a connection. A downloader is marked as interested if there is a client out there with any specific pieces of the file that it wants. Otherwise the connection will instead be marked as not interested.
Snubbed - A snubbed connection is when the client has not received any data after a specific amount of time (usually 60 seconds). The client sets the snubbed flag in hopes to keep its choked connections limited and focused more on interested connections basically.
~~ BitTorrent clients
There are many BitTorrent clients and I am not going to recommend one over the other. Some have features that are nice while others have different features that are nice. I would start with the one located at: http://www.bittorrent.com/