Professional Documents
Culture Documents
DS 11 PeerToPeer PDF
DS 11 PeerToPeer PDF
Peer-To-Peer
Jabber Kademlia
Past Today
Seti@home JXTA
Napster FastTrack
BitTorrent
CAN
Chord
Pastry
Tepastry
Earlier days:
Client-server architecture in area of distributed
systems
Problems:
High load on servers
C/S systems not indefinitely scalable
Server acts as Single Point of Failure (SPOF)
Excessive use of Internet required alternatives
Major goal:
Distribute load fairly on all nodes participating in
network
Benefits
scalable dynamic
autonomous
decentral
fair (costs, bandwidth,)
Self-organizing anonymous
Peer
Communication Ressources
Autonomous
Equity Decentralized
System
e.g. Napster
Server stores index
File transfer using P2P
Scalability problems
Single point of failure
Server
Peer
Connect
Query
Reply
Transfer
e.g. Fasttrack
Different Roles
Regular Peers
Super-Peers
Structure uses hierarchy
Super-Peers use local
knowledge for queries
On miss, forward query
Super-Peer
Peer
Connect
Query
Reply
Transfer
Key space
Data
Peer
Connect
Query
Reply
Transfer
Star-like Structure
Central server
Farm consists of
~200 servers
Servers store indices
User connect to server:
Server-Client communication
while searching
Client-Client communication
while transferring
Mp3 Search
Client sends query to server
Server searches database
Server sends result set to client
Mp3 Download
1. Peer A sends query for song XY
2. Server sends address for
peer B to A
3. Client sends request to peer B
4. Download commences
Pros:
Recent view on network due to central database
Support of MP3s only low risk on virus download
Cons:
Scalability: bottleneck server farm
Server poses Single Point of Failure
No security, file transfers not encrypted
Censorship of database possible (using filters)
Freerider problem
No chunking possible, download only from single
peer/file
high dependency on a single peer
History
Started after prohibition of Napster (1999-2001)
Justin Frankel (Nullsoft) publishes V0.4 in March 2000
Mother company AOL stops distribution
Already downloaded thousand-fold
Reverse-engineering revealed protocol
Goal:
Simple exchange of music in company network
No usage of central components
Properties:
Fully decentralized P2P network
Allows for download of all file types
No role allocation pure P2P
Each node is server and client Servent
Members are autonomous
Robust network, mainly 3-4 open connections
Problem:
Finding entry point (Bootstrapping)
Host-Cache Server
List with known hosts from former sessions
Message ID
Distinct Identifier for messages in the network
Payload Descriptor
Ping, Pong, Query, Query Hit, Push
Time to Live (TTL)
Hops to go until packet is dropped, common value: TTL=7
Hops
Hops packet has already taken
Payload Length
Distributed Systems Torben Weis 23
University Duisburg-Essen
Gnutella Network Structure
Download complicated if
Both peers behind Firewall
IP-Masquerading is used
Scalability
Massive traffic for keeping network up-to-date
Reliability
In dense networks packets drop after 3 hops
Long paths reduce success rate
Security
No use of hash values
Similar to DDoS-attacks
Privacy
Packets not encrypted
Pros:
Very robust, connection init using TCP
Autonomous peers
Communication using UDP
Cons:
No guaranteed hits
Massive traffic and high latency
Massive scalability problems
Nodes
Example
4 Nodes, 5 Object
Nodes responsible for
all keys between itself
and its predecessor
Search:
Nodes aware of both neighbors
Query direct neighbor
Runtime: O(n)
22 searches 38
Query sent to node known to be closest lower than 38 30
30 sends query to successor asking for responsibility yes,
found data
Pros:
Fully decentralized architecture
Equity among nodes, no role allocation
Improved scalability
Efficient and correct search methods: O(log n)
Cons:
Huge efforts to keep finger and neighbors up-to-date
Join and leave operations costly
No support for security, anonymity or firewalled users