Decentralized P2P - Department of Computer Science
Download
Report
Transcript Decentralized P2P - Department of Computer Science
Spotlighting Decentralized
P2P File Sharing
Archie Kuo and Ethan Le
Department of Computer Science
San Jose State University
Agenda
P2P
overview
The Three Paradigms
Kazaa and BitTorrent
Conclusion
Q &A
What is P2P?
Tradition
dictates a client-server model
P2P is alternative to client-server model
Peers send/receive information from each
other
Utilize the bandwidth of all users
3 paradigms…
Centralized Directory
Central server
Advantages:
Simple
Easy to maintain
Disadvantages
Single point of failure
Single point of
prosecution
Bottleneck effect
Source: Kurose and Ross, 2003
Decentralized Directory
AKA Super decentralized
network
No central server
Advantages
Disadvantages
Source: Kurose and Ross, 2003
Distributed contents
Smaller databases
Harder to track
Bootstrap node
Complex protocol
Peers are ranked
Query Flooding
AKA Equal
decentralized network
All are created equal Disadvantages
Scalability
Advantages
Flat
No central directory
Source: Kurose and Ross, 2003
Does not search entire
network
Kazaa Overview
3
million users
Definitive decentralized network
No central agent
No central agent means no need for a
central point of management
At one point Kazaa held 76% of all the
P2P traffic
Kazaa Screen Shot
Source: HowStuffWorks.com
Kazaa Screen Shot
Source: atFile.com
How does Kazaa achieve
decentralization?
Users are categorized into two categories:
Ordinary Nodes (ON)
Super Nodes (SN)
Users are designated as ON or SN based on
their system capabilities
Network connection
Bandwidth
Processing capabilities
Designation process is done without users
knowledge
Result is that users do not know if they have
been designated ON or SN
Super Decentralized (Revisted)
Source: Kurose and Ross, 2003
Super Nodes
Kazaa
has approximately 30,000 SNs
Each SN is like a traffic hub that
processes requests from ONs
Each SN serves approximately 60-150
ONs at a time
Each SN keeps a database of all the files
that it’s ONs are sharing
User Requests
User
requests are propagated to the SN
which communicates with other SNs
Those other SNs communicate with their
ONs with a search depth of 7 (similar to
TTL)
When correct file is located the transfer
occurs directly between the two nodes
without SN intervention
Kazaa Network Topology
Source: HowStuffWorks.com
User Request in detail
Query containing keywords is sent out over a
TCP connection from ON to its SN
For each match the SN returns the IP address
and metadata of the matching node
SNs will maintain a TCP connection between
SNs creating an overlay network
Query is sent to one or more of the directly
connected nodes between SNs
SNs will shuffle their directly connected nodes
every 10 minutes in order to allow for a larger
area of the network to be reached
Kazaa’s competion: BitTorrent
Kazaa is declining in popularity while BitTorrent is rising
rapidly in popularity.
BitTorrent: User receives data from multiple sources at
once
Data is split up into chunks
Each chunk is received from source with the best connection
Chunks are received randomly but can be reassembled
Separate channel available for uploading, even while
downloading
Kazaa: User receives data from node that it has
established connection with
Data is split up into chunks
Data is received in order
Topology of BitTorrent
Source: BitTorrent.com
Looking for Torrents
BitTorrent Screen Shot
Source: Sciencemedia.com
BitTorrent In Action
Conclusion
Centralized
approach offers easy
maintenance but too many legal and
performance issues
Decentralized approach has a longer
lifetime and more reliable service