Advanced Computer Networks

Similar documents
Making Gnutella-like P2P Systems Scalable

Telematics Chapter 9: Peer-to-Peer Networks

Scalable overlay Networks

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

Peer-to-Peer (P2P) Systems

Peer-to-Peer Networks

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview:

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Introduction to P2P Computing

15-744: Computer Networking P2P/DHT

Telecommunication Services Engineering Lab. Roch H. Glitho

Badri Nath Rutgers University

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Chapter 2: Application layer

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Lecture 8: Application Layer P2P Applications and DHTs

Architectures for Distributed Systems

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1

Peer-to-Peer Internet Applications: A Review

Searching for Shared Resources: DHT in General

Peer-to-Peer Systems. Winter semester 2014 Jun.-Prof. Dr.-Ing. Kalman Graffi Heinrich Heine University Düsseldorf

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

CMSC 332 Computer Networks P2P and Sockets

Searching for Shared Resources: DHT in General

P2P Computing. Nobuo Kawaguchi. Graduate School of Engineering Nagoya University. In this lecture series. Wireless Location Technologies

Distributed lookup services

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Peer-to-Peer Signalling. Agenda

Peer- Peer to -peer Systems

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

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

A Survey of Peer-to-Peer Content Distribution Technologies

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

Early Measurements of a Cluster-based Architecture for P2P Systems

CS514: Intermediate Course in Computer Systems

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

Peer-to-Peer Architectures and Signaling. Agenda

Overlay networks. T o do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. q q q. Turtles all the way down

Peer to Peer Networks

Distributed Knowledge Organization and Peer-to-Peer Networks

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Internet Services & Protocols

internet technologies and standards

Peer-to-peer computing research a fad?

Distributed Data Management. Profr. Dr. Wolf-Tilo Balke Institut für Informationssysteme Technische Universität Braunschweig

6 Structured P2P Networks

CIS 700/005 Networking Meets Databases

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

CSCI-1680 P2P Rodrigo Fonseca

EE 122: Peer-to-Peer Networks

Unit 8 Peer-to-Peer Networking

Peer to Peer Networks

Peer-peer and Application-level Networking. CS 218 Fall 2003

Peer 2 Peer Massively Multiuser VEs. Patrice Torguet Université Paul Sabatier

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Peer-To-Peer Techniques

Peer-to-Peer Systems and Distributed Hash Tables

Scaling Problem Computer Networking. Lecture 23: Peer-Peer Systems. Fall P2P System. Why p2p?

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching

Special Topics: CSci 8980 Edge History

Peer-to-Peer (P2P) Architectures

Peer-to-Peer Applications Reading: 9.4

Should we build Gnutella on a structured overlay? We believe

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

Chapter 6 PEER-TO-PEER COMPUTING

CS 3516: Advanced Computer Networks

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Page 1. P2P Traffic" P2P Traffic" Today, around 18-20% (North America)! Big chunk now is video entertainment (e.g., Netflix, itunes)!

Introduction to Peer-to-Peer Systems

Peer- to- Peer and Social Networks. An overview of Gnutella

Peer-to-Peer Data Management. Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig

RELOAD P2P Overlay Access Protocol. Younghan Kim Soongsil University

P2P: Distributed Hash Tables

A Framework for Peer-To-Peer Lookup Services based on k-ary search

Characterizing Gnutella Network Properties for Peer-to-Peer Network Simulation

CSE 486/586 Distributed Systems

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Today. Architectural Styles

Chapter 10: Peer-to-Peer Systems

Scaling Problem Millions of clients! server and network meltdown. Peer-to-Peer. P2P System Why p2p?

CSCI-1680 Web Performance, Content Distribution P2P Rodrigo Fonseca

CSCI-1680 Web Performance, Content Distribution P2P John Jannotti

Content Search. Unstructured P2P

INF5071 Performance in distributed systems: Distribution Part III

Transcription:

Advanced Computer Networks P2P Systems Jianping Pan Summer 2007 5/30/07 csc485b/586b/seng480b 1

C/S vs P2P Client-server server is well-known server may become a bottleneck Peer-to-peer everyone is a (potential) server intrinsically scalable how to find a server for a request e.g., locate a file by its name search is a challenge put() and get() 5/30/07 csc485b/586b/seng480b 2

Review: structured P2P Structured P2P networks Chord (MIT) CAN (Berkeley, ICSI) Pastry (Microsoft, Rice) and more: Tapestry (Berkeley), Kademlia (NYU) Unstructured P2P networks 5/30/07 csc485b/586b/seng480b 3

Chord Virtual circular space consistent hashing node ID, object key With successor list O(n) hops O(1) entry With finger table O(log n) hops O(log n) entries 5/30/07 csc485b/586b/seng480b 4

Content Addressable Network Virtual d-torus space consistent hashing e.g., 2-d: h x (key), h y (key) Routing performance O(d n 1/d ) hops O(d) entries neighborhood routing 5/30/07 csc485b/586b/seng480b 5

