1 / 85

P2P Networking

P2P Networking. What is peer-to-peer (P2P)?.

Anita
Télécharger la présentation

P2P Networking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. P2P Networking

  2. What is peer-to-peer (P2P)? • “Peer-to-peer is a way of structuring distributed applications such that the individual nodes have symmetric roles. Rather than being divided into clients and servers each with quite distinct roles, in P2P applications a node may act as both a client and a server.”-- Charter of Peer-to-peer Research Group, IETF/IRTF, June 24, 2004(http://www.irtf.org/charters/p2prg.html)

  3. GET /index.html HTTP/1.0 HTTP/1.1 200 OK ... Client/Server Architecture Client Server

  4. Disadvantages of C/S Architecture • Single point of failure • Strong expensive server • Dedicated maintenance (a sysadmin) • Not scalable - more users, more servers

  5. The Client Side • Today’s clients can perform more roles than just forwarding users requests • Today’s clients have: • more computing power • more storage space • Thin client  Fat client

  6. Evolution at the Client Side IBM PC @ 4.77MHz 360k diskettes A PC @ 4GHz 100GB HD DEC’S VT100 No storage 2007 ‘70 ‘80

  7. What Else Has Changed? • The number of home PCs is increasing rapidly • Most of the PCs are “fat clients” • As the Internet usage grow, more and more PCs are connecting to the global net • Most of the time PCs are idle • How can we use all this?

  8. Resources Sharing • What can we share? • Computer resources • Shareable computer resources: • CPU cycles- seti@home, GIMPS • Data - Napster, Gnutella • Bandwidth- PPLive, PPStream • Storage Space- OceanStore, CFS, PAST

  9. SETI@Home • SETI – Search for Extra-Terrestrial Intelligence • @Home – On your own computer • A radio telescope in Puerto Rico scans the sky for radio signals • Fills a DAT tape of 35GB in 15 hours • That data have to be analyzed

  10. SETI@Home (cont.) • The problem – analyzing the data requires a huge amount of computation • Even a supercomputer cannot finish the task on its own • Accessing a supercomputer is expensive • What can be done?

  11. SETI@Home (cont.) • Can we use distributed computing? • YEAH • Fortunately, the problem can be solved in parallel - examples: • Analyzing different parts of the sky • Analyzing different frequencies • Analyzing different time slices

  12. SETI@Home (cont.) • The data can be divided into small segments • A PC is capable of analyzing a segment in a reasonable amount of time • An enthusiastic UFO searcher will lend his spare CPU cycles for the computation • When? Screensavers

  13. SETI@Home - Example

  14. SETI@Home - Summary • SETI reverses the C/S model • Clients can also provide services • Servers can be weaker, used mainly for storage • Distributed peers serving the center • Not yet P2P but we’re close • Outcome - great results: • Thousands of unused CPU hours tamed for the mission • 3+ millions of users

  15. Google -- Larry Page and Sergey Brin

  16. Cloud computing

  17. MUREX: A Mutable Replica Control Scheme for Peer-to-Peer Storage Systems

  18. HotOS Attendee Murex: Basic Concept

  19. Video stream … … Peer-to-Peer Video Streaming

  20. Peer-to-Peer Video Streaming

  21. Napster -- Shawn Fanning

  22. History of Napster (1/2) • 5/99: Shawn Fanning (freshman, Northeastern University) founds Napster Online (supported by Groove) • 12/99: First lawsuit • 3/00: 25% Univ. of Wisconsin traffic on Napster

  23. History of Napster (2/2) • 2000: estimated 23M users • 7/01: simultaneous online users 160K • 6/02: file bankrupt • … • 10/03: Napster 2 (Supported by Roxio) (users should pay $9.99/month) 1984~2000, 23M domain names are counted vs. 16 months, 23M Napster-style names are registered at Napster

  24. “beastieboy” • song1.mp3 • song2.mp3 • song3.mp3 • “kingrook” • song4.mp3 • song5.mp3 • song6.mp3 • “slashdot” • song5.mp3 • song6.mp3 • song7.mp3 Napster Sharing Style: hybrid center+edge Title User Speed song1.mp3 beasiteboy DSL song2.mp3 beasiteboy DSL song3.mp3 beasiteboy DSL song4.mp3 kingrook T1 song5.mp3 kingrook T1 song5.mp3 slashdot 28.8 song6.mp3 kingrook T1 song6.mp3 slashdot 28.8 song7.mp3 slashdot 28.8 1. Users launch Napster and connect to Napster server 2. Napster creates dynamic directory from users’ personal .mp3 libraries 3. beastieboy enters search criteria s o n g 5 4. Napster displays matches to beastieboy 5. beastieboy makes direct connection to kingrook for file transfer • song5.mp3

  25. Gnutella History • Gnutella was written by Justin Frankel, the 21-year-old founder of Nullsoft. • (Nullsoft acquired by AOL, June 1999) • Nullsoft (maker of WinAmp) posted Gnutella on the Web, March 14, 2000. • A day later AOL yanked Gnutella, at the behest of Time Warner. • Too late: 23k users on Gnutella • People had already downloaded and shared the program. • Gnutella continues today, run by independent programmers.

  26. Gnutella -- Justin Frankel and Tom Pepper

  27. The ‘Animal’ GNU: Either of two large African antelopes (Connochaetes gnou or C. taurinus) having a drooping mane and beard, a long tufted tail, and curved horns in both sexes. Also called wildebeest. GNU: Recursive Acronym GNU’s Not Unix …. + Gnutella = GNU Nutella Nutella: a hazelnut chocolate spread produced by the Italian confectioner Ferrero….

  28. GNU • GNU's Not Unix • 1983 Richard Stallman (MIT) established Free Software Foundation and Proposed GNU Project • Free software is not freeware • Free software is open source software • GPL: GNU General Public License

  29. About Gnutella • No centralized directory servers • Pings the net to locate Gnutella friends • File requests are broadcasted to friends • Flooding, breadth-first search • When provider located, file transferred via HTTP • History: • 3/14/00: release by AOL, almost immediately withdrawn

  30. Peer-to-Peer Overlay Network Focus at the application layer

  31. Peer-to-Peer Overlay Network End systems one hop (end-to-end comm.) a TCP thru the Internet Internet

  32. Topology of a Gnutella Network

  33. Gnutella: Issue a Request xyz.mp3 ?

  34. Gnutella: Flood the Request

  35. Gnutella: Reply with the File Fully distributed storage and directory! xyz.mp3

  36. So Far n: number of participating nodes • Centralized : - Directory size – O(n) - Number of hops – O(1) • Flooded queries: - Directory size – O(1) - Number of hops – O(n)

  37. We Want • Efficiency : O(log(n)) messages per lookup • Scalability : O(log(n)) state per node • Robustness : surviving massive failures

  38. How Can It Be Done? • How do you search in O(log(n)) time? • Binary search • You need an ordered array • How can you order nodes in a network and data objects? • Hash function!

  39. Object ID (key):AABBCC Object ID (key):DE11AC SHA-1 SHA-1 Example of Hasing Shark 194.90.1.5:8080

  40. Basic Idea P2P Network Publish (H(y)) Join (H(x)) Object “y” Peer “x” H(y) H(x) Peer nodes also have hash keys in the same hash space Objects have hash keys y x Hash key Place object to the peer with closest hash keys

  41. Mapping Keys to Nodes 0 M - a node - an data object

  42. Internet Viewed as a Distributed Hash Table 0 2128-1 Hash table Peer node

  43. DHT • Distributed Hash Table • Input: key (file name)Output: value (file location) • Each node is responsible for a range of the hash table, according to the node’s hash key. Objects are placed in (managed by) the node with the closest key • It must be adaptive to dynamic node joining and leaving

  44. How to Find an Object? 0 2128-1 Hash table Peer node

  45. Simple Idea • Track peers which allow us to move quickly across the hash space • a peer p tracks those peers responsible for hash keys(p+2i-1), i=1,..,m i i+22 i+24 i+28 0 2128-1 Hash table Peer node

  46. DHT example: Chord -- Ring Structure N8 knows of only six other nodes. Circular 6-bit ID space O(log n) states per node

More Related