bit torrent technology

of 20 /20
Bittorrent A peer to peer file sharing protocol Bittorrent A peer to peer file sharing protocol BY: Parth Akbari (74)

Author: parth-akbari

Post on 13-Apr-2017




2 download

Embed Size (px)


PowerPoint Presentation

BittorrentA peer to peer file sharing protocolBittorrentA peer to peer file sharing protocolBY: Parth Akbari (74)

Abstract BitTorrent is the name of a peer-to-peer (P2P) file distribution protocol, and is the name of a free software implementation of that protocol. The protocol was originally designed and created by programmer Bram Cohen, and is now maintained by BitTorrent Inc.

BitTorrent is designed to distribute large amounts of data widely without incurring the corresponding consumption in costly server And bandwidth resources.

The original BitTorrent client was written in Python. Its source code, as of version has been released under the BitTorrent Open Source License.

So what is Bittorrent?Definition: Bittorrent is a peer to peer network protocol for sharing files over the web.

Peer-to-peer: Users consume and provide resources directly to other users in the network without the need of a central entity.

Application layer: Works on top of the TCP layer

BitTorrent protocol: has been built on a technology which makes it possible to distribute large amounts of data without the need of a high capacity server, and expensive bandwidth.




What are its Terminology?Client(Peers): Piece of computer software that implements the Bittorrent protocol. Peers are nothing but computers running a Bittorrent client.

Tracker: Server that established the communication between peers in the Bittorrent network. A tracker is a HTTP/HTTPS service and typically works on port 6969.

Leeches : They are similar to peers in that they won't have the complete file.Introduction

.Torrent : this refers to the small metadata file you receive from the web server(the one that ends in .torrent.) Metadata here means that the file contains information about the data you want to download, not the data itself.

Seed : A computer that has a complete copy of a certain torrent. Once a client downloads a file completely, he can continue to upload the file which is called as seeding. This is a good practice in the BitTorrent world since it allows other users to have the file easily.Introduction

How does it work?The file provider(seed) makes the file available on the network.Peers make requests for the file. Peers get pieces of the file on a rarest first basis.Peers make pieces that were already downloaded available to other peers while downloading missing piecesOnce a peer has all the parts that make the file if will become a seed.

Can I see?* The image is taken for study purpose : this animation, the colored bars beneath all of the 7 clients in the animation above represent the file, with each color representing an individual piece of the file. After the initial pieces transfer from the seed (large system at the bottom), the pieces are individually transferred from client to client. The original seeder only needs to send out one copy of the file for all the clients to receive a copy.


Peers use TCP (Transport Control Protocol) to communicate and send data. This protocol is preferable over other protocols such as UDP (User Datagram Protocol) because TCP guarantees reliable and in-order delivery of data from sender to receiver. UDP cannot give such guarantees, and data can become scrambled, or lost all together. The tracker allows peers to query which peers have what data, and allows them to begin communication. Peers communicate with the tracker via the plain text via HTTP (Hypertext Transfer Protocol) The following diagram illustrates how peers interact with each other, and also communicate with a central tracker.

Metainfo File.Torrent File

info: a dictionary that describes the file(s) of the torrent. There are two possible forms: one for the case of a 'single-file' torrent with no directory structure, and one for the case of a 'multi-file' torrent (see below for details) announce: The announce URL of the tracker (string) announce-list: (optional) this is an extention to the official specification, offering backwards-compatibility. (list of lists of strings). The official request for a specification change is here. creation date: (optional) the creation time of the torrent, in standard UNIX epoch format (integer, seconds since 1-Jan-1970 00:00:00 UTC) comment: (optional) free-form textual comments of the author (string) created by: (optional) name and version of the program used to create the .torrent (string) encoding: (optional) the string encoding format used to generate the pieces part of the info dictionary in the .torrent metafile (string)

Providers Search Engine )www.torrentcafe.com ( Search Engine )

Screen Shot-I

Screen Shot-II

Screen Shot-III

How to Create?

HTTP vs. BittorrentTerminology HTTPBittorrentFile TransferSingle StreamRandom partsStreaming Specific order RandomUplinkDepends on server bandwidthSeeder BandwidthRedundancy Not Redundant Redundant Server Load Complete loadDistributed loadEncryption HTTPSMessage Stream Encryption Resume Capability Limited Depends on Seeders

Network Impact?Cable Labs estimates that 18% of all broadband traffic happens through the Bittorrent Protocol. Cache Logic did a study in 2004 where it concluded that as much as 35% of all internet traffic was carried using the Bittorrent protocol. The protocol also offers a challenge for network routers that use Network Address Translation (NAT). Most routers keep a 2000 records table while Bittorrent client can easily make 300-500 requests per second.

ConclusionBTP may be The Next Version of Downloading MethodologyWorks on Concept of Distributing data Load over the Users.