P2P: centralized directory (Napster s Approach)



Similar documents
DNS and P2P File Sharing

CSCI-1680 CDN & P2P Chen Avin

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

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

Professor Yashar Ganjali Department of Computer Science University of Toronto.

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

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

The BitTorrent Protocol

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

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

Peer-to-Peer Networks 02: Napster & Gnutella. Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg

P2P File Sharing: BitTorrent in Detail

PEER TO PEER FILE SHARING USING NETWORK CODING

Three short case studies

2015 Internet Traffic Analysis

Architectures and protocols in Peer-to-Peer networks

Peer-to-Peer Networks Organization and Introduction 1st Week

How To Use A Phone Over Ip (Phyto) For A Phone Call

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

Optimizing and Balancing Load in Fully Distributed P2P File Sharing Systems

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

Lecture 6 Content Distribution and BitTorrent

An Introduction to Peer-to-Peer Networks

VoIP over P2P networks

Internet Security. Prof. Anja Feldmann, Ph.D.

Peer-to-Peer Systems: "A Shared Social Network"

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

Information Searching Methods In P2P file-sharing systems

Unit 3 - Advanced Internet Architectures

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

HollyShare: Peer-to-Peer File Sharing Application

Sync Security and Privacy Brief

DDoS Vulnerability Analysis of Bittorrent Protocol

Multicast vs. P2P for content distribution

RESEARCH ISSUES IN PEER-TO-PEER DATA MANAGEMENT

Peer-to-Peer File Sharing Across Private Networks Using Proxy Servers

System Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks

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

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

ENABLING SEMANTIC SEARCH IN STRUCTURED P2P NETWORKS VIA DISTRIBUTED DATABASES AND WEB SERVICES

A Measurement Study of Peer-to-Peer File Sharing Systems

Peer-to-Peer Data Management

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

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

From Centralization to Distribution: A Comparison of File Sharing Protocols

Skype network has three types of machines, all running the same software and treated equally:

Network Applications

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

Skype characteristics

CS 360 Internet Programming

A Survey of Peer-to-Peer Network Security Issues

Introduction to Computer Networks

An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Decentralized supplementary services for Voice-over-IP telephony

Best Practices for Controlling Skype within the Enterprise. Whitepaper

Computer Networks - CS132/EECS148 - Spring

Guidance Regarding Skype and Other P2P VoIP Solutions

Measurements on the Spotify Peer-Assisted Music-on-Demand Streaming System

Peer-to-Peer File Sharing

A Seminar report on Peer to peer Network

Interoperability of Peer-To-Peer File Sharing Protocols

Incentives Build Robustness in BitTorrent

A Study on the novel tool to retort P2P security issues

Improving Gnutella Protocol: Protocol Analysis And Research Proposals

Bit Chat: A Peer-to-Peer Instant Messenger

On the Penetration of Business Networks by P2P File Sharing

CNT5106C Project Description

I Know Where You are and What You are Sharing:

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

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

Characterizing the Query Behavior in Peer-to-Peer File Sharing Systems*

5. Peer-to-peer (P2P) networks

Lab 5: BitTorrent Client Implementation

Client/server and peer-to-peer models: basic concepts

A Survey of Peer-to-Peer File Sharing Technologies

Impact of Peer Incentives on the Dissemination of Polluted Content

Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities

Exploiting P2P Systems for DDoS Attacks

Privacy- Preserving P2P Data Sharing with OneSwarm. Presented by. Adnan Malik

Chapter 2: Application layer

CGHub Client Security Guide Documentation

The Algorithm of Sharing Incomplete Data in Decentralized P2P

Efficient Content Location Using Interest-Based Locality in Peer-to-Peer Systems

Calto: A Self Sufficient Presence System for Autonomous Networks

Giving life to today s media distribution services

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

Computer Networks and the Internet

Lecture 25: Security Issues in Structured Peer-to-Peer Networks. Lecture Notes on Computer and Network Security. by Avi Kak

Transcription:

P2P File Sharing

P2P file sharing Example Alice runs P2P client application on her notebook computer Intermittently connects to Internet; gets new IP address for each connection Asks for Hey Jude Application displays other peers that have copy of Hey Jude. Alice chooses one of the peers, Bob. File is copied from Bob s PC to Alice s notebook: HTTP While Alice downloads, other users uploading from Alice. Alice s peer is both a Web client and a transient Web server. All peers are servers = highly scalable!

P2P: centralized directory (Napster s Approach) original Napster design 1) when peer connects, it informs central server: IP address content 2) Alice queries for Hey Jude 3) Alice requests file from Bob centralized directory server 2 1 1 1 1 Alice 3 Bob peers

P2P: problems with centralized directory Single point of failure Performance bottleneck Copyright infringement file transfer is decentralized, but locating content is highly decentralized