Pastry Virtual circular space consistent hashing Routing performance O(log 2^b n) hops leaf: L/2 closest each direction tree-like routing neighborbood: M closest w.r.t. routing maintain locality; later this design is dropped routing table: O((2^b-1)log 2^b n) prefix-matching 5/30/07 csc485b/586b/seng480b 6

Today: unstructured P2P Structured P2P networks: applications Chord: CFS (coop FS) Pastry: PAST (file system), SCRIBE (pub/sub) OpenDHT: DHT as a service over Planet-lab Unstructured P2P networks Napster: one of the fastest growing Internet apps Gnutella: first fully distributed one BitTorrent: most popular now? Skype: P2P VoIP 5/30/07 csc485b/586b/seng480b 7

Napster Napster: C/S + P2P connect to Napster directory server upload a list of file information send keyword queries to the server receive a list of hosts from the server choose the best host (with ping) send the request to the host receive the file from the host, or try the next host Discussion: critics on Napster from the viewpoint of network protocol 5/30/07 csc485b/586b/seng480b 8 Explore further: http://david.weekly.org/code/napster.php3

Gnutella Gnutella: P2P + flooding no centralized server even for string search send keyword queries to up to 7 neighbors if a neighbor can answer, reverse the query path if not, the neighbor sends queries to its neighbors maximum hops: e.g., 7 controlled flooding no same queries sent by the same node twice the same queries can be received more than once Q: pros and cons vs Napster? 5/30/07 csc485b/586b/seng480b 9

Bootstrap Need to know at least one working node initially, embedded in software host cache from working nodes the dominant approach other means: e.g., manual configuration Connect to known nodes Based on TCP/IP, ASCII strings GNUTELLA CONNECT/0.4\n\n GNUTELLA OK\n\n only a small set of directly connected nodes 5/30/07 csc485b/586b/seng480b 10

Protocol descriptors Descriptor ID global unique ID (GUID) Payload descriptor TTL at each hop: TTL-- when TTL == 0, drop Hops TTL(0) = TTL + Hops 5/30/07 csc485b/586b/seng480b 11 Explore further: http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf

PING-PONG PING (0x00) probe for other nodes null payload PONG (0x01) response to PING it possible to have multiple PONGs for one PING reverse PING path contain the IP address of the responder and the number/amount of files to be shared PING-PONG traffic should be minimized 5/30/07 csc485b/586b/seng480b 12

QUERY-HIT QUERY (0x80) minimum speed in Kbps search string QUERYHIT (0x81) reverse QUERY path contain: number of hits port number and IP address of the host supported speed in Kbps search results: file index, file size, file name and the GUID of the responder 5/30/07 csc485b/586b/seng480b 13

File retrieval File retrieval over HTTP request from the QUERY node to QUERYHIT node fail if QUERYHIT node is behind firewall/nat PUSH (0x40) contain: the GUID of the QUERYHIT node file index at the QUERYHIT node IP address at the QUERY node and port number at the QUERY node Q: if QUERY is also behind firewall/nat? 5/30/07 csc485b/586b/seng480b 14

Discussion Critics on Gnutella/0.4 hints node structure message handling load balance bootstrap process 5/30/07 csc485b/586b/seng480b 15

Improving Gnutella Node structure from flat to hierarchical GNUTELLA/0.6 more HTTP/1.0 like Ultra-peer: handle message forwarding qualification: not behind firewall/nat sufficient computing and storage resources and reliable network condition leaf nodes only connects to ultra-peer nodes Also in KaZaA: super-node 5/30/07 csc485b/586b/seng480b 16

GNUTELLA/0.6 Ultra-leaf node hierarchy Other features GWebCache working nodes discovery cache PONG, QUERYHIT flow control, direct response to ultra-peer limit/reduce the amount of message handling PUSH through ultra-peer reject with X-Try be more friendly BYE (0x02) 5/30/07 csc485b/586b/seng480b 17 Explore Further: http://rfc-gnutella.sourceforge.net/src/rfc-0_6-draft.html

Non-flooding search Random walk unbiased random walk Q: pros and cons? biased random walk toward better connected nodes which node is better? Network-aware search network-aware cluster 5/30/07 csc485b/586b/seng480b 18

Student presentation Andy Yu: Gia [CRBLS03] Yatin Chawathe, S. Ratnasamy, Lee Breslau, Nick Lanham, Scott Shenker, "Making Gnutella-like P2P Systems Scalable", Sigcomm 2003. [Gnutella] 5/30/07 csc485b/586b/seng480b 19

This lecture Gnutella full distributed, flooding based ways to improve Gnutella Gia and why it is better Explore further in 8. REFERENCES papers cited by this one in scholar.google.com papers citing this paper Should we build Gnutella on a structured overlay? 5/30/07 csc485b/586b/seng480b 20

Next lectures June 4: BitTorrent [QS04] Dongyu Qiu, R. Srikant. Modeling and Performance Analysis of Bit Torrent-Like Peer-to- Peer Networks. SIGCOMM 2004 [BitTorrent] June 6: Skype [BS06] Salman A. Baset and Henning Schulzrinne, "An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol", IEEE Infocom 2006. [Skype] Notice reading list and schedule are online presenter to be contacted one week in advance 5/30/07 csc485b/586b/seng480b 21