The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.

Slides:



Advertisements
Similar presentations
BitTorrent Optimization Techniques (from various online sources)
Advertisements

Rarest First and Choke Algorithms Are Enough
Rarest First and Choke Algorithms are Enough Arnaud LEGOUT INRIA, Sophia Antipolis France G. Urvoy-Keller and P. Michiardi Institut Eurecom France.
The BitTorrent Protocol
Incentives Build Robustness in BitTorrent Author: Bram Cohen Presenter: Brian Liao.
Incentives Build Robustness in BitTorrent- Bram Cohen Presented by Venkatesh Samprati.
The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
Peer-to-Peer (P2P) Networks
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Stochastic Analysis of File Swarming Systems The Chinese University of Hong Kong John C.S. Lui Collaborators: D.M. Chiu, M.H. Lin, B. Fan.
The BitTorrent content distribution system CS217 Advanced Topics in Internet Research Guest Lecture Nikitas Liogkas, 5/11/2006.
Clustering and Sharing Incentives in BitTorrent Systems Arnaud Legout 1, Nikitas Liogkas 2, Eddie Kohler 2, Lixia Zhang 2 1 INRIA, Projet Planète, Sophia.
Modelling and Performance Analysis of BitTorrent-Like Peer-to-Peer Networks.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
A BitTorrent Module for the OMNeT++ Simulator MASCOTS 2009, London, UK G. Xylomenos (with K. Katsaros, V.P. Kemerlis and C. Stais)
Modeling and analysis of BitTorrent-like P2P network Fan Bin Oct,1 st,2004.
Modeling and Performance Analysis of Bitorrent-Like Peer-to-Peer Networks Dongyu Qiu and R. Srikant University of Illinois, 2004 Presented by : Ran Zivhon.
1 Incentives Build Robustness in BitTorrent? Analysis on Bit Torrent Client performance By Jimmy Wong.
A P2P file distribution system ——BitTorrent Fan Bin Sep,25,2004.
Courtesy: Philip Levis/David Mazieres, Stanford More application layer BitTorrent (Quick Overview) Tahir Azim.
Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen
BitTorrent Background. Common Scenario Millions want to download the same popular huge files (for free) –ISO’s –Media (the real example!) Client-server.
The Bittorrent Protocol
1 BiToS: Enhancing BitTorrent for Supporting Streaming Applications Aggelos Vlavianos, Marios Iliofotou and Michalis Faloutsos Department of Computer Science.
Content Overlays (Nick Feamster) February 25, 2008.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
University of Bologna, Italy How to cheat BitTorrent and why nobody does Simon Patarin and David Hales University of Bologna ECCS 2006,
BitTorrent.
BitTorrent Internet Technologies and Applications.
BitTorrent How it applies to networking. What is BitTorrent P2P file sharing protocol Allows users to distribute large amounts of data without placing.
GPS: A General Peer-to-Peer Simulator and its Use for Modeling BitTorrent Weishuai Yang Nael Abu-Ghazaleh
1 BitTorrent System Efrat Oune Bar-Ilan What is BitTorrent? BitTorrent is a peer-to-peer file distribution system (built for intensive daily use.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani.
Bit Torrent A good or a bad?. Common methods of transferring files in the internet: Client-Server Model Peer-to-Peer Network.
David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th 2010 PPSP Protocol Considerations.
Content Overlays (continued) Nick Feamster CS 7260 March 26, 2007.
MULTI-TORRENT: A PERFORMANCE STUDY Yan Yang, Alix L.H. Chow, Leana Golubchik Internet Multimedia Lab University of Southern California.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Content Overlays Nick Feamster CS 7260 March 14, 2007.
B IT T ORRENT T ECHNOLOGY Anthony Pervetich. H ISTORY Bram Cohen Designed the BitTorrent protocol in April 2001 Released July 2, 2001 Concept Late 90’s.
Impact of Incentives in BitTorrent By Jenny Liu and Seth Cooper.
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
End-to-end Publishing Using Bittorrent. Bittorrent Bittorrent is a widely used peer-to- peer network used to distribute files, especially large ones It.
Peer-to-Peer Networks 10 Fast Download Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
November 19, 2016 Guide:- Mrs. Kale J. S. Presented By:- Hamand Amol Sambhaji. Hamand Amol Sambhaji. Pardeshi Dhananjay Rajendra. Pardeshi Dhananjay Rajendra.
Lecture XV: Real P2P Systems
An example of peer-to-peer application
Introduction to BitTorrent
nTorrent: Peer-to-Peer File Sharing in Named Data Networking
Economics and Computation Week 7: The economics of P2P file sharing
Small Is Not Always Beautiful
The BitTorrent Protocol
Content Distribution Networks + P2P File Sharing
PEER-TO-PEER SYSTEMS.
Pure P2P architecture no always-on server
Chapter 2 Application Layer
#02 Peer to Peer Networking
Content Distribution Networks + P2P File Sharing
Presentation transcript:

The BitTorrent Protocol

What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical p2p system, like searching.  The throughput increases with the number of down loaders via the efficient use of network bandwidth

File sharing To share a file or group of files, the initiator first creates a.torrent file, a small file that contains  Metadata about the files to be shared, and  Information about the tracker, the computer that coordinates the file distribution. Downloaders first obtain a.torrent file, and then connect to the specified tracker, which tells them from which other peers to download the pieces of the file.

How it works The file to be distributed is split up into pieces and an SHA-1 hash is calculated for each piece

BT Components The peers first obtain a metadata file for each object The metadata contains:  The SHA-1 hashes of all pieces  A mapping of the pieces to files  Piece size  Length of the file  A tracker reference

BT Components The tracker is a central server keeping a list of all peers participating in the swarm  A swarm is the set of peers that are participating in distributing the same files  A peer joins a swarm by asking the tracker for a peer list and connects to those peers.

BitTorrent Lingo Seeder = a peer that provides the complete file. Initial seeder = a peer that provides the initial copy. Initial seeder Seeder Leecher One who is downloading (not a derogatory term) Leecher

Simple example Seeder: A Downloader B {1,2,3,4,5,6,7,8,9,10} {} {1,2,3} Downloader C {} {1,2,3} {1,2,3,4} {1,2,3,5} {1,2,3,4,5}

Basic Idea  As a leecher downloads pieces of the file, replicas of the pieces are created. More downloads mean more replicas available  As soon as a leecher has a complete piece, it can potentially share it with other downloaders. Eventually each leecher becomes a seeder by obtaining all the pieces, and assembles the file. Verifies the checksum.

Operation

Download in progress

Pipelining  When transferring data over TCP, always have several requests pending at once (typically 5), to avoid a delay between pieces being sent.  Every time a piece or a sub-piece arrives, a new request is sent out.

Piece Selection The order in which pieces are selected by different peers is critical for good performance If an inefficient policy is used, then peers may end up in a situation where each has all identical set of easily available pieces, and none of the missing ones. If the original seed is prematurely taken down, then the file cannot be completely downloaded! What are “good policies?”

Piece Selection Small overlap is goodLarge overlap is bad -- wastes bandwidth

Piece selection Strict Priority Rarest First –General rule Random First Piece –Special case, at the beginning Endgame Mode –Special case

Random First Piece Initially, a peer has nothing to trade Important to get a complete piece ASAP Select a random piece of the file and download it

Rarest Piece First Determine the pieces that are most rare among your peers, and download those first. This ensures that the most commonly available pieces are left till the end to download.

Endgame Mode  Near the end, missing pieces are requested from every peer containing them.  This ensures that a download is not prevented from completion due to a single peer with a slow transfer rate.  Some bandwidth is wasted, but in practice, this is not too much.

BT: internal mechanism Built-in incentive mechanism (where all the magic happens): –Choking Algorithm –Optimistic Unchoking

Choking Choking is a temporary refusal to upload. It is one of BT’s most powerful idea to deal with free riders (those who only download but never upload). Tit-for-tat strategy is based on game-theoretic concepts.

Choking Reasons for choking: –Avoid free riders –Network congestion A good choking algorithm caps the number of simultaneous uploads for good TCP performance.

More on Choking Peers try out unused connections once in a while to find out if they might be better than the current ones (optimistic unchoking).

Optimistic unchoking A BT peer has a single “optimistic unchoke” to which it uploads regardless of the current download rate from it. This peer rotates every 30s Reasons: –To discover currently unused connections that are better than the ones being used –To provide minimal service to new peers

Upload-Only mode Once download is complete, a peer can only upload. The question is, which nodes to upload to? Policy: Upload to those with the best upload rate. This ensures that pieces get replicated faster, and new seeders are created fast

Questions about BT What is the effect of bandwidth constraints? Is the Rarest First policy really necessary? Must nodes perform seeding after downloading is complete? How serious is the Last Piece Problem? Does the incentive mechanism affect the performance much?

Trackerless torrents BitTorrent also supports "trackerless" torrents, featuring a DHT implementation that allows the client to download torrents that have been created without using a BitTorrent tracker.