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