Tuesday, January 8, 2013

What is BitTorrent

BitTorrent is a Peer-to-Peer (P2P) file sharing protocol designed to reduce bandwith overhead and decentralize the distribution of files. BitTorrent is one of the most common protocols for transferring large files on the Internet today and the most frequently used P2P protocol. Estimates regarding how much Internet traffic is driven by BitTorrent activity at any given moment range from 40-70% of the total global Internet activity.
The core of the BitTorrent system is decentralized file distribution. Under a centralized model, users download data from a single location. If you’ve ever visited a company’s tech support page to download a single driver or other file then you’ve experienced this model–you formed a single temporary link to the company’s web site to transfer a single file directly from their server to your hard drive and then the connection was terminated. BitTorrent instead organizes individual into clouds of data where every member of the cloud is capable of sharing bits of the whole file with every other member.
How does this play out in the wild? Blizzard, the company behind the popular World of Warcraft franchise, uses BitTorrent to quickly distribute updates to World of Warcraft. Every individual World of Warcraft installation includes a barebones BitTorrent client. When a patch is released, Blizzard spreads the load of distributing the patch to millions of World of Warcraft players via BitTorrent so that each individual player is effectively sharing the patch with a large potential pool of other players. When you go to update your World of Warcraft installation you’re not forming a one-to-one connection with a Blizzard server, you are instead making dozens (and potentially hundreds) of connections with other players to download chunks of the patch. In this fashion Blizzard is able to distribute the patch quickly and with little strain on their servers. This same method of distribution is frequently employed by Linux development teams to help distribute new releases of Linux without overburdening individual servers.