BitTorrent - University of Iowa

BitTorrent - University of Iowa

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. Leecher Initial seeder

One who is downloading (not a derogatory term) Leecher Seeder Simple example

{1,2,3,4,5,6,7,8,9,10} Seeder: A {}{1,2,3} {1,2,3,5}

{} {1,2,3} {1,2,3,4} {1,2,3,4,5} Downloader B Downloader C

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 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 good Large 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 BTs 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.

Recently Viewed Presentations

  • Lecture 1- Introduction

    Lecture 1- Introduction

    a storyboard, i.e. a cartoon-like series of scenes . a Powerpoint slide show. a video simulating the use of a system. a lump of wood (e.g. PalmPilot) a cardboard mock-up. a piece of software with limited functionality written in the...
  • Pentagon Perspectives Mr. Dennis Mischel Target Systems Office

    Pentagon Perspectives Mr. Dennis Mischel Target Systems Office

    Target Management Initiative Program USD(AT&L) Organization DIR, TEST RESOURCE MANAGEMENT CENTER DIR SPECIAL PROGRAMS DIR ADMINISTRATION EXEC DIR, DEFENSE SCIENCE BOARD DIRECTOR MDA DIR, ACQUISITION RESOURCES & ANALYSIS DIR, INTERNATIONAL COOPERATION UNDER SECRETARY OF DEFENSE (ACQUISITION, TECHNOLOGY AND LOGISTICS) DATSD,...
  • Game Design - WPI

    Game Design - WPI

    Might and Magic 2 - long struggle, mystery. Very end, control panel … 15 minutes to decode ''Fourscore and seven years …" Solved it, asteroid missed, thank you and go home Ex: A Christmas Story - decoder ring drink Ovaltine...
  • Lupine-Induced Crooked Calf Disease

    Lupine-Induced Crooked Calf Disease

    Lupine-Induced Crooked Calf Disease Situation Analysis Baby born in NW CA with severe bone deformities. Partial absence of forearm bones Absent thumbs Possibilities Herbicide spraying in area linked to birth defects.
  • A Hybrid Phish Detection Approach by Identity Discovery and ...

    A Hybrid Phish Detection Approach by Identity Discovery and ...

    Thesis statement is a position, not an argument: demonstrate this tool with this technique with better result, etc. For example, what is cascading? Why is extensibility an issue? I think slide 13 does an ok job of setting up what...
  • PowerPoint Sunusu

    PowerPoint Sunusu

    Innovation means work, hard, concentrated and thorough work. If these qualities are lacking then there is no use for the big talent, cleverness or knowledge. Successful innovations must build on your strong points. The innovation must be important to the...
  • Tungsten inert gas welding (tig) Background  What is

    Tungsten inert gas welding (tig) Background What is

    Tungsten Inert Gas Also referred to as GTAW Gas Shielded Tungsten Welding In TIG welding, a tungsten electrode heats the metal you are welding and gas (most typically Argon) protects the weld from airborne contaminants Background * TIG welding uses...
  • Stony Brook Integrative Structural Biology Organization Introduction to

    Stony Brook Integrative Structural Biology Organization Introduction to

    *Adopted from Eleanor Dodson, MRC LMB. TBD. LSB 434. Molecular Replacement Background. Briefly talk about Patterson function, Rotation, Translation search. When can you use molecular replacement. Some advantages/disadvantages of molecular replacement.