Peer-to-Peer Networks. Chapter 2: Initial (real world) systems Thorsten Strufe



Similar documents
The BitTorrent Protocol

Lecture 6 Content Distribution and BitTorrent

Peer-to-peer filetransfer protocols and IPv6. János Mohácsi NIIF/HUNGARNET TF-NGN meeting, 1/Oct/2004

P2P File Sharing: BitTorrent in Detail

SE4C03: Computer Networks and Computer Security Last revised: April Name: Nicholas Lake Student Number: For: S.

P2P: centralized directory (Napster s Approach)

Peer-to-Peer Data Management

Java Bit Torrent Client

Incentives Build Robustness in BitTorrent

CSCI-1680 CDN & P2P Chen Avin

The Internet is Flat: A brief history of networking over the next ten years. Don Towsley UMass - Amherst

CS5412: TORRENTS AND TIT-FOR-TAT

Seminar RVS MC-FTP (Multicast File Transfer Protocol): Simulation and Comparison with BitTorrent

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

DDoS Vulnerability Analysis of Bittorrent Protocol

The Bittorrent P2P File-sharing System: Measurements And Analysis J.A. Pouwelse, P. Garbacki, D.H.J. Epema, H.J. Sips Department of Computer Science,

Attacking a Swarm with a Band of Liars evaluating the impact of attacks on BitTorrent

Content Distribution Network (CDN)

Computers and Media: P2P and Business Models CSCI 1200 COMPUTERS & MEDIA, JAREK SZLICHTA

Three short case studies

BitTorrent Peer To Peer File Sharing

Evaluating the Effectiveness of a BitTorrent-driven DDoS Attack

CNT5106C Project Description

INTERNET CRIMES AGAINST CHILDREN: PEER-TO-PEER TECHNOLOGIES WEBCAST

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Lab 5: BitTorrent Client Implementation

Professor Yashar Ganjali Department of Computer Science University of Toronto.

Peer-to-Peer Networks

The Algorithm of Sharing Incomplete Data in Decentralized P2P

Revisiting P2P content sharing in wireless ad hoc networks

Should Internet Service Providers Fear Peer-Assisted Content Distribution?

The Challenges of Stopping Illegal Peer-to-Peer File Sharing

Middleware and Distributed Systems. Peer-to-Peer Systems. Martin v. Löwis. Montag, 30. Januar 12

Modeling and Analysis of Bandwidth-Inhomogeneous Swarms in BitTorrent

Data Deduplication in BitTorrent. Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering

A Study on the novel tool to retort P2P security issues

A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY. Ranga Reddy Pallelra

HW2 Grade. CS585: Applications. Traditional Applications SMTP SMTP HTTP 11/10/2009

PEER-TO-PEER NETWORK

How To Predict Bittorrent Eta

Dynamic File Bundling for Large-scale Content Distribution

Ofcom Illegal Filesharing Pilot - Peer Review

How To Test The Speed Of Bittorrent On A Bitt Client And Torrent On A Pc Or Ipad (For Free) On A Microsoft Flash Get 2.5 (For A Free) Computer (For Pc Or Mac) On An Ip

From Centralization to Distribution: A Comparison of File Sharing Protocols

Peer to Peer File Sharing and Copyright Infringement Policy

A Success and Failure Factor Study of Peer-to-Peer File Sharing Systems. Christian Lüthold, Marc Weber

q Admin and recap q Case studies: Content Distribution o Forward proxy (web cache) o Akamai o YouTube q P2P networks o Overview

Computation and Economics - Spring 2012 Assignment #3: File Sharing

A CASE STUDY IN MODELING LARGE-SCALE PEER-TO-PEER FILE-SHARING NETWORKS USING DISCRETE-EVENT SIMULATION

Advanced Peer to Peer Discovery and Interaction Framework

A Measurement of NAT & Firewall Characteristics in Peer to Peer Systems

A Torrent Recommender based on DHT Crawling

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive

The Internet and Network Technologies

DNS and P2P File Sharing

Measurement Study of Wuala, a Distributed Social Storage Service

Peer-to-Peer: an Enabling Technology for Next-Generation E-learning

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

Impact of Peer Incentives on the Dissemination of Polluted Content

apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates

Unit 3 - Advanced Internet Architectures

A P2P-Based Architecture for Secure Software Delivery Using Volunteer Assistance

TIME EFFICIENT DISTRIBUTED FILE STORAGE AND SHARING USING P2P NETWORK IN CLOUD

Technical report: An Estimate of Infringing Use of the Internet

PEER TO PEER FILE SHARING USING NETWORK CODING

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

