Bit Torrent Reference Guide

Saturday, July 29, 2006

Downloading torrents and sharing files

Using a web browser, users navigate to the site listing the torrent, download it, and open it in a BitTorrent client. After opening the torrent, the BitTorrent client connects to the tracker, which provides it with a list of clients currently downloading the file or files. A group of peers on a BitTorrent or P2P connected with each other to share a particular torrent is generally referred to as a swarm.

Initially, there may be no other peers in the swarm, in which case the client connects directly to the initial seeder and begins to request pieces. The BitTorrent protocol breaks down files into a number of much smaller pieces, typically a quarter of a megabyte (256 KB) in size. Larger file sizes typically have larger pieces. For example, a 4.37 GB file may have a piece size of 4 MB (4096 KB). Pieces are checked as they are received using a hash algorithm to ensure that they are error free.

As peers enter the swarm, they begin sharing pieces with one another, instead of downloading directly from the seeder. Clients incorporate mechanisms to optimize their download and upload rates, for example using a tit for tat scheme. Peers download pieces in a random order, to increase the opportunity to exchange data, which is only possible if two peers have a different subset of the file.

The effectiveness of the peer-to-peer data exchange depends largely on the policies used by clients to determine whom to send data to. Clients will prefer to send data to peers that send data back to them, which encourages fair sharing, but strict policies often result in suboptimal situations, where newly joined peers are unable to receive any data (because they don't have any pieces yet to share themselves) and two peers with a good connection between them do not exchange data simply because neither of them wants to take the initiative.

To counter these effects, the official BitTorrent client uses a mechanism called “optimistic unchoking”, where the client will reserve a portion of its available bandwidth for sending pieces to random peers (not necessarily known-good partners, so called prefered peers), in hopes of discovering even better partners and to ensure newcomers get a chance to join the swarm.

Friday, July 28, 2006

Creating and publishing torrents

To share a file or group of files through BitTorrent, clients first create a "torrent". This is a small file which contains meta information about the files to be shared, and about the host computer that coordinates the file distribution. The exact information contained in the tracker file depends on the version of the BitTorrent protocol. However, a torrent file always has the extension .torrent. Torrent files contain an "announce" section, which specifies the URL of the tracker, and an "info" section which contains (suggested) names for the files, their lengths, the piece length used, and a SHA-1 hash code for each piece, which clients should use to verify the integrity of the data they receive. Clients who have finished downloading the file may also choose to act as seeders, providing a complete copy of the file. After the torrent file is created, a link to it is placed on a website or elsewhere, and it is registered with a tracker. BitTorrent trackers maintain lists of the clients currently participating in the torrent. The computer with the initial copy of the file is referred to as the initial seeder.

Sunday, July 23, 2006

Super-Seeding

Super seeding is a feature of some BitTorrent clients that attempts to minimize the amount of data uploaded by the original seed until the first completion of a downloading peer. The feature was conceived by John Hoffman and first implemented in the BitTornado client in mid 2003. This feature should only be used when there's more than one peer. It is called Initial Seeding in µTorrent betas because it is only supposed to be used when there's only one seeder.

Super seeding is a change in the behavior of seeds and may be implemented without violating the BitTorrent protocol. However, it is not endorsed by the protocol designer, Bram Cohen, nor is it found in the official client.

Rather than claiming to have every piece from the outset, the seeder claims to have no pieces. As peers connect, the seed will inform a peer that it has received a new piece, one that has not yet been sent to any other peers. The seed then unchokes the peer and allows it to download the piece. The seed will not upload another piece to the same peer until the seed receives confirmation from other peers that the piece has been uploaded again.

A super seed will usually upload fewer bits before downloaders begin to complete than a standard seed by strictly limiting the uploading of duplicate pieces. That does not necessarily mean that the uploading will take less time. The time it takes for the first completion of a downloader when super seeding becomes limited by the upload rate of the peers connected to it. Further, the seed does not have global information about piece distribution and may not be informed of a piece being uploaded because it was uploaded to a peer not connected to the seed. That is particularly a problem if the seed cannot accept incoming connections. If many seeds on a mature torrent are using super seed mode, the performance of the torrent will be limited.

Super seed mode is most useful for seeds that pay for upload bandwidth by the byte. In that case, super seeding makes sense as it minimizes the costs required to seed a torrent. In other cases, the benefits of super seeding are not so clear. The configuration of peers and their individual upload capacities over the spectrum of individual torrents varies wildly. Seeding strategy and detecting at download time when a given strategy is most appropriate is a promising area of research.

Saturday, July 22, 2006

How to use Torrents

Bit Torrent is a novel approach to file distribution. With BitTorrent instead of relying on a busy, slow FTP or download website for a bunch of files, Bit Torrent distributes the transfer of files over a network as large as the amount of people using it is. Bit Torrent is a refreshing piece of software, as it forces those who download to upload at the same time in order to continue spreading the file.

On a regular website, in order to get the best speeds, it was wise not to tell others about the page. With Bit Torrent, YOU BENEFIT from a larger group of people knowing about a page like this. Bit Torrent pieces together the file you are downloading, to where the first part of a file you get may be the last part someone else gets. As you continue to retrieve the file, Bit Torrent also uploads data to other users - so the person with 98% of the file done is directed to the people with the 2% of the file they still need.

Download the Bit Torrent client: or a new client: Azureus

Download the version for your operating system. Windows people, get the "windows installer," not the source zip file.

This is all you have to do in order to download the files posted. Bit Torrent integrates itself within your browser, so when a link is clicked, you'll be prompted with a location you'd like to save the file at. Select a folder, and Bit Torrent will launch and begin searching for download locations. As it finds other users with the file, it will begin your download. You'll also notice your upload speed rising. This is the advantage of Bit Torrent; in order to download, you must also share.

There's a central "tracker" that's encoded into each .torrent file you run. The file holds the tracker location, the file ID and a few other pieces of information. So to distribute a file, you start a tracker and create a .torrent file with the info in it. Then people run your .torrent file, it tells Bit Torrent to connect to your tracker and your tracker then directs Bit Torrent to where it can get the file from.

If you're looking to download only, and are not concerned with creating .torrent files or starting your own tracker, read no further - the above information is all you need to use Bit Torrent.

Friday, July 21, 2006

What are Torrents exactly?

“BitTorrents,” have grown in popularity among sick musos like myself. If it has not yet officially replaced trading as the primary means of live music dissemination, it very soon will. There are far too many advantages to this mode for it not to continue to increase in popularity. It will inevitably make trading a footnote in music collecting history (speaking of which, isn’t about time for an update to Clinton Heylin’s excellent Bootleg?) CD trading will eventually become a piece of nostalgia, much like vinyl records and mix tapes.

At its best, BitTorrent offers several advantages classic trading cannot challenge. BitTorrent is far faster than trading; instead of having to find someone willing to trade, retrieving the necessary CDs from whatever maximum-security vault the collector has designed, burning the CDs, packaging the CDs, and mailing the CDs, all BitTorrent takes is some free software and a PC with burning capabilities, and a user is free to download shows until he falls asleep or his spouse leaves him.

BitTorrent has also substantially increased the amount of live music in circulation. The effort of having to search individual trade lists to find a specific show is now practically non-existent. A simple post to a torrent message board will usually yield a generous collector willing to seed the show, regardless of how rare or hard to find a specific show might be. In this way, BitTorrent has made it remarkably easy to efficiently acquire new live music.

Thursday, July 20, 2006

Welcome

This blog will provide a guide to using torrents.

We will have some screen shots of torrent in creation, upload and donload :)

Enjoy :)