BitTorrent is a peer-to-peer file sharing protocol used to distribute large amounts of data. A user can obtain multiple files simultaneously without any considerable loss of the transfer rate .
3. Introduction BitTorrent is a peer to peer communication protocol for file sharing. The data to be shared is divided into many equal sized portions called pieces. Each piece is further sub-divided into equal-sized sub-pieces called blocks. All clients interested in sharing the same data are grouped into a swarm. It does not require a user to download a file completely from a single server.
4. Introduction Instead a file can be downloaded from many such users who are indeed downloading the same file. A user who has the complete file, called the seed will initiate the download by transferring pieces of file to the users. Once a user has some considerable number of such pieces of a file then even he can start sharing them with other users who are yet to receive those pieces. Pieces are not downloaded in sequential order.
5. Introduction This concept enables a client not to depend on a server completely . It also reduces the overall load on the server.
6. Terminology Torrent : refers to the small metadata file you receive from the web server. Peer : A peer is another computer on the internet that you connect to and transfer data. Leech: peer that’s downloading the file Seed: A computer that has a complete copy of a certain torrent. Swarm: The group of machines that are collectively connected for a particular file.
7. Terminology Tracker : A server on the Internet that acts to coordinate the action of BitTorrent clients. The clients are in constant touch with this server to know about the peers in the swarm. Share ratio : This is ratio of amount of a file downloaded to that of uploaded. Choked: It is a state of an uploader where he does not want to send anything on his link. In such cases, the connection is said to be choked.
9. Working of BitTorrent BitTorrent protocol shares data through what are known as torrents. For a torrent to be alive or active it must have several key components to function. These components include a tracker server, a .torrent file, a web server where the .torrent file is stored and a complete copy of the file being exchanged. The first step in the BitTorrent exchange occurs when a peer downloads a .torrent file from a server.
15. Tracker Web Server 3 2 1 4 Peer2 Peer1 5 5 6 Client 6 Fig: A Typical BitTorrent System
16. BitTorrent: publishing a file Harry Potter.torrent Bob Web Server Tracker Downloader: A Seeder: B Downloader: C
17. Architecture of BitTorrent The BitTorrent protocol can be split into the following five main components: MetainfoFile - a file which contains all details necessary for the protocol to operate. Tracker - A server which helps manage the BitTorrent protocol. Peers - Users exchanging data via the BitTorrent protocol. Data - The files being transferred across the protocol
18. Architecture of BitTorrent Client - The program which sits on a peers computer and implements the protocol Peers use TCP to communicate and send data A tracker is a HTTP/HTTPS service and typically works on port 6969. BitTorrent clients communicate with the tracker using HTTP GET requests, which is a standard CGI method. BitTorrent uses ports 6881-6889 to send messages and data between peers.
19. Tracker Peer1 Peer3 Peer4 Peer2 4 3 2 1 0 I have pieces I have pieces Tracker Does anyone have piece 1 yes, peers 1 and 4
20.
21.
22. Tit-for-tat as incentive to upload Want to encourage all peers to contribute Peer A said to choke peer B if it (A) decides not to upload to B Each peer (say A) unchokes at most 4 interested peers at any time The three with the largest upload rates to A Where the tit-for-tat comes in Another randomly chosen (Optimistic Unchoke) To periodically look for better choices
24. Conclusion BitTorrent pioneered mesh-based file distribution that effectively utilizes all the uplinks of participating nodes. BitTorrent is a well thought-out protocol that embraces aspects of cooperation and self-optimizing mechanisms. BitTorrent propose solutions for current optimization and scalability problems
25. References BitTorrent Inc. (2006) http://www.bittorrent.com BitTorrent.Org(2006) http://www.bittorrent.org/protocol.htm Cohen, Bram (2003) Incentives Build Robustness in BitTorrent, May 22 2003 http://www.bitconjurer.org/BitTorrent/bittorrentecon.pdf Information on BitTorrent Protocol en.wikipedia.org/wiki/BitTorrent_(protocol)