Bittorrent: Presented By: Seminar Guide: Ashish Kumar Ms. Preetha M Kurup Roll No.: 17 Cs - A '
Bittorrent: Presented By: Seminar Guide: Ashish Kumar Ms. Preetha M Kurup Roll No.: 17 Cs - A '
Bittorrent: Presented By: Seminar Guide: Ashish Kumar Ms. Preetha M Kurup Roll No.: 17 Cs - A '
Contents:
Introduction
Working of BitTorrent Terminology
Architecture of bitTorrent
Simple example Conclusion References
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 subpieces 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.
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.
Introduction
This concept enables a client not to depend on a server
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 thats 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.
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.
Swarm -snapshot
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.
Working of BitTorrent
The role of .torrent files is to provide the metadata that
allows the protocol to function. The .torrent files contains : The URL of the tracker Pieces <hash1, hash 2,, hash n> Piece length Name of the file Length of the file
Working of BitTorrent
When a .torrent file is opened by the peers client software,
the peer then connects to the tracker server responsible for coordinating activity for that specific torrent.
Web Server
Tracker
1 Peer2 5 6
4 Peer1 5
Client
Tracker
Downloader:
Seeder:
Downloader:
Architecture of BitTorrent
The BitTorrent protocol can be split into the following five main components: Metainfo File - 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
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.
Tracker
Peer1 4 3 2 1 0
I have pieces I have pieces
Peer2
Peer3
Peer4
Tracker
Does anyone have piece 1
Piece Selection
There are three stages of piece selection, which change depending on which stage of completion a peer is at. Random First Piece When downloading first begins, as the peer has nothing to upload, a piece is selected at random to get the download started. Rarest First When a peer selects which piece to download next, the rarest piece will be chosen from the current swarm.
Piece Selection
End-game mode: When requests sent for all sub-pieces, (re)send requests to all peers. To speed up completion of download Cancel request for downloaded sub-pieces
B Each peer (say A) unchokes at most 4 interested peers at any time The three with the largest upload rates to A
Another randomly chosen (Optimistic Unchoke) To periodically look for better choices
Simple example
{1,2,3,4,5,6,7,8,9,10} Seeder:
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
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)