1 peer-to-peer technologies seminar by: kunal goswami (05it6006) school of information technology...
TRANSCRIPT
1
Peer-to-PeerTechnologies
Seminar by:
Kunal Goswami
(05IT6006)
School of Information Technology
Guided by:
Prof. C.R.Mandal,
School of Information Technology
2
Outline
• Introduction • P2P Architecture • Types of P2P
– Centralized– Decentralized
• Unstructured• Structured
• Conclusion• References
3
Client/Server Architecture
• Client requests data from server
• Server is the only data source
• Very successful model– WWW, FTP etc.
4
Limitations of Client/Server
• Single point of failure
• Requires administration
• Unused resources.
P2P tries to address some of these limitations
5
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)
6
P2P Architecture
• All nodes are both clients and servers
– Provide and consume data
– Any node can initiate the session
• No centralized data source
7
Types of Peer-to-Peer Systems
• Centralized– Napster
• Decentralized– Unstructured
• Gnutella
• Kazaa
– Structured• Freenet
• Chord
• Pastry
8
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
9
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)
10
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
11
GNutella
• Decentralized system
– No Single point of failure
– Less Prone to denial of service
– Cannot ensure correct results
• Flooding queries– Increase network congestion
12
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
13
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
14
Freenet
• Loosely Structured– File placements based on hints
15
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
16
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
17
DHT Applications
• Distributed File Storage
• Distributed databases
• Service discovery
• Implementations of DHT interface– Chord– Pastry– Etc.
18
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
19
Pastry
• Similar to Chord
• Considers network locality to minimize hops message travel
• New node needs to know a nearby node to achieve locality
20
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.
21
References
• http://www.eecg.toronto.edu/~jacobsen/mie456/slides/p2p-mie.pdf• http://tisu.mit.jyu.fi/embedded/TIE370/oldlectureslides/
P2PIntroduction.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_sigm02.pdf• www.stanford.edu/class/cs347/notes/Notes11.ppt
22
Thank You