How Torrents Work and More – A Simple Introduction

This post was published 4 years ago on my older blog. Re-posting it here. Most of the things discussed are still relevant.

The spread of broadband internet in India has triggered a vast downloading community. Movies, softwares, music or anything digital for that matter can be downloaded from the internet.

One question occurs to most of us: Where is all this content available? How to download it?

The questions that follow are: Is it legal? What is the internet speed requirement for downloading? Is there a risk of viruses/trojans in the process?

I’ll start right from the basics:
There are three ways of downloading data from the internet:

  1. Direct download from websites (FTP)
  2. Peer-To-Peer Network (P2P)
  3. Torrents

I won’t be discussing about direct downloads (maybe sometime later!) and proceed to the other two.

Peer-To-Peer (P2P):

P2P (Peer-to-Peer) is a data transfer technology that is quite similar to BitTorrent (discussed later) in nature. What happens in p2p is that the client (implying the user, through his software) is connected to a network that is created by a particular software network or a combination of networks.

As we all know, the keyword(s) related to the data we want (generally songs or short videos) is entered in the search box. What the software does next is search for files on the entire network that match our keyword(s). If any files are found, they are listed and a number appears next to it along with other attributes. This number is actually the number of people on the network that have the file u want!

So u start downloading a particular file from the list. When I say downloading, I mean that your software is connected to the people on the network who have the particular file and they ‘supply’ you with the file. Hence, it is partially logical to say that the lesser the number of people having the file, the lesser the speed.

Coming to speed, there are various factors that affect the download speed. The first and most important factor is the bandwidth of your internet connection (commonly referred to as the ‘net speed’). Having a higher bandwidth increases the chances of getting a faster speed. Why I’m using the word chances is because you having a higher bandwidth doesn’t mean there are enough ‘suppliers’ to provide you with the additional speed. This can be explained with a simple example. Consider a water pipe carrying a fixed amount of water. Now, the diameter of the pipe is increased. But it is not logically right to say that more water flows through the pipe just because it’s size has increased. For that to happen, the supply to the pipe will have to be increased. Consider the pipe to be your internet connection, it’s diameter as your bandwidth and the water as the actual data …

Another factor is the internet speed of the people who ‘supply’ the files. You must have experienced the case where a file having higher number of ‘suppliers’ is downloaded slower than a file with lesser number of ‘suppliers’!

Other factors include, the other applications running simultaneously on your PC (web browser, online games etc), your internet service provider’s settings etc.

Moving on to the third way of file sharing …

Those people who have friends that download a lot have most probably heard this word. And that too a lot, I think! Torrents are a very powerful way of fast sharing of large files. Some basic questions are answered below:

What is a torrent?:

A torrent (proper name: BitTorrent) is a basically a protocol (a method of data communication) that is used for transfer and distribution of data over the internet. The basic principle for a torrent network is the same as a P2P network i.e. it involves the sharing data amongst users of the network. Then what is different? We can say that torrents are an advanced version of p2p (this is not technically correct but we can say that for practical use).

In a torrent network, the ‘suppliers’ (as they were called so far) are called seeders. I’ll explain how file sharing through torrent network takes place using a non-technical example.

Suppose, in a class of fifty people, the teacher gives an assignment. It is five pages long. The brightest student in the class finishes the assignment first and everyone else wants to copy his assignment. It can be done in two ways:

  1. The entire assignment is given by the brightest student to another student. He copies it and passes on both (his own and the original) assignments to other students. This is how the sharing takes place (sharp people may have noticed that this is similar to the sharing principle of p2p!).
  2. The original assignment is of 5 pages. So, 5 people are given 5 different pages. They each copy it and pass it on to a student who does not have that page. Also, they look for the other 4 pages of the assignment which they don’t have and copy them! Thus, more number of people are are able to start on the assignment and time is saved!

The second case explains how torrents work. A file that is to be shared is put on the network by a host (the person who has the file – the brightest student, in the example above). Parts of the file are downloaded by different users of the network and they themselves start acting as seeders of those parts!

So how does that help? Well, the load of providing all the downloaders of the file with data is shared between everyone! You give and take! Most importantly, it reduces the heavy and costly hardware requirements that a person would need to host (provide) the file alone!

This picture from Wikipedia illustrates the concept well:

The colors are parts of the file. Observe how the pieces are shared amongst users.

How to actually download files through torrents:

Downloading files through torrents is slightly more complicated than downloading through P2P. Have you ever seen a small-sized file appear on your computer after you clicked on ‘download torrent’ on a website? That file is the torrent file which connects the user to the torrent network. How to use that file? The torrent file must be opened with a torrent software. One of them is mentioned below.

The software asks you where you want to store the file(s) and starts downloading. You’ll also notice that there is an ‘upload speed’ column. That’s the speed with which you are sharingthe data of the file you have. An important point: In most torrent softwares, reducing the upload speed directly affects the download speed! So don’t be selfish!!


Broadband internet connection is highly recommended for using both the networks. P2P can be used on dial-up connection to some extent but use of torrent networks is almost impossible.

Risk of viruses and trojans:

Viruses and trojans are to be expected in any form of file sharing as they thrive on that! It may be discouraging to know, but a good anti-virus software and experience are the only two things that can prevent damage caused by viruses, trojans and malwares. It should be noted that pornographic material is a very common carrier of viruses and trojans. P2P networks are more vulnerable to them than torrent networks.


The fact is that most of the transfers on these networks are illegal (i.e. copyrighted material is shared. The softwares of both P2P and torrents cannot be sued for these transfers because they provide a means of sharing data. What data is to be shared depends on the user. Use of torrents and P2P can lead to legal action/fine in some countries where cyber laws are strict.

Some popular P2P softwares (Links):


Some popular torrent file sites:


Torrent software:


Visit the Wikipedia page if you are interested in knowing more (technical stuff) about file sharing.

Please feel free to ask questions/post comments below. Thanks for reading!


– Omkar


Leave a Reply

Fill in your details below or click an icon to log in: Logo

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

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s