PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.

Slides:



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

Incentives Build Robustness in BitTorrent Bram Cohen.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
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.
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.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Road Map Application basics Web FTP DNS P2P DHT.
No Class on Friday There will be NO class on: FRIDAY 1/30/15.
2: Application Layer P2P applications and Sockets.
CSE 124 Networked Services Fall 2009 B. S. Manoj, Ph.D 11/03/2009CSE 124 Network Services FA 2009 Some of these.
CS1652 September 10 th, 2013 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights.
Introduction 1-1 Lecture 7 Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides.
Chapter 2: outline 2.1 principles of network applications
Introduction 1 Lecture 8 Application Layer (DNS, p2p) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
Application Layer 2-1 Chapter 2b Application Layer.
1 Lecture05: Application layer r Principles of network applications r DNS r P2P and DHT.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
Application Layer2-1 Chapter 2: outline 2.1 principles of network applications – app architectures – app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic.
Content Distribution March 6, : Application Layer1.
Introduction of P2P systems
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
Computer Networks CSE 434 Fall 2009 Sandeep K. S. Gupta Arizona State University Research Experience.
Chapter 2: Application layer
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,
P2P Networking and Content Distribution
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking DNS 0.
Content Distribution March 2, : Application Layer1.
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.
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Peer-to-Peer (P2P) networks and applications. What is P2P? r “the sharing of computer resources and services by direct exchange of information”
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
OVERVIEW Lecture 8 Distributed Hash Tables. Hash Table r Name-value pairs (or key-value pairs) m E.g,. “Mehmet Hadi Gunes” and m E.g.,
Peer-to-Peer Networks Hongli Luo CEIT, IPFW. r Topics m Application architecture m P2P file sharing m P2P networks: Napster Gnutella KaAzA Bittorrent.
Lecture 2 Distributed Hash Table
CS 3830 Day 10 Introduction 1-1. Announcements r Quiz #2 this Friday r Program 2 posted yesterday 2: Application Layer 2.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
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.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Computer Networks CSE 434 Fall 2009 Sandeep K. S. Gupta Arizona State University Research Experience.
Advance Computer Networks Lecture#06
Peer-to-Peer File Sharing
Chapter 2 Application Layer Application 2-1. Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic.
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
No Class on Friday There will be NO class on: FRIDAY 1/29/15 1.
2: Application Layer 1 CMPT 371 Data Communications and Networking Chapter 2 Application Layer - 2.
Marina Papatriantafilou – Overlays and peer-to-peer applications Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
CS1652 September 6 th, 2012 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
II -a: Application Layer II. Application Layer (part b) lectured by Chang-jin Suh Soongsil University, Dep. of Computer Science Tel :
05 - P2P applications and Sockets
An example of peer-to-peer application
Server-client vs. P2P: example
Chapter 2: outline 2.1 principles of network applications
EECS 3214: Computer Networks Protocols and Applications
Communication Networks
CMPE 252A : Computer Networks
Part 4: Peer to Peer - P2P Applications
The BitTorrent Protocol
A day in the life: scenario
Chapter 2 Application Layer
CMPE 252A : Computer Networks
Pure P2P architecture no always-on server
Chapter 2 Application Layer
Chapter 2 Application Layer - 2
Presentation transcript:

PEAR TO PEAR PROTOCOL

Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change IP addresses examples: file distribution (BitTorrent) Streaming (KanKan) VoIP (Skype)

File distribution: client-server vs P2P Question: how much time to distribute file (size F) from one server to N peers? peer upload/download capacity is limited resource usus uNuN dNdN server network (with abundant bandwidth) file, size F u s : server upload capacity u i : peer i upload capacity d i : peer i download capacity u2u2 d2d2 u1u1 d1d1 didi uiui

File distribution time: client-server server transmission: must sequentially send (upload) N file copies : time to send one copy: F/u s time to send N copies: NF/u s increases linearly in N time to distribute F to N clients using client-server approach D c-s > max{NF/u s,,F/d min }  client: each client must download file copy  d min = min client download rate  min client download time: F/d min usus network didi uiui F

File distribution time: P2P server transmission: must upload at least one copy time to send one copy: F/u s time to distribute F to N clients using P2P approach usus network didi uiui F D P2P > max{F/u s,,F/d min,,NF/( u s +  u i )}  client: each client must download file copy  min client download time: F/d min  clients: as aggregate must download NF bits  max upload rate (limting max download rate) is u s +  u i … but so does this, as each peer brings service capacity increases linearly in N …

Client-server vs. P2P: example client upload rate = u, F/u = 1 hour, u s = 10u, d min ≥ u s

P2P file distribution: BitTorrent tracker: tracks peers participating in torrent torrent: group of peers exchanging chunks of a file Alice arrives …  file divided into 256Kb chunks  peers in torrent send/receive file chunks … obtains list of peers from tracker … and begins exchanging file chunks with peers in torrent

peer joining torrent: has no chunks, but will accumulate them over time from other peers registers with tracker to get list of peers, connects to subset of peers (“neighbors”) P2P file distribution: BitTorrent  while downloading, peer uploads chunks to other peers  peer may change peers with whom it exchanges chunks  churn: peers may come and go  once peer has entire file, it may (selfishly) leave or (altruistically) remain in torrent

BitTorrent: requesting, sending file chunks requesting chunks: at any given time, different peers have different subsets of file chunks periodically, Alice asks each peer for list of chunks that they have Alice requests missing chunks from peers, rarest first sending chunks: tit-for-tat  Alice sends chunks to those four peers currently sending her chunks at highest rate  other peers are choked by Alice (do not receive chunks from her)  re-evaluate top 4 every10 secs  every 30 secs: randomly select another peer, starts sending chunks  “optimistically unchoke” this peer  newly chosen peer may join top 4

BitTorrent: tit-for-tat (1) Alice “optimistically unchokes” Bob (2) Alice becomes one of Bob’s top-four providers; Bob reciprocates (3) Bob becomes one of Alice’s top-four providers higher upload rate: find better trading partners, get file faster !

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-11

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

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-13

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-14

Circular DHT (1) each peer only aware of immediate successor and predecessor. “overlay network ” Application 2-15

Who’s responsible for key 1110 ? I am O(N) messages on avgerage to resolve query, when there are N peers 1110 Define closest as closest successor Application 2-16 Circular DHT (1)

Circular DHT with shortcuts 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 Who’s responsible for key 1110? Application 2-17

Peer churn example: peer 5 abruptly leaves 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? 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 Application 2-18