Let’s admit it, we all love the Internet. Surfing the web essentially constitutes the majority of computer usage time of most of the casual users. And why shouldn’t we love the Internet? After all, it’s one of the biggest technologies of modern times. It has single handedly changed the way we communicate and share with one another. There’s hardly anything today that can manage to stay relevant without the Internet. Whether it’s filling up application forms, liking and commenting on Facebook, following on Twitter, or anything else for that matter, everything requires an active Internet connection.
But I’m sure all of you will agree with me, that one of the most widespread uses of Internet is getting the stuff that we want a.k.a DOWNLOADING. Whether it’s something as simple as a wallpaper, or an entire Full HD movie (not legal every time), everyone just loves to download stuff and fill up their hard drives.
So today, ILFS will be briefly explaining the amazing technology behind one of the most popular and loved sources of all our downloads, TORRENTS. Keep reading fellas.
What exactly is BitTorrent (protocol)?
Well, as the name suggests, BitTorrent protocol, is first and foremost, a protocol (a set of regulations that govern how something works). BitTorrent protocol defines the way content is shared/transferred amongst online users. It provides a decentralized way of getting the content that we want from the Internet. When I say decentralized, I mean that how this content is delivered to the user(s) is not controlled or managed by anyone or anything. Instead, BitTorrent is a Peer to Peer or P2P protocol, which means that multiple interconnected users connected with each other help everyone in downloading the content.
Summarized Working of BitTorrent protocol
To understand how BitTorrent downloads the content, it’s first essential to know how conventional technologies like FTP/HTTP work to download the content. Under FTP, a user normally sends in a file download request to the server that hosts the file to be downloaded. This target file (a software application, webpage etc.) is stored on the server in a specific directory. When the request is approved by the Server, the download starts and the file is transferred from the server to the client machine.
BitTorrent protocol differs from this, almost entirely. Instead of being hosted on a server, BitTorrent protocol splits up the file to be downloaded into multiple pieces, and these pieces are then simultaneously downloaded by multiple users. It’s not mandatory for every user to download the same piece at the same time, but at the end, everyone has all the pieces which are then combined to get the target file.
One very important thing to note here, is that unlike traditional download methods, BitTorrent requires the users to upload the pieces they have already downloaded simultaneously, which is why BitTorrent downloads are able to achieve quite high download speeds, as there are multiple sources contributing to the download process collectively.
Note: This article is a part of our series titled ILFS Explains where we try to explain meaning of commonly used tech terms. Some other popular article in this series include What is VPN, What is Usenet, and Understanding POP and IMAP.
How BitTorrent clients download stuff?
A BitTorrent client is just a software installed on the computer, that acts as a means to download files through the BitTorrent protocol. There are many popular BitTorrent clients, like: uTorrent, Patchy, and Transmission QT. The following pointers should help in explaining the process clearly:
Step 1: A user downloads a torrent file, which is then opened by the BitTorrent client. A torrent file doesn’t actually contain the file to be downloaded, instead, it’s a meta document that contains information about the file that needs to be downloaded.
The torrent file, has amongst other details, the information about following:
- Trackers: These are specialized tracking servers that maintain a list of active downloaders’ IP addresses to help them find each other. They keep refreshing every few seconds.
- Swarm: It refers to the group of computers connected to each other downloading and uploading the same thing simultaneously amongst each other.
Step 2: For the download to commence, at least one of the users in the swarm needs to have all the pieces (full file). This user is called the initial SEEDER, who initially populates the swarm with all the pieces. Seeder is generally the person who creates the torrent and uploads it.
Step 3: Once users in the swarm have enough pieces, they start uploading those pieces to other users that don’t have those pieces yet. When they do so, they become SEEDERS themselves. Those who are just downloading and have zero or very low upload speeds, are called peers/leechers.
As a general rule, More the seeds/peers ratio, more the download speed. Also, the users who have better upload speeds get better download speeds too. If a torrent’s seeders are reduced to zero, there is no way at all to get the remaining pieces of the file.
How to get efficient download speeds for BitTorrent downloads?
- Choose the torrents that are healthy. A torrent is said to be healthy if it has a significantly high Seeds-Peers ratio. Torrent health is mentioned on Torrent websites too.
- Try to upload along with download too. Remember, BitTorrent protocol is based on the principle of fair sharing, and you won’t get good download speeds if you don’t upload.
Conclusion
Bittorrent protocol is one of the most popular sources of getting the stuff we want from the Internet. Although it is generally perceived as being bad and illegal as it’s unmonitored, and hence is also the constant target of copyright agencies like MPAA. But it can also be used to effectively distribute Free and Open Source applications, publicly licensed music and other free digital media files. Bottom-line is, BitTorrent rules a significant share of worldwide Internet traffic, is hugely popular and is certainly going to be that way for a long, long time.
What do you guys think about BitTorrent? Do you use it regularly? Let me know in the comments below.