Query flooding: Gnutella fully distributed no central server public domain protocol many Gnutella clients implementing protocol overlay network: graph edge between peer X and Y if there s a TCP connection all active peers and edges is overlay net Edge is not a physical link Given peer will typically be connected with < 10 overlay neighbors

Gnutella: protocol Query message sent over existing TCP connections peers forward Query message QueryHit sent over reverse path Query QueryHit File transfer: HTTP Query QueryHit Scalability: limited scope flooding

Gnutella: Peer joining 1. Joining peer X must find some other peer in Gnutella network: use list of candidate peers 2. X sequentially attempts to make TCP with peers on list until connection setup with Y 3. X sends Ping message to Y; Y forwards Ping message. 4. All peers receiving Ping message respond with Pong message 5. X receives many Pong messages. It can then setup additional TCP connections

Exploiting heterogeneity: KaZaA Each peer is either a group leader or assigned to a group leader. TCP connection between peer and its group leader. TCP connections between some pairs of group leaders. Group leader tracks the content in all its children. ordinary peer group-leader peer neighoring relationships in overlay network

KaZaA: Querying Each file has a hash and a descriptor Client sends keyword query to its group leader Group leader responds with matches: For each match: metadata, hash, IP address If group leader forwards query to other group leaders, they respond with matches Client then selects files for downloading HTTP requests using hash as identifier sent to peers holding desired file

Kazaa tricks Limitations on simultaneous uploads Request queuing Incentive priorities Parallel downloading

BitTorrent joining a torrent new leecher metadata file 1 website 2 join peer list 3 tracker data request 4 seed/leecher Peers divided into: seeds: have the entire file leechers: still downloading 1. obtain the metadata file 2. contact the tracker 3. obtain a peer list (contains seeds & leechers) 4. contact peers from that list for data

BitTorrent exchanging data leecher B leecher A I have! seed leecher C Verify pieces using hashes Download sub-pieces in parallel Advertise received pieces to the entire peer list Look for the rarest pieces

Distributed Hash Table (DHT) DHT: a distributed P2P database database has (key, value) pairs; examples: key: ss number; value: human name key: movie title; value: IP address Distribute the (key, value) pairs over the (millions of peers) a peer queries DHT with key DHT returns values that match the key peers can also insert (key, value) pairs Application 2-13

Q: how to assign keys to peers? central issue: assigning (key, value) pairs to peers. basic idea: convert each key to an integer Assign an integer to each peer put (key,value) pair in the peer that is closest to the key Application 2-14

DHT identifiers assign integer identifier to each peer in range [0,2 n -1] for some n. each identifier represented by n bits. require each key to be an integer in same range to get integer key, hash original key e.g., key = hash( Led Zeppelin IV ) this is why its is referred to as a distributed hash table Application 2-15

Assign keys to peers rule: assign key to the peer that has the closest ID. convention in lecture: closest is the immediate successor of the key. e.g., n=4; peers: 1,3,4,5,8,10,12,14; key = 13, then successor peer = 14 key = 15, then successor peer = 1 Application 2-16

Circular DHT (1) 1 15 3 4 12 5 10 8 each peer only aware of immediate successor and predecessor. overlay network Application 2-17

Circular DHT (1) O(N) messages on avgerage to resolve query, when there are N peers I am 1111 0001 0011 Who s responsible for key 1110? 1110 1110 0100 1100 1110 1110 1110 0101 Define closest as closest successor 1010 1110 1000 Application 2-18

Circular DHT with shortcuts 15 1 3 Who s responsible for key 1110? 4 12 5 10 8 each peer keeps track of IP addresses of predecessor, successor, short cuts. reduced from 6 to 2 messages. possible to design shortcuts so O(log N) neighbors, O(log N) messages in query Application 2-19

Peer churn 15 12 10 8 1 example: peer 5 abruptly leaves 3 5 4 handling peer churn: peers may come and go (churn) each peer knows address of its two successors each peer periodically pings its two successors to check aliveness if immediate successor leaves, choose next successor as new immediate successor peer 4 detects peer 5 departure; makes 8 its immediate successor; asks 8 who its immediate successor is; makes 8 s immediate successor its second successor. what if peer 13 wants to join? Application 2-20

P2P Case study: Skype inherently P2P: pairs of users communicate. proprietary applicationlayer protocol inferred via reverse engineering Index maps usernames to IP addresses; distributed over SNs hierarchical overlay with SNs Skype login server Skype clients (SC) Supernode (SN) Application 21

Peers as relays problem when both Alice and Bob are behind NATs. NAT prevents an outside peer from initiating a call to insider peer solution: using Alice s and Bob s SNs, relay is chosen each peer initiates session with relay. peers can now communicate through NATs via relay Application 22