P2P File Sharing Systems

Slides:



Advertisements
Similar presentations
Peer-to-Peer and Social Networks An overview of Gnutella.
Advertisements

INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Course on Computer Communication and Networks Lecture 10 Chapter 2; peer-to-peer applications (and network overlays) EDA344/DIT 420, CTH/GU.
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.
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
P2p, Spring 05 1 Topics in Database Systems: Data Management in Peer-to-Peer Systems March 29, 2005.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Spotlighting Decentralized P2P File Sharing Archie Kuo and Ethan Le Department of Computer Science San Jose State University.
2: Application Layer P2P applications and Sockets.
Peer-to-Peer Intro Jani & Sami Peltotalo.
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
Peer-peer and Application-level Networking CS 218 Fall 2003 Multicast Overlays P2P applications Napster, Gnutella, Robust Overlay Networks Distributed.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)

Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Peer Communications. References Many of the slides are from a tutorial “P2P Systems” by Keith Ross and Dan Rubenstein 1.Dejan S. Milojicic, Vana Kalogeraki,
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
1 P2P Computing. 2 What is P2P? Server-Client model.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
DP&NM Lab. CSE, POSTECH - 1/25 - Peer-to-Peer Algorithms and System CS600 Assignment #5 Nov Byungchul Park DPNM Lab., Dept.
Introduction of P2P systems
22-1 Last time □ SMTP ( ) □ DNS This time □ P2P □ Security.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
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,
Peer to Peer (1). References  Chapter 2.9 of Kurose and Ross  Papers oOpenNap: Open Source Napster Server oJ. Liang, R. Kumar and K. Ross, Understanding.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
GNUTELLA PEER-TO-PEER NETWORKING. GNUTELLA n What is Gnutella n Relation to the World Wide Web n How it Works n Sites / Links / Information.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Quantitative Evaluation of Unstructured Peer-to-Peer Architectures Fabrício Benevenuto José Ismael Jr. Jussara M. Almeida Department of Computer Science.
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 File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Peer-to-Peer Networks Hongli Luo CEIT, IPFW. r Topics m Application architecture m P2P file sharing m P2P networks: Napster Gnutella KaAzA Bittorrent.
2: Application Layer1 DNS: Domain Name System People have many identifiers: SSN, name, passport number Internet hosts, routers have identifiers, too: IP.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
FastTrack Network & Applications (KaZaA & Morpheus)
Lecture 2 Distributed Hash Table
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
PEER TO PEER (P2P) NETWORK By: Linda Rockson 11/28/06.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols.
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
1 Overlay Networks. 2 Routing overlays –Experimental versions of IP (e.g., 6Bone) –Multicast (e.g., MBone and end-system multicast) –Robust routing (e.g.,
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
05 - P2P applications and Sockets
An example of peer-to-peer application
Administrative Things
Peer-to-Peer and Social Networks
Presentation transcript:

P2P File Sharing Systems Johnny Wong Note: Materials of these slides are based on the those from the textbook “Computer Networking: A Top-Down Approach featuring the Internet” by J.F Kurose and K.W. Ross

P2P file sharing Alice chooses one of the peers, Bob. Example 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! 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.

P2P: centralized directory directory server peers Alice Bob 1 2 3 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

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

P2P: Query flooding Send query to neighbors Neighbors forward query If queried peer has object, it sends message back to querying peer Gnutella no hierarchy use bootstrap node to learn about others join message join

P2P: more on query flooding Pros peers have similar responsibilities: no group leaders highly decentralized no peer maintains directory info Cons excessive query traffic query radius: may not have content when present bootstrap node maintenance of overlay network

P2P: decentralized directory Each peer is either a group leader or assigned to a group leader. Group leader tracks the content in all its children. Peer queries group leader; group leader may query other group leaders.

More about decentralized directory overlay network peers are nodes edges between peers and their group leaders edges between some pairs of group leaders virtual neighbors bootstrap node connecting peer is either assigned to a group leader or designated as leader advantages of approach no centralized directory server location service distributed over peers more difficult to shut down disadvantages of approach bootstrap node needed group leaders can get overloaded

Unstructured P2P File Sharing Centralized Napster Distributed Gnutella KaZaA

Napster: how does it work Application-level, client-server protocol over point-to-point TCP Centralized directory server Steps: connect to Napster server upload your list of files to server. give server keywords to search the full list with. select “best” of matching answers (pings) Pings the candidate server using RTT

Gnutella Open-source Links are TCP-connections Each peer sends a query to each of its peers; the receiving peer sends a search query; once the file is found, the response follows the search path backward to the querier; file transfer is point-to-point

Gnutella (con’t) more difficult to “pull plug” decentralized searching for files central directory server no longer the bottleneck more difficult to “pull plug” each application instance serves to: store selected files route queries from and to its neighboring peers respond to queries if file stored locally serve files

Gnutella history 3/14/00: release by AOL, almost immediately withdrawn became open source many iterations to fix poor initial design (poor design turned many people off) issues: how much traffic does one query generate? how many hosts can it support at once? what is the latency associated with querying? is there a bottleneck?

Gnutella: limited scope query Searching by flooding: if you don’t have the file you want, query 7 of your neighbors. if they don’t have it, they contact 7 of their neighbors, for a maximum hop count of 10. reverse path forwarding for responses (not files) (useful for saving TCP connections)

Gnutella in practice Gnutella traffic << KaZaA traffic Anecdotal: Couldn’t find anything Downloads wouldn’t complete Fixes: do things KaZaA is doing: hierarchy, queue management, parallel download,… good source for technical info/open questions about Gnutella: http://www.limewire.com/index.jsp/tech_papers

KaZaA: Technology Software Proprietary control data encrypted (including queries/responses) KaZaA Web site gives a few hits Some studies described in Web Everything in HTTP request and response messages Architecture hierarchical cross between Napster and Gnutella File transfer is not encrypted although the control data is encrypted

KaZaA: The service (2) User can configure max number of simultaneous uploads and max number of simultaneous downloads queue management at server and client Frequent uploaders can get priority in server queue Keyword search User can configure “up to x” responses to keywords Responses to keyword queries come in waves; stops when x responses are found From user’s perspective, service resembles Google, but provides links to MP3s and videos rather than Web pages

KaZaA: Architecture Each peer is either a supernode or an ordinary node (assigned to one supernode) Each supernode connected to many other supernodes (supernode overlay) Nodes that have more connection bandwidth and are more available are designated as supernodes Ordinary nodes: super nodes: m:1 Supernode: supernode: m:n

KaZaa Supernode Each supernode acts as a mini-Napster hub, tracking the content and IP addresses of its descendants Guess: supernode has (on average) 200-500 descendants; roughly 10,000 supernodes Low bandwidth or intermitted connections

KaZaA: Overlay maintenance List of potential supernodes included with software download New peer goes through list until it finds operational supernode Connects, obtains more up-to-date list Node then pings nodes on list and connects with the one with smallest RTT If supernode goes down, node obtains updated list and chooses new supernode

KaZaA Queries If x matches found, done. Node first sends query (keyword) to supernode Supernode responds with matches If x matches found, done. Otherwise, supernode forwards query to subset of supernodes If total of x matches found, done. Otherwise, query further forwarded Probably by original supernode rather than recursively? Not clear how the original supernode queries other supernodes until x matches are found? Or it use a recursive query