p2p Mie PDF
p2p Mie PDF
Peer-to-Peer Networks
Presentation for
MIE456 - Information Systems
Infrastructure II
Vinod Muthusamy
October 30, 2003
Agenda
n Overview of P2P
n Characteristics
n Benefits
n Conclusions
Client/Server Architecture
n Well known,
powerful, reliable Server
server is a data
source
Client Client
n Clients request data
from server Internet
* From http://www-sop.inria.fr/mistral/personnel/Robin.Groenevelt/
Publications/Peer-to-Peer_Introduction_Feb.ppt
P2P Architecture
n All nodes are both
clients and servers
n Provide and consume Node
data
n Any node can initiate a Node Node
connection
Internet
n No centralized data
source
n The ultimate form of Node Node
democracy on the
Internet
n The ultimate threat to
copy-right protection on
the Internet
n Scalability
n Consumers of resources also donate resources
n Aggregate resources grow naturally with utilization
n Reliability
n Replicas
n Geographic distribution
n No single point of failure
n Ease of administration
n Nodes self organize
n No need to deploy servers to satisfy demand (c.f. scalability)
n Built-in fault tolerance, replication, and load balancing
P2P Applications
n Are these P2P systems?
n Ad-hoc networks
Popular P2P Systems
n Napster, Gnutella, Kazaa, Freenet
n Search is centralized
n File transfer is direct (peer-to-peer)
Gnutella
n Share any type of files
(not just music)
n Decentralized search
unlike Napster
n Flooding queries
n Search is now distributed but still not scalable
Kazaa (Fasttrack network)
n Hybrid of centralized Napster and decentralized Gnutella
n On Gnutella
n 15% of users contribute 94% of content
n 63% of users never responded to a query
n Didnt have interesting data
* Data from E. Adar and B.A. Huberman (2000), Free Riding on Gnutella
Anonymity
n Napster, Gnutella, Kazaa dont provide
anonymity
n Users know who they are downloading from
n Others know who sent a query
n Freenet
n Designed to provide anonymity among other
features
Freenet
n Data flows in reverse path of query
n Impossible to know if a user is initiating or forwarding a query
n Impossible to know if a user is consuming or forwarding data
n Smart queries
n Requests get
routed to
correct peer
by
incremental
discovery
Structured P2P
n Second generation P2P overlay networks
n Self-organizing
n Load balanced
n Fault-tolerant
n put(key, value)
n Store (key,value) at the node responsible for the key
n value = get(key)
n Retrieve value associated with key (from the
appropriate node)
DHT Applications
n Many services can be built on top of a DHT
interface
n File sharing
n Archival storage
n Databases
n Naming, service discovery
n Chat service
n Rendezvous-based communication
n Publish/Subscribe
DHT Desirable Properties
n Keys mapped evenly to all nodes in the
network
n Each node maintains information about only
a few other nodes
n Messages can be routed to a node
efficiently
n Node arrival/departures only affect a few
nodes
DHT Routing Protocols
n DHT is a generic interface
n API
n insert(key, value) store key/value at r nodes
n lookup(key)
n update(key, newval)
n join(n)
n leave()
Chord Identifier Circle
n Nodes organized in
an identifier circle
based on node
identifiers
n Keys assigned to
their successor node
in the identifier circle
n Hash function
ensures even
distribution of nodes
and keys on the
circle
Chord Finger Table
n O(logN)
table size
n ith finger
points to
first node
that
succeeds n
by at least
2i-1
Chord Key Location
n Lookup in
finger table
the furthest
node that
precedes
key
n Query
homes in on
target in
O(logN)
hops
Chord Properties
n In a system with N nodes and K keys, with
high probability
n each node receives at most K/N keys
n each node maintains info. about O(logN) other
nodes
n lookups resolved with O(logN) hops
n No delivery guarantees
n No consistency among replicas
n Hops have poor network locality
Network locality
n Nodes close on ring can be far in the
network.
To vu.nl
Lulea.se
OR-DSL N20
CMU
MIT
MA-Cable
Cisco
CA-T1
N40 Cornell
N41
CCI
N80
NYU
Aros
Utah
n Each node
owns a distinct
zone in the
space
n Each key
hashes to a
point in the
space
CAN Routing and Node Arrival
P2P Review
n Two key functions of P2P systems
n Sharing content
n Finding content
n Sharing content
n Direct transfer between peers
n All systems do this
n Structured vs. unstructured placement of data
n Automatic replication of data
n Finding content
n Centralized (Napster)
n Decentralized (Gnutella)
n Probabilistic guarantees (DHTs)
Conclusions
n P2P connects devices at the edge of the Internet
n Popular in industry
n Napster, Kazaa, etc. allow users to share data
n Legal issues still to be resolved