A mesh topology is a key part of BitTorrent
In the late nineties when the internet was evolving into something that was used by everyone, a new technology was changing lives. In 2002, an innovation known as BitTorrent was becoming available. BitTorrents are applications that, as the name suggests, download a file in bits. The idea of a BitTorrent was that you could easily resume the download if the user were to disconnect. This was particularly useful with larger files such as a program. When Bram Cohen developed the system of BitTorrent, it was designed to use what is known as peer-to-peer to enable the transfer of the data which means that peers (hosts or seeds) would share the data that they have to others and the person who was receiving the file (who uses a torrent client) would see it as if it were coming from one central server. The client software then translates the information into useful information. The image above shows a typical layout for a peer to peer network. This collection of hosts is known as a swarm. This report will discuss the importance of BitTorrent as an important player in the infrastructure of the internet and where it helped the world and where it hindered copyrights. The most important point about BitTorrent is not all of its uses are illegal.
One may ask; why did the last line end with illegal? The answer is that it became something that people who would rather not pay for their download (say for music) would use to obtain the music. The US laws state that this is infringing copyright. However, not everyone was using the BitTorrent client for this; for instance, Ubuntu Linux can be downloaded from a BitTorrent client rather than using what is known as a progressive download. BitTorrents were great for people who wanted to share files as they meant that certain users would have very fast download speeds whilst others provided the files for them to use. In a sense, it is a way of sharing with each other. BitTorrents will download files in any order and then create one file at the end from the chunks of the file it downloaded.
As mentioned earlier, a progressive download is often the "HTTP download", which uses the HTTP protocol.
Inversely to the way a BitTorrent works; HTTP transfers the file as one. Information is encoded and sent in a systematic order as that the information will arrive in the sequence that it will be displayed. Take, for example, a text file with one hundred lines of text. The file will be transmitted line by line with the first transmitted piece of information being the first line. However, due to the fact that there are likely going to be errors when sending this data, each piece of information which is sent, known as a packet, is given a checksum. The checksum means that the computer at the receiving end can check if the information has arrived correctly. The progressive download means that information comes in sorted, so this gives the option of being able to stream (such as BBC iPlayer which allows the user to watch EastEnders at the same time as downloading it) data to their computer. Streaming is used in different areas where peer-to-peer produces undesirable effects such as a video, which could end up muddled up and not in the correct order. This undesired effect with a video may lead to the film being shown in a random order.
Advantages of BitTorrent
The foremost important argument for BitTorrent clients is that they provide a faster download than one single progressive download such as HTTP. To put this in context; assume that four users are downloading one file from a website, they are all accessing the same file, therefore, the same single server is working with all four users. On the other hand, take a BitTorrent system, the system that requests the data will receive the information from the others (which could be the central server from where the file originates) who have downloaded that section already (they could still be waiting on more and are waiting on other systems to come online and share it).
Once it gets a response from that system, it begins to download (leech) it from it. This ultimately means that each system acts like a server and shares the information with other users. This is a huge advantage as there are millions of users using BitTorrent clients. "The 'tiny' BitTorrent client went from 28 million monthly users in December 2008 to 132 million last month."
With a 471% increase in users in 2 years this number now seems astronomically high which means that the number of users that are able to seed information has increased substantially as well. Another major advantage is that file sharing is easier with a BitTorrent client. As mentioned near the start, some Linux distributions use BitTorrent for downloading the files as it makes for a faster and much easier way of sharing files. Users can setup files to share using the BitTorrent client and other users simply need to specify the file. This is normally done through a torrent file (.torrent).
It takes much less computer resources to upload a torrent than for a user to download using a file transfer protocol (FTP). Although it can occasionally be demanding to use BitTorrent clients; generally BitTorrent will remain working as a background process.
Disadvantages of BitTorrent
The upper limit of BitTorrent clients is generally considered its Achilles Heel. A user may only seed two or three files at the one time and for every file it comes at a performance benefit to the user, such that it will become noticeable.
The big issue is normally that the seeder goes offline and anyone who is leeching from them will lose access to it. This means that the leech BitTorrent will have to reinitiate a connection to another seed which can slow the download. If the file is very well demanded, a user may have a longer wait if their seed were to disappear.
Conclusion - good or bad?
I dislike torrents. When I took up programming 7 years ago (2005), I was devastated to find some website giving away software and music at no price, avoiding copyrights and just generally ruining people's creations. When I built my first useful application, Cobweb Internet Browser (which is solely built), I felt the same feeling when people in my school were sharing it with each other. I felt the disgust of people taking full advantage of something that I had made and they should have earned. From then on my opinion on BitTorrent applications was disgruntled.
However, from this report, I have taken a more balanced view on BitTorrent, as I have now seen a much more advantageous way of downloading a file. I have been playing Blizzard Entertainment games since I was four, and most recently started to play Diablo III. Diablo III uses a torrent system to update known as Blizzard Updater. This just goes to show how Blizzard has combatted having to have a dedicated update server running for everyone to download updates, which can therefore handle game requests for a purely online experience. This is an example of an effective BitTorrent client.
For the foreseeable future, BitTorrent will be a useful application for large files, and as internet download speeds increase, larger files are going to be available more and more using BitTorrent. However, it will also result in sites like The Pirate Bay being investigated to keep BitTorrent a fresh and clean possible download mechanism. Some sites might suffer due to the fact they have hosted copyright material. But one thing is for sure, BitTorrent will continue, one way or another.