Unformatted text preview:

BitTorrent Technology How and why it works SE4C03: Computer Networks and Computer Security Last revised: April 03 2005 Name: Nicholas Lake Student Number: 0046314 For: S. Kartik KrishnanBitTorrent Technology How and why it works Abstract The BitTorrent (Torrent) file distribution system is a P2P (peer 2 peer) network that has swept over the internet within the last year. It is so popular that at the moment BitTorrent accounts for almost 35% of all internet traffic and more then 50% of all P2P network traffic. These are staggering numbers considering BitTorrent was developed by Bram Cohen and debut at CodeCon in 2002! However, aside from its popularity BitTorrent has its enemies and rather large enemies at that. They stem from the fact that although BitTorrent was developed essentially to distribute legitimate content, it enables the users to distribute copyrighted material on a massive scale. Thus, with the type of traffic the BitTorrent technology produces you can see why its adversaries include the likes of music and movie industries. Justly, BitTorrent technology and websites that host .torrent files and Trackers are being sued faster then the technology's download rates! BitTorrent Technology The BitTorrent client works by seeking to find Pareto efficiency1. This according to BitTorrents inventor Bram Cohen, essentially means that the software is trying to create a local optimization algorithm. Pairs of counterparties see if they can improve their lot together, which tend to lead to global optima. The BitTorrent clients main difference from other P2P technologies is that it actively tracks a list of peers that are sharing or downloading a specific file, while other clients work by finding a user with the desired file on their computer. There are four critical elements in a BitTorrent network (Torrent); Trackers .torrent file Seeds Leechers The Tracker is the only part that is not shared in the Torrent node, rather it actively keeps track of all seeders and leechers downloading a given .torrent file. This group of seed and leechers is called the peer set. There is only one .torrent file for each shared content. The .torrent file holds all information about the file to be downloaded; name, size, checksum, and IP address of the Tracker. Seeds are nodes in the Torrent that have complete copies of the desired content. This number starts at 1 and grows exponentially as the file gets more popular and more people have finished downloading. Leechers are nodes in the Torrent ring that have incomplete copies. To download a file, one simply downloads the .torrent file and loads it into a BitTorrent application. If the file is a newly shared, there is only 1one seed and the cost of this is born solely on the original host. But as the file gets more popular and is distributed among a growing amount of connected leechers, the cost is shifted from the host and is distributed among the lechers. This 1 An economic allocation is inefficient if there is an alternative allocation in which all agents are better off in terms of their own objective functions (utilities, profits, payoffs); it is said to be Pareto efficient if there is none such alternative allocation 1makes hosting a file, with unlimited number of downloads, affordable. Once a leecher is complete they are promoted to seeds and will remain on the network solely as an uploading node until they have closed there connection. A prime example of how this works is described in Jeremy Reyes paper, “Cutting Edge Peer-to-Peer File Sharing: BitTorrent” " Host A seeds a file that can be arbitrarily divided into 10 data "chunks." Leecher X joins the Torrent and downloads chunks [1,2,3]. Leecher Y then joins the Torrent and instead of connecting to A to get chunks [1,2,3], Y will connect to X and download the chunks from him, while X continues to download from A receiving chunk [4]. While downloading content from X, Y may download a single chunk [5] from A that X does have yet. Y would then share this chunk to X, and X would respond by sharing new chunks it downloaded from A, to Y . Further along in the lifetime of this Torrent yet another leecher may come along and download from the current leechers who have partial datasets before attempting to retrieve non-replicated data from the original seed." The first picture below shows what a normal P2P network looks like (direct download, ftp ect). While the seconds shows what a BitTorrent network would look like. *Normal Network *BitTorrent Network Key feature From the example above this inter-leeching sharing is a key feature to BitTorrent success. It thrives on the algorithm that choose who to download from and which files(parts) to start with when downloading .torrent file. Since order does not matter, files (parts) are downloaded from different sections of a file and are placed in order to create a working file (The BitTorrents actually breaks down piece into sub-piece as to improve the downloading rate). How BitTorrent does this is called, "piece selection" which has four main parts: Strict Priority is a BitTorrent policy that once a sub-piece is selected the remaining sub-pieces from a particular piece are downloaded before any other sub-pieces can be requested. Next Random First Piece entails that once a user connects to the .torrent, it chooses a random piece in order to get the user into the Torrent ring as soon as possible. Rarest First, is implemented after the user has one completed piece of the file, this allows a user to have a piece that other peers want so uploading can be done 2to as many peers as possible. Endgame Mode is implemented because when a user request a sub-piece it may transfer very slow, which in the middle of a download is not a problem , but at the end of a download can be a burden. Thus, nearing the end of a download sub-pieces of the file are actively being requested to ensure fast download rates. Once a sub-piece connection is made, the request is cancelled. Finally since Endgame Mode is usually a very short period at the end of the download, very little bandwidth is wasted this way. Reason for its popularity One of the best reasons for its popularity is the fact that for a host, the cost is considerably low. A host is usually in a metered bandwidth environment, in which there are charges for bandwidth use, server crashes and other problems that arise from a file being downloaded by


View Full Document

NCSU SE 4C03 - BitTorrent Technology

Download BitTorrent Technology
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view BitTorrent Technology and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view BitTorrent Technology 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?