Title: A Survey and Comparison of PeertoPeer Overlay Network Schemes
1A Survey and Comparison of Peer-to-Peer Overlay
Network Schemes
May. 07. 2005 Joonmyung Kang eliot_at_postech.ac.kr
DPNM Lab., Dept. of CSE, POSTECH
2Presentation Outline
- Introduction
- P2P Review
- P2P Overlay Networks
- Structured vs. Unstructured P2P Overlay Networks
- Structured P2P Overlay Networks
- CAN
- Chord
- Pastry
- Unstructured P2P Overlay Networks
- Gnutella
- Freenet
- KaZaA
- P2P for Internet Telephony
- Conclusions
- References
3Review of P2P
- What is P2P?
- A class of systems and applications that employ
distributed resources to perform a critical
function in a decentralized manner - Goals
- Resource aggregation - CPU, disk,
- Cost sharing/reduction
- Improved scalability/reliability
- Interoperability - heterogeneous peers
- Increased autonomy at the network edge
- Anonymity/privacy
- Dynamic (join, leave), self organizing
- Ad hoc communication and collaboration
4P2P Overlay Networks
- In a P2P overlay network, network links are
application-layer connections implemented on top
of another underlying network such as an IP
network - Thus, nodes in the overlay network do not need to
worry about traditional IP routing
5Abstract P2P Overlay Network Architecture
6Structured vs. Unstructured P2P1
- Structured P2P
- Based on Distribute Hash Table
- The network topology is tightly controlled
- Node can join and leave the system, but the
topology need to be reconstructed. - A hash table associates data with keys
- Key is hashed to find bucket in hash table
- Each bucket is expected to hold items/buckets
items - In a Distributed Hash Table (DHT), nodes are the
hash buckets - Key is hashed to find responsible peer node
- Data and load are balanced across nodes
7Structured vs. Unstructured P2P2
- Unstructured P2P
- Random overlay networks
- No central index
- Start with nodes that know about peer servers
and flood along the network - Features
- Scalability Flooding limited by TTL
- Unreliable/ inefficient searching
- Applications
- Gnutella
- Freenet
Peer 1
Peer 5
Peer 3
Peer 4
Peer 2
Peer 7
Peer 6
8Goals re-visited
- If present gt find it
- Flooding is not scalable
- Blind search is inefficient
P2P systems
Structured
Unstructured
- Efficient searching
- Proximity
- Locality
- Data availability
- Decentralization
- Scalability
- Load balancing
- Fault tolerance
- Maintenance
- Join/leave
- Repair
Query time, number of messages, network usage,
per node state
9Structured-DHT-based P2P overlay networks
10Distributed Hash Tables
- Types of search
- Central index (Napster)
- Distributed index with flooding (Gnutella)
- Distributed index with hashing (Chord)
- Basic operations
- find(key), insert(key, value), delete(key)
11CANContent Addressable Network
- Each key maps to one point in the d-dimensional
space - Each node responsible for all the keys in its
zone. - Divide the space into zones.
C
D
E
A
B
12CAN 2
13Chord1
- Chord provides fast distributed computation of a
hash function, mapping keys to nodes responsible
for them - Assigns keys to nodes with consistent hashing (
based on SHA-1 ) - A chord node needs only a small amount of routing
information about other nodes - A node resolves the hash function by
communicating with other nodes - With high probability, the number of nodes that
must be contacted to find a successor is an
N-node network is O(log N) - Only O(log N) fingers need be stored
- When an Nth node joins or leaves the network,
only an O(1/N) fraction of the keys are moved
14Chord2
This figure shows chord identifier circle, which
consists three nodes 0, 1 and 3. Then identifiers
should be ordered in identifier circle modulo 8
(82m, m3). In this example, key 1 is located at
node 0, key 2 at node 1 and key 6 at node 3.
15Pastry
- Prefix-based
- Route to node with shared prefix (with the key)
of ID at least one digit more than this node. - Neighbor set, leaf set and routing table.
d471f1
d467c4
d46a1c
d462ba
d4213f
Route(d46a1c)
d13da3
65a1fc
16Other schemes
- Tapestry
- Distributed TRIE
- Viceroy
- Kademlia
- SkipGraph
- Symphony
17Comparison
18Unstructured P2P Overlay Networks
- Napster
- Gnutella
- Freenet
- KaZaA
19Napster
- Centralized index
- File names gt
- active holder machines
- Sophisticated search
- Easy to implement
- Ensure correct search
- Centralized index
- Lawsuits
- Denial of service
- Can use server farms
P1
P5
S
P2
P4
P2
Where is quit playing games ?
FTP
P3
20Gnutella
- Flooding
- Overlay network
- Decentralized
- Robust
- Not scalable.
- Use TTL. Query can fail
- Can not ensure correctness
P
P
P
P
P
P
P
P
P
21FreeNet
- File is cached on reverse search path
- Anonymity
- Replication, cache
- Similar keys on same node
- Empirical log(N) lookup
- TTL limits search
- Only probabilistic guarantee
- Transaction state
- No remove( )
- Use cache replacement
P
2
1
P
P
3
12
7
11
4
6
P
10
P
5
P
9
8
P
22KaZaA (FastTrack)
- Super-nodes
- Election
- capacity
- bandwidth, storage, CPU
- and availability
- connection time
- public address
- Use heterogeneity of peers
- Inherently non-scalable
- If flooding is used
P
P
P
P
P
P
P
P
P
P
P
P
23P2P for IP telephony
REGISTER alice_at_postech.edu gt141.223.82.24
INVITE alice_at_postech.edu
Postech.edu
141.223.82.24
Alices host 141.223.82.24
Bobs host
24Conclusions
- Summary
- P2P Review ( Concept and Features )
- P2P Overlay Networks
- Structured vs Unstructured P2P overlay networks
- CAN, Chord, Pastry
- Freenet, gnutella, KaZaA
- P2P IP Telephony
25References
- A Survey and Comparison of Peer-to-Peer Overlay
Network Schemes - Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi
Sharma and Steven Lim - IEEE Communications survey and tutorial, march
2004 - A Scalable Content-Addressable Network
- Sylvia Ratnasamy, Paul Francis, Mark Handley,
Richard Karp - SIGCOMM01, August 27-31, 2001
- Chord A scalable peer-to-peer lookup protocol
for internet applications - I. Stoica, R. Morris, D. Karger, M.F. Kaashoek,
and H. Balakrishnan - IEEE/ACM Transactions on Networking, vol. 11, no.
1, pp. 17-32, 2003 - Pastry Scalable, distributed object location
and routing for large-scale peer-to-peer systems - A. Rowstron and P. Druschel
- Proceedings of the Middleware, 2001
26Question and Discussion
Question??