Serverless networking (peer-to-peer computing) Peer-to-peer models

Transcription:

Chapter 2: Initial (real world) systems Thorsten Strufe 1

Chapter Outline Overview of (previously) deployed P2P systems in 3 areas P2P file sharing and content distribution: Napster, Gnutella, KaZaA, BitTorrent Differences, strengths, weaknesses P2P Communication Typical instant messaging setup Skype P2P Computation SETI@Home example / Telephony / Computation 2

Current P2P Content Distribution Systems Most intial P2P content distribution systems targeted at one application: File sharing Users share files and others can download them Content typically music, videos, or software Also often illegally shared :-( Legal uses becoming more common? (see BitTorrent) Content distribution has made P2P popular Note: Distinguish between name of network (e.g., BitTorrent) and name of client (e.g., Vuze) 3

BitTorrent BitTorrent is an approach to sharing large files BitTorrent used widely also for legal content For example, Linux distributions, software patches Official movie distributions (WB) BBC series over the Internet (iplayer), Octoshape Game distribution (Pando Networks, Akamai s Netsession Interface) Goal of BitTorrent: Quickly and reliably replicate one file to a large number of clients BitTorrent more appropriately called peer-to-peer content distribution 4

P2P Content Distribution BitTorrent builds a network for every file that is being distributed (swarms) Big advantage of BitTorrent: Can send link (.torrent) to a friend Link always refers to the same swarm -> the same file (remember identifiers?) Same not really feasible on Napster, Gnutella, or KaZaA These networks are based on searching, hard to identify a particular file Downside of BitTorrent: No searching possible Websites with link collections and search capabilities exist BitTorrent implements location- but no name service 5

BitTorrent History BitTorrent developed by Bram Cohen in 2001 Written in Python, available on many platforms Uses old upload/download-ratio concept from BBSs The more you give, the more you get Participation enforced in protocol Other P2P systems have adopted similar ideas BitTorrent originally used only seldom for illegal content No search functionality? Original source easily identified? Currently lots of illegal content on BitTorrent too (decreasing) 6

BitTorrent: How does it Work? Components: Location Service Tracker Peers (Seed) Data: shared file (broken into chunks) torrent file contains metadata about the shared file Tracker, size and checksum of chunks Cycle: 1 st Seed creates torrent file, publishes via tracker and location service Client discovers resource, downloads torrent file ( name service ) Registers with, and retrieves peers from tracker ( location service ) 7

BitTorrent: Players 3 entities needed to start distribution of a file Web server Tracker Torrent-file Tracker: 127.0.0.1 Chunks: 42 Chunk 1: 12345678 Chunk 2: 90ABCDEF Seed creates torrent-file and hosts it somewhere Seed Seed starts tracker 8

BitTorrent: Starting Up New client gets torrent-file and gets peer list with bitfields from tracker Web server Tracker New client somehow gets torrent-file Client contacts tracker Tracker: 127.0.0.1 Chunks: 42 Chunk 1: 12345678 Chunk 2: 90ABCDEF Peer 1: 127.0.0.2 11010 Peer 2: 192.168.1.1 0111 New client 9

BitTorrent: How does it Work (Detailed)? Terminology: Seed: Client with a complete copy of the file Leecher: Client still downloading the file Client contacts tracker and gets a list of other clients Gets list of 50 peers and their chunk availability Client maintains connections to 20-40 peers If number of connections drops below 20, it contacts tracker This set of peers is called peer set Client downloads chunks from peers in peer set and provides them with its own chunks Chunk size typically 256 KB Chunks make it possible to download large file in parallel 10

BitTorrent: Tit-for-Tat and Chunk Selection BitTorrent uses tit-for-tat policy A peer serves peers that serve it Encourages cooperation, discourage free-riding (not eye for an eye, but quid pro quo!) Peers use rarest first policy when downloading chunks Having a rare chunk makes peer attractive to others Others want to download it, peer can then download the chunks it wants Goal of chunk selection is to maximize availability of each chunk For first chunk, just randomly pick something, so that peer has something to share 11

BitTorrent: Choke/Unchoke Peer serves 4 peers in peer set simultaneously Seeks best (fastest) downloaders if it s a seed Seeks best uploaders if it s a leecher Choke is a temporary refusal to upload to a peer Leecher serves 4 best uploaders, chokes all others Every 10 seconds, it evaluates the transfer speed Why only 4? If there is a better peer, choke the worst of the current 4 Every 30 seconds peer makes an optimistic unchoke What happens if one is much slower than all the others? Randomly unchoke a peer from peer set Idea: Maybe it offers better service 13