Transcript Document
Peer-to-Peer
Technologies
Seminar by:
Guided by:
Kunal Goswami
(05IT6006)
School of Information
Technology
Prof. C.R.Mandal,
School of Information
Technology
1
Outline
• Introduction
• P2P Architecture
• Types of P2P
– Centralized
– Decentralized
• Unstructured
• Structured
• Conclusion
• References
2
Client/Server Architecture
• Client requests data
from server
• Server is the only
data source
• Very successful
model
– WWW, FTP etc.
3
Limitations of Client/Server
• Single point of failure
• Requires administration
• Unused resources.
P2P tries to address some of these limitations
4
Introduction
• What is Peer-to-Peer System ?
– Sharing of resources and services by direct exchange
between systems
– Peer can decide what data on their computer will be
shared in the network
– Parties have same capabilities
– Peer is also known as Servent (Server+ Client)
5
P2P Architecture
• All nodes are both
clients and servers
– Provide and consume
data
– Any node can initiate
the session
• No centralized data
source
6
Types of Peer-to-Peer Systems
• Centralized
– Napster
• Decentralized
– Unstructured
• Gnutella
• Kazaa
– Structured
• Freenet
• Chord
• Pastry
7
Napster
• A way to share music files with
peers
• Peer uploads the list of shared files
onto the Napster server
• User sends search request to the
server
• Server replies with the information
of nodes containing the file
• User connects directly to remote
peer and start download
8
Napster
• Central Napster server
– Single point of failure
– Prone to denial of service
– Ensure correct results
• Search is centralized
• File transfer is direct (Peer to Peer)
9
GNutella
• Share any type of files
• Decentralized search
• Request send to
neighbours
• Neighbour forwards it to
its neighbours.
– If TTL is over request is
finished.
• Users with matching file
replies
10
GNutella
• Decentralized system
– No Single point of failure
– Less Prone to denial of service
– Cannot ensure correct results
• Flooding queries
– Increase network congestion
11
Kazaa
• Hybrid of centralized Napsters
and decentralized Gnutella.
• Super Nodes acts as local search
server
– Each super node act as a Napster server
for a small network
– Super nodes are chosen according to
their capacity and availability
• User upload the list of shared
files to a super-peer
• Super nodes exchange the list
periodically
• Peer send the query to super node
12
Freenet
• Napster, Gnutella and Kazaa don’t provide
anonymity i.e.Peers know about each other
• Freenet provide anonymity
– Impossible to know if user is initiating or forwarding
query
– Impossible to know is user is consuming or forwarding
data
• Smart Query
– Data flows in reverse path of query to the originator peer
13
Freenet
• Loosely Structured
– File placements based on hints
14
Structured P2P
• Based on Distributed Hash Tables (DHT).
• DHT stores (key, value) pairs
• Nodes maintain the list of neighbors in
routing table
• Core operation: Find node responsible for a
key
– Key mapped to node
15
DHT Interface
• Node ID (similar to IP address)
• Key (similar to filename)
• Value (contents of file)
• Put(key, value)
– Store (key, value) at specified node responsible for the
key
• Value=get(key)
– Retrieve value associated with key from the node
16
DHT Applications
•
•
•
•
Distributed File Storage
Distributed databases
Service discovery
Implementations of DHT interface
– Chord
– Pastry
– Etc.
17
Chord
• Nodes organized in an identifier
circle based on node identifiers.
• Hash functions ensures even
distribution of nodes and keys
on the circle
• Lookup in table the farthest
node that precedes the key
• Nodes have poor network
locality
18
Pastry
• Similar to Chord
• Considers network locality to minimize hops
message travel
• New node needs to know a nearby node to
achieve locality
19
Conclusion
•
P2P is thought as the distribution model of
the future
•
Enormous effort are being addressed to
P2P
•
Still many issues are to be resolved.
20
References
•
•
•
•
•
•
•
•
•
•
http://www.eecg.toronto.edu/~jacobsen/mie456/slides/p2pmie.pdf
http://tisu.mit.jyu.fi/embedded/TIE370/oldlectureslides/P2PInt
roduction.pdf
http://www.cs.sfu.ca/~mhefeeda/Papers/p2pSurvey.pdf
http://ntrg.cs.tcd.ie/undergrad/4ba2.02-03/p4.html
http://momo.lcs.mit.edu/regions/qlrn/node1.html
http://plum.sfsu.edu/csc835/presentations/topic7/
http://www.webopedia.com/DidYouKnow/Internet/2005/peer_
to_peer.asp
http://www.oreilly.com/catalog/peertopeer/chapter/ch01.html
http://www.cs.princeton.edu/~qlv/download/searchp2p_sigm0
2.pdf
www.stanford.edu/class/cs347/notes/Notes11.ppt
21
Thank You
22