NCSU SE 4C03 - An overview of the BitTorrent Protocol

Unformatted text preview:

1 Software Engineering 4C03 Winter 2005 Topic: An overview of the BitTorrent Protocol By: Peter Antal – 9906390 Last Revision Date: 04/05/05  Bittorrent (BT) is a peer-to-peer (P2P) file transfer protocol, used for sharing large files over the Internet. According to a study conducted by CacheLogic, 35% of all Internet traffic was carried by the BitTorrent protocol according to a report in November 2004.i The first such P2P protocol was Napster, which linked together “peer” machines sharing MP3 music from all over the internet, with central control by a server which kept track of files on the peers.ii The Napster system quickly gained notoriety for its use as an explicitly illegal mechanism for pirating music and raised the ire of the music industry in a short time.iii In response to the hazards of litigation present for the handlers of a centralized file list, a second generation of P2P protocols emerged with decentralized control mechanisms.iv Based on lessons learned from past P2P protocols, Bram Cohen introduced the BitTorrent Protocol in 2003.v However, unlike previous P2P protocols, BitTorrent is the first file sharing protocol which has also gained acceptance in corporate network file distribution schemes.vi A notable example is the with the gaming company, Blizzard Software which employs the protocol to distribute patches and beta software to users.vii  The BitTorrent protocol helps to improve on previous generations of peer-to-peer software with a number of key innovations, which shall be discussed in the following subsections.   Simply put, BitTorrent is quite popular as it parallelizes the process of file transfers. Unlike typical network behavior, in which bottlenecks cause performance to plummet; in BitTorrent, increases in demand can actually improve the performance of a computer network.viii This stable scaling behavior makes the protocol admirably suitable for distributing large, popular content on the internet, for servers of limited capacity.ix The protocol achieves this by breaking up large files(typically on the order of hundreds of megabytes) into uniform blocks of considerably smaller size, such as 256 kilobytes; by dividing up the blocks, the source components can be dynamically requested from multiple source machines, which do not need to posess the complete file to be able to upload blocks, meaning downloaders can quickly start contributing as uploaders for other users.2   !Unlike previous P2P protocols which required the use of heavyweight, full featured client applications with elaborate menus and interaction schemes, the BitTorrent protocol operates on a web based distribution paradigm built over the HTTP protocol. Users simply download one of a few client implementations, which to a user act as an extension of their internet browser. By opening files of type .torrent, the protocol client will allow the user to save the file to a location of their choice on the hard drive in the same fashion as typical WWW file transfers. Until the user closes the transfer window, BitTorrent will continue sharing a file to other peers. " #$A traditional problem in P2P systems is that home broadband connections have quite limited upload bandwidth available. To combat this the BT protocol employs a few mechanisms to mitigate for this problem. Once a machine has recieved a few initial blocks, it can then utilize its upload bandwidth to pass those blocks to other machines. Another aspect is that transfers are limited to 4 open sessions, and the number of files hosted is constrained to the few the user has made available; by focusing on a small number of activities, the control overhead over the network is reduced, allowing for more data to be transferred. By reducing the number of uploads per machine, and having considerably more machines uploading content, the time required by a client for downloading a large file is considerably less than traditional means. % &#'()$In typical P2P systems, the performance of the overall system declines when users act in their own self-interest by attempting to obtain service while not contributing anything to the system. This is an old problem, as seen from the field of economics, and BitTorrent was designed with an approach of local optimization by allocating the most upload bandwith to peers which are supplying the greatest amount of content.x As a result of the design of the current BitTorrent Protocol, free-riders can only get 20% of the total system bandwidth.xi *  + Some P2P systems(predominantly post-Napster 2nd generation ones), such as Kazaa which employed highly decentralized models, suffer from poor content integrity. Kazaa, which was a dominant standard prior to BitTorrent had cases of up to 70% of corrupted or falsified content, which would "pollute" the network.xii The user frustration and gross waste of bandwidth arising from this state of affairs was recognized to be a critical concern, and so BitTorrent employs two mechanisms to combat it. First, to be accepted on a file tracking server, typically new content must be accepted by moderators who manually inspect it. To reduce the overload for moderators, regular suppliers of content can be promoted to unmoderated submitters after gaining enough trust.xiii Once the original content is considered trusted, downloaded chunks are evaluated against a validation checksum present in the .torrent file supplied from the server.xiv3 " , Although originally designed for the legal distribution of large files such as open source software and movie trailers, currently, the top users of BitTorrent are none other than the many television and movie pirates present on the internet. Adoption of the protocol by users continues to grow. However, such technology has


View Full Document

NCSU SE 4C03 - An overview of the BitTorrent Protocol

Download An overview of the BitTorrent Protocol
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 An overview of the BitTorrent Protocol 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 An overview of the BitTorrent Protocol 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?