Introduction to BitTorrent
One of the terms you may have come across in your internet travels is “BitTorrent”. Some of you are familiar with this concept, but many are not. Let’s clear it up.
What is BitTorrent?
Downloading files on the internet is a very common thing to do. Typically, when you download a file on the internet, you click on a link which points to that file somewhere on the internet. Then, it is a direct one-way transfer of that file from it’s original location to your computer. This works fine, but can introduce some problems. For one, bandwidth can be an issue. If a bunch of people are simultaneously downloading the same file from the same server, that server becomes bogged down with requests and the bandwidth for that server is stretched. The end effect is that each person attempting to download that file may experience very slow download speeds, or get denied altogether. Plus, the owner of that server could be dealing with enormous bandwidth costs.
BitTorrent is a way to distribute the load. The term “BitTorrent” is used to refer to the original program used to take advantage of this, however it is also used to refer to the protocol itself. So, if you go and download a BitTorrent client, that client software is itself capable of downloading files as well as serving files. It puts you onto a peer-to-peer network where you, as a user of the torrent software, act as part of the file distribution network. So, this means you are sharing out files to the internet? Yes. Let me explain.
BitTorrent achieves distributed load by downloading from multiple peers on the network. A person who publishes a file on the network for sharing starts by creating a “torrent” file. This small file contains information about the file to be shared as well as the tracker (the computer which coordinates file distribution). In short, the torrent file is what tells the BitTorrent client software how to download a particular file and put it back together again. When a user (you) wants to download a file from BitTorrent, you start by pointing the client at the torrent file via a URL. The torrent file then connects your client software to the tracker again, which then tells your software which peers on the network have the file you want. Your client software then begins downloading the file from these multiple locations and then reassembles the file on your computer.
So, yes, you are downloading pieces of a file simultaneously from multiple other peers on the network. It is a peer-to-peer file sharing technology, so when you are downloading a file in this way, you are actually taking pieces of the file from other users’ PCs who happen to have that file on their own computers. All of this is coordinated using the tracker.
Unlike a web browser which makes one request for a file, a BitTorrent client makes many smaller peer-to-peer (P2P) requests at the same time. This provides better availability, better redundancy, and more speed. I should say, though, that the speed varies. Since this is a P2P system and it depends on computers throughout the internet, it can take a little time to establish a connection and establish enough information to make this work. For this reason, torrent downloads usually are slower at first and then ramp up to fast speeds in the middle of the download.
Downloading Torrents
A person uses a BitTorrent file to download files. You can browse the web, find a torrent of a file you want to download, then open it with your BitTorrent client. The client connects to the trackers that are specified in the torrent file. It gets back a list of all the peers which are currently transferring pieces of that file to the network. The client then connects directly to those peers to get pieces of the file. A group of peers which are simultaneously hosting the same file is called a “swarm”. If the swarm only has info on the initial seeder of the file, then the client just points right to the original seeder to get the file. As more peers join the swarm, they will start to trade pieces of the file among themselves and will then stop directly accessing the seeder.
The whole nature of torrents means that it is, ideally, based on give and take. The nature of the protocol, in fact, depends on both serving files as well as downloading files. Different clients incorporate different policies on how to enforce this. Some clients may prefer to send data only to peers who also send data back. Usually, though, the more strict the network the more off-balance it will become. People new to torrents don’t have much to share, so therefore would be at an automatic disadvantage on networks which require give and take. Some clients implement ways of making sure this does not happen.
Legal Issues
Since BitTorrent is a peer-to-peer file sharing technology (and a good one), it, of course, finds itself getting into the realm of illegal software distribution. Some BitTorrent trackers have been subject to raids and shutdowns. Groups like the MPAA and RIAA have put a lot of legal pressure toward the idea of shutting down BitTorrent trackers. While there is a lot of perfectly legit stuff which can be found on BitTorrent, there is also a lot of illegal material. Warez software, copyrighted music, full motion pictures, etc. HBO has even gone so far as to sue to the ISPs of any torrent users who were trading HBO shows via BitTorrent.
So, BitTorrent does get into sticky territory. A couple things torrent has going for it, though, are that (1) there is no built-in search capability, (2) it is possible to track back to the host who is serving the file. This means that, yes, your IP address is able to be obtained if you are serving files over BitTorrent. This can open you up to security problems, however it would not open you up legally unless you are, of course, using BitTorrent to host illegal files. Besides, your IP address is viewable any time you access the internet anyway, so BitTorrent really doesn’t open you up to attach any more than a web browser does. Again, it boils down to what you are doing with the technology, and the types of people you are connecting with.
There is absolutely nothing wrong with using BitTorrent. It is what you choose to DO with the technology that is the issue. There are many programs that use torrent to distribute themselves. For example, I have used torrent to download ISO images of Linux distributions. There is no legal issue with that because Linux is open source. However, if one was using Torrent to download warez software, then that is where you can get into thorny pastures.
BitTorrent Clients
In order to take advantage of BitTorrent, you will need to download and install a torrent client. Here is a list of some of them:
- Azureus BitTyrant
- Azureus
- BitTorrent
- Opera – that’s right, the browser has one built in
- Shareaza
There are many of these things out there, so feel free to just do a Google search for “BitTorrent Client” and you’ll get a bunch of them. You can also consult the Wikipedia entry on BitTorrent clients to get a full comparison grid of them.
Conclusion
I hope this has given you a basic look at what BitTorrent is all about.