1 Peer-to-Peer Technologies 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 mie.pdf roduction.pdf to_peer.asp pdf
22 Thank You