Bit Torrent Protocol

Post on 21-Nov-2014

719 views 2 download

description

 

Transcript of Bit Torrent Protocol

CONTENTS INTRODUCTION OTHER FILE TRANSFOR METHODS STRIKING CHARACTERISTICS TERMINOLOGY ARCHITECTURE OF BITORRENT

COMPONENTS OF BITTORRENT SYSTEM

WORKING OF BITTORRENT CONCLUSION

Bit torrent is created by bram cohen Transfer of large files using the minimum

internet bandwidth Peer-to-peer file transfer protocol Files are shared by many users Active participation of all users Huge success in the file sharing domain 35% of internet traffic

Introduction

Other File Transfer Methods

Typical HTTP file transfer Download Accelerator Plus (DAP) Other Peer to Peer systems

• Kazaa, eDonkey, Direct Connect ….

Striking Characteristics

A central server is not needed No single point of failure More the number of users, greater will be the

transfer rate Data available in pieces, not as a single large

file

Terminology

Torrent Peer Seed Leecher Swarm Reseed Tracker Share Ratio

Architecture of BitTorrent

HTTP Peer – Tracker

TCP Peer – Peer

Components of BitTorrent System Metainfo File Data Tracker Peers Client

Metainfo file Containes all information about a

torrent File with a .torrent extension Encoding scheme used by bittorrent is

called bencoding Hash of all the pieces are present in

info field of metainfo file

Data

Data can be a single file or multiple files contained in a directory

Data is split into many pieces of equal size Each piece is further divided into many

blocks A piece will have a hash, needed for data

integrity check Common piece sizes are 256kb, 512kb and

1mb

Tracker

Manages users participating in a torrent Helps peers find each other It is a HTTP service that works on port 6969 Peers request tracker for other peers having

the required pieces Tracker responds with a list of peers that

have the requested piece A tracker can manage many torrents

Scraping Querying the state of a given torrent Tracker responds with a scrape page

Announce URL : http://example.com/announce

Scrape URL : http://example.com/scrape

Scrape page has the following keys• complete• incomplete• downloaded

Peers

Ports 6881 – 6889 are used by peers Peers speak TCP Following are the key strategies used by

peers while sharing files• Random First Piece• Rarest First• Endgame Mode• Peer Distribution• Choking• Optimistic Unchoking

Peers perform a handshake to start the communication

Handshaking involves these messages• Character 19 followed by ‘BitTorrent Protocol’• 20 bytes hash of the info field from metainfo file• 20 bytes peer id

Peers start talking to each other They pass a number of messages between

them to send data and control the interactions

Client

Executable program running on user’s machine

Co ordinates with OS to perform read write operations

A .torrent file must be opened by the client Peers with same client perform better

Working of BitTorrent

1. Seeder generates a torrent file and uploads torrent to a web server.

2. The seeder notifies the tracker that it is sharing the file described in the torrent file.

3. A leecher downloads the torrent file from the web server.

4. The leecher connects to the tracker specified in the torrent file.

5. The leecher connects to its peers to retrieve pieces of the files.

Conclusion

BitTorrent is a popular P2P technology deployed across the Internet.

The protocol has found a niche as a preferred method for the decentralized distribution of large files.

It provides data integrity which ensures that the data will always be genuine and free from flaws.

BitTorrent uses tit for tat exchange to increase cooperation among peers and has developed a reputation for being efficient, scalable, and robust.

References:

Cohen, Bram. “Incentives Build Robustness in BitTorrent. 2003.

http://www.bittorrent.com/bittorrentecon.pdf BitTorrent Protocol.

http://www.bittorrent.org/protocol.html

THANK YOU