Upload
kelley-waters
View
252
Download
1
Tags:
Embed Size (px)
Citation preview
Peer to Peer
A Survey and comparison of peer-to-peer overlay network schemesAnd so on…
Chulhyun [email protected]
2006. 11. 29.
2 / 26
Contents
Introduction to P2P Structured scheme Unstructured scheme Conclusion
3 / 26
Introduction to P2P Peer to Peer
Server-client?
4 / 26
Introduction to P2P
Overlay?
5 / 26
Introduction to P2P
Peer-to-peer overlay network Distributed systems No hierarchical organization No centralized control Overlayed on the IP Robust wide-area routing Efficient searching Storing, Selecting, Scalability, …
6 / 26
Introduction to P2P (cont’d)
7 / 26
Introduction to P2P (cont’d)
Distributed hash table Decentralized Scalability Fault tolerance
8 / 26
Introduction to P2P (cont’d)
Structured P2P overlay networks Network topology is tightly controlled Use distributed hash table as a substrate
Unstructured P2P overlay networks Each peers doesn’t know about whole
network topology
9 / 26
Contents
Introduction to P2P Structured scheme
Pastry Chord P-Grid
Unstructured scheme Conclusion
10 / 26
Structured schemePastry
General substrate of p2p application Self-organizing, decentralized,
scalable
128-bit node ID for each node ┌Log2^bN┐ step routing
11 / 26
Structured schemePastry – Node state Routing table
Entry (n,i) shares first n digits and (n+1)th digit is i
Leaf set Numerically closest of nodeID
Neighborhood set Closest in IP network
12 / 26
Structured schemePastry – Routing, Join, Failure Routing
Leaf set matching Longest prefix matching in routing table
Join Assumption : new peer A knows a nearby peer X Join message routed to numerically closest peer Z
Each row of routing table constructed along the path Leaf of Z is almost same as that of A Neighbor of X is almost same as that of A
Failure or Departure Recursive recovery
13 / 26
Structured schemeChord
Scalable, distributed, self-organizing Node and keys are distributed on the
identifier circle
Node/Key identifier : hashing Consistent hashing
14 / 26
Structured schemeChord – Identifier circle / finger table
Key identifiers are stored in its successor node Lookup on successors
Finger table provides faster lookup Keep entry of 2nth
successors Add scalability
A Chord identifier circle with 3 nodes (0, 1, 3) and 3 keys (1, 2, 6)
A Chord finger table for previous identifier circle
15 / 26
Structured schemeChord – join / stablization
Join Initialize finger and predecessor Update other nodes’ fingers
Stabilization A problem with inconsistent finger table
may arise when concurrent join occurs Predecessor and Successor of each node
will be corrected by stabilization
16 / 26
Structured schemeP-Grid
Scalable access structure for P2P apps
Perfectly decentralized Tree structure
Every nodes is responsible for an interval in the key space There may be replica
17 / 26
Structured schemeP-Grid – access structure
Search can be started at any peer Prefix-based
routing
18 / 26
Structured schemeP-Grid – construction
Construction is locally executed Nodes meet each other in many ways
Access structure, other operations, and so on
Exact join operation is based on the shared prefix Same prefix : divide coverage Prefix relationship : extends shorter prefix Share prefix : reference exchange
19 / 26
Contents
Introduction to P2P Structured scheme Unstructured scheme
Napster Gnutella FastTrack
Conclusion
20 / 26
Unstructured schemeNapster
1st generation of P2P network Purpose to share ‘Music’ files
Centralized search Single index server (no data in the
server) File transfer is distributed (p2p)
Copyright?
21 / 26
Unstructured schemeNapster
S
S
S
P
P
PPP
P
Client machines (“Peers”)
napster.com Servers
Store their ownfiles
Store a directory, i.e., filenames with peer pointers
Figure from the slides of I. Gupta
22 / 26
Unstructured schemeGnutella Flat topology, Decentralized Join
No specification in the protocol Pre-existing address,
cached or known server, IRC, ….
Search Query flooding Flooding range : TTL
File transfer HTTP GET request
23 / 26
Unstructured schemeGnutella
Message Randomly generated identifier Cached to drop duplicated messages
Message type Group membership (Ping and Pong) Search (Query and QueryHit) File transfer for Filewalled servant (Push)
24 / 26
Unstructured schemeFastTrack
Super-peer High bandwidth and
computing power Collects meta-data Process queries
HTTP file transfer Directly from other
peer Hash may be used to
receive files from multiple sources
25 / 26
Conclusion
Various P2P network schemes Many improved aspects from traditional
server-client model Structured – Pastry, Chord, P-grid, … Unstructured – Gnutella, Napster, …
Legal issue?
26 / 26
References Eng Keong Lua, et el., A survey and comparison of peer-to-peer
overlay network schemes, IEEE COMM. Survey and tutorial on 2004
K. Aberer, P-Grid : A self-organizing access structure for P2P information systems, Proc. of 6th CoopIS
A. Rowstron, P. Druschel, Pastry : Scalable, decentralized object location and routing for large-scale peer-to-peer systems, Proc. of 18th ICDSP
I. stoica, et el., Chord : A scalable peer-to-peer lookup service for internet applications, SIGCOMM ’01
http://www.wikipedia.org The Gnutella Protocol Specification v0.4 And so on…