What is a protocol?

When you think of the word “protocol”, what comes to mind? The dictionary defines protocol as “the official procedure or system of rules governing affairs of state or diplomatic occasions.” Diplomats follow protocols when it comes to communicating with others, to ensure that conflicts do not arise. The same applies to computers, and in this case, a “protocol” is a set of rules that governs how data is connected and transmitted between two devices, how the two devices will communicate with each other. Protocols play an important part because they ensure compatibility among all the different software or documents out there in the World Wide Web.

 

Protocols are necessary for file-distribution, and the introduction of the BitTorrent protocol has revolutionized the world of file sharing with its efficiency and tit-for-tat approach.

 

The traditional client-server downloading method involves your web browser that views the information, the central server that holds the data or file you want to download, and the protocol (FTP, HTTP) that connects the two. However, the download speed is affected by the fact that the file comes from only one server, and if there is a large number of clients attempting to download the file on top of the limited bandwidth the server has, there will be a great toll on the server and file transfer would tend to be slow.

 

As such, peer-to-peer file sharing is a more efficient method because it uses software (such as Napster, Gnutella, Kazaa) that locates the file you want on other peers’ hard drives. Similarly, other users using that file-sharing software can retrieve files from your computer’s hard drive. Hence, every peer is a client as well as a server. Being directly connected to another user eliminates the need for a central server and makes downloading much faster. However, the problem of leeching could arise in instances where some selfish users would disconnect immediately after obtaining the files they need from other users, denying others a chance to obtain files from their hard drives.

 

BitTorrent combatted the problem by implementing a tit-for-tat system whereby users must share files in order to receive files, and this system of equality prevents leeching from happening.

 

BitTorrent functions similarly to other peer file sharing softwares in the sense that the central main server is not required and peers are all clients and servers themselves. BitTorrent however, has a tracker, which keeps track of other clients in the BitTorrent software that have pieces of the file you need, and is an important tool in the torrent protocol and acts as a communicator between peers.

 

In BitTorrent, a seeder is a user that has the complete file and if a seeder is connected, you could download the entire file from him. However, if the seeder is disconnected, there are still other ways to obtain the full copy of the file, which is an advantage BitTorrent has over other peer file sharing softwares. In this case, leechers are users who have varying pieces of the file, and in order to obtain the full file, you would need to obtain the various pieces from the leechers in the system. The tit-for-tat system comes in place as leechers would trade various pieces of the file with each other in order to obtain a full copy of the file. This segmented file transfer system is particularly useful for the transfer of large, popular files as when there are more clients involved in the swarm, file transfer speed increases because there are more pieces of the file available.

 

In a nutshell, how BitTorrent works:

  1. Search for the file you want on your web browser and open it with the BitTorrent client.
  2. The BitTorrent client uses the tracker to search for other computers running the BitTorrent client that contain pieces of the file you need.
  3. After your download is complete and the full copy of the file is obtained, you become a seeder yourself and can provide the file to other clients that want to download them.
Retrieved from http://www.quora.com/How-would-one-explain-torrents-to-someone-who-doesnt-understand-anything-about-computers.
Retrieved from http://www.quora.com/How-would-one-explain-torrents-to-someone-who-doesnt-understand-anything-about-computers.

Something extra:

Here is a visualization of BitTorrent I found on the web! It’s quite fun and random hahaha

http://www.mg8.org/processing/bt.html

 

References:

Carmack, C. (n.d.). How BitTorrent Works. Retrieved from http://computer.howstuffworks.com/bittorrent.htm

BitTorrent (Wikipedia). Retrieved from http://en.wikipedia.org/wiki/BitTorrent.

Pillai, S. (2012, November 21). What is bittorrent protocol and how does bittorrent protocol work. Retrieved from http://www.slashroot.in/what-bittorrent-protocol-and-how-does-bittorrent-protocol-work.

Kozierok, C. (2005, September 20). Protocols: What are they, anyway? Retrieved from http://www.tcpipguide.com/free/t_ProtocolsWhatAreTheyAnyway.htm.