I’ve been starting to delve into peer to peer (p2p) networking and am trying to figure out what the difference is between Limewire, Kazaa, BitTorrent and similar. Can you explain how they work?
First off, you are aware that a significant percentage of the content you’d get from any peer to peer network is probably illegal, right? Downloaders who are involved with these various systems are also right in the crosshairs of the Recording Industry Association of America and the Motion Picture Association of America. By percentage, of course, the chances of you getting busted is essentially nil, but “essentially nil” isn’t “zero”, so beware and go in with your eyes open.
For the rest of this answer, I’m going to turn this answer over to my friend Greg…
The way Peer to Peer works is that people who want a file and people who have a file are all linked up together. Bits and pieces of the file are swapped around until they all have a complete copy.
Let’s say that Person A has the whole file, while persons B, C, and D want it. A good P2P system will have person A feeding the first 1/3 of the file to person B, the second 1/3 to person C, and the last 1/3 to person D. Then, while that’s happening, persons B, C, and D are feeding each other bits of what they’ve downloaded from person A.
This speeds up the process, because instead of persons B, C, and D receiving the file at 1/3 the speed that person A can deliver it, they’re getting that, plus a portion of the speed each of the other two can deliver the file. So, all things being equal, it can double or triple the download speed for B, C, and D.
If person A goes offline before each of the other three have downloaded their full third of the file, the other three can keep sharing the bits they got until all of them have everything the other does, but until another person with the whole file comes into the network, they’ll be stuck.
The whole idea of P2P is that there’s never a centralized location for a file. It resides in whole on at least one computer in the sharing network and in whole or in part on all the rest. Then the people who are downloading the file can get pieces of the file from others in the network until each one has a complete copy. The more people in the network and the more people with a complete copy, the faster the sharing goes.
The main difference in the services is how they locate and trade bits of the files.
Kazaa, Limewire, Gnutella, etc… are file sharing networks. Through a series of nodes, you’re interconnected to a variety of people sharing a variety of files. You send out a search request along the network and people who have files that meet your search criteria answer back that they have it. Then you pick one of the search results and start getting bits of the file who have some available bandwidth for transferring it to you.
BitTorrent, on the other hand, doesn’t create such a broad-based network. It’s file-focused. Someone who has a copy of the file creates a tracker and makes it available. Rather than finding that tracker by sending out search requests along a file sharing network, you find it on web sites, via recommendations in chat rooms, in links posted to mailing lists, etc.
Then everyone interested in sharing the file (either providing a copy they already downloaded or getting a copy) can use the tracker to essentially create a network dedicated to sharing just that specific file.
With less popular files or ones where there are lots of trackers splitting the network for them, BitTorrent can be slower than traditional P2P, because you may have fewer people sharing the file via the tracker you’re using than you might find on LimeWire or Kazaa. But when you’re downloading a popular file via a popular tracker, BitTorrent can blaze.
My fastest P2P download speed ever hit somewhere in the neighborhood of 167 kilobytes a second. My fastest BitTorrent speed was 452 kilobytes per second (though since I was downloading a DVD .iso for a Linux distribution, the download still took close to two hours).
By the way, for Windows, Shareaza is free, spyware free, and supports multiple network protocols, including eMule, Gnutella 1 & 2, and BitTorrent.
[Note from Dave: If you are surfing the web – which you’re obviously doing since you’re here on my site! — then you must have both a solid antivirus solution and anti-spyware solution. I recommend AVG Antivirus for the former and Spy Sweeper for the latter.]
Thanks to my friend Greg Bulmash, a web developer and author who blogs on various topics at BrainHandles.com.