I'm going to kill you. Okies, here's what I know, summarized.
BitTorrent has no queues. If you connect to a client and he has a free slot, then you'll begin downloading. eMule's chunk size is a bit higher than 9MB. This means that if you have no complete chunks, you can't share any pieces of that file. In BitTorrent, those chunks are called "pieces", and can be much smaller than that. Those pieces are divided in subpieces, also. This means you can get on uploading faster. Furthermore, BT clients tend to download those pieces in a "rarest first" fashion, increasing availability and keeping the swarm healthy. If you're a new peer at 0% done, you'll get a random piece. If you take a lot from someone and don't upload pieces that you have and that peer could use, you'll be "choked". Choking is a temporary upload ban until you improve your behavior. The connection remains open to save reconnection costs. Unchoking checks are done regularly. If you upload enough to that peer, you'll be unchoked. This tit-for-tat algorithm only applies if you're a leecher connecting to another leecher.
When you're close to the end and missing a single piece, your client will enter into "endgame mode". This means all available peers are bombarded with requests, so that you don't have to wait a lot if the people you're currently connected to have slow upload speeds.
Here's a very nice Powerpoint slideshow that explains all of it in an easy-to-understand way:
http://www.cs.toronto.edu/~walex/mpv...BitTorrent.ppt
Bookmarks