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.

 

Advertisements

5 thoughts on “What is a protocol?

  1. Nicely done. I think it’s also worth pointing out that Bittorrent is a variant of what’s known as a P2PP or a peer-to-peer protocol, which will be a rather important concept when it comes to our Privacy & Security lectures as the semester progresses. It would be great if somebody wrote a post on this topic [unsubtle eyebrow raise].

    Like

  2. As we mostly focused on Hypertext Transfer Protocol (HTTP) in lectures, it is good to know that there are many types of protocols out there like BitCoin (a peer-to-peer electronic cash protocol) and BitTorrent (a peer-to-peer file-sharing protocol). Previously, I only had a rudimentary understanding of how BitTorrent worked: seeders provided the file, leechers downloaded it. Reading the post sheds light on how the peer-to-peer protocol was designed to facilitate faster file transfer with smaller bandwidth.

    In HTTP, basic computers (the clients) need to download directly from large servers to acquire data or a web page. On the other hand, basic computers can act as servers in under the BitTorrent protocol, allowing users to download and upload from each other. The obvious benefit is that downloading files no longer causes the internet speed to drop significantly. This also benefits those who are not using BitTorrent.

    Like

    1. Hey Febriliani,
      One important distinction to make here: bittorrent (BT) protocols (or similiar), unlike most server-centered protocols like HTTP and FTP, do not rely on servers for transmission of data itself. The only points where a server is involved in BT is where the link to initiate a BT transmission is located e.g. your various torrent sites which I will not link to here, and servers that store indices of BT nodes (see “trackers” and DHT. Do look them up.). The point of the BT protocol is that it relies on a distributed network of seeds and peers for data transmission, such that there is no one “server” from which all the data is stored on and “served” from.

      Like

  3. Being a frequent user and supporter of BitTorrent, I believe that is it essential for new users understand the practice of peer-to-peer file sharing. Xiwen has introduced this protocol sufficiently well and I would like to elaborate on several more in-depth issues about BitTorrent.

    As written by Xiwen, “peer-to-peer file sharing is a more efficient method because it uses software that locates the file you want on other peers’ hard drives.” This sentence itself already suggests the dangers of BitTorrent that new users should look out for.

    Firstly, there is a risk of downloading malware which could lead to crippling one’s computer and even an entire business. Such risks are not restricted to torrent downloads alone, the truth is that malware exists in other file types regardless of the source. When searching for a particular torrent file, one should always spend some time reading the comments section (if there is one) to establish that it is legit and malware-free. After downloading the torrent, always scan the file with an antivirus program before running it.

    Downloading through torrents means that your IP is being shown to others, and some of them have ill intentions. Some ports of your firewall are usually opened to allow leechers to download files from you (seeding) and that is why some users do not seed after downloading as they are wary of hackers that might intrude their personal computer data. However I believe that most Firewall programmes should be able to stop any hacking attempts, and if you are a target of professional hackers, they will get through you anyhow.

    Do note that your computer data can be compromised if your data is kept in the same folder as the torrent being uploaded (usually by default, C:\Users\Username\Downloads).

    Although P2P networks do not pose a direct threat to your data, your IP address is being displayed to all contributing peers and theirs to you. Online hackers can use this information and target the vulnerable ones. Your IP address can also be traced governing bodies and soon enough, you will find yourself being fined for illegal downloads 🙂

    Like

    1. Hi guys,

      RE: IP exposure, it’s not a big deal unless you’re trying to hide who you are. Every connection that you make on the internet involves having your IP address being sent out. In order for anyone to access your computer over the internet, they would have to somehow trick your computer into thinking that they have authorized access (remote or otherwise). This has more to do with password security, secure transmission protocols, and whether you’ve already installed (unwittingly, of course) malware on your computer in the first place. The only real risk that having your IP address sent out is that someone will be able to track your online activity and identify your particular computer. While there are many ways to mask your identifying information (which is not limited to your IP either), not all are foolproof. That being said, I would like to point out that most (if not all) ISPs in Singapore assign dynamic IPs to their subscribers, which means that your online IP will change every time your device reconnects to the Internet (see this article for the difference between dynamic and static IPs). I’ll leave you guys to think about what having a dynamic IP means given the above information (:

      (notice that all your comments also have your IP address appended to your WP ID in the WP dashboard)

      Like

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s