www.kom.tu-darmstadt.de www.httc.de The Future of the Peer-to-Peer Paradigm Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Prof. Dr.-Ing. Ralf Steinmetz 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking TU Darmstadt - Darmstadt University of Technology, Dept. of Electrical Engineering and Information Technology, Dept. of Computer Science KOM - Multimedia Communications Lab, Tel.+49 6151 166151, Merckstr. 25, D-64283 Darmstadt, Germany, Ralf.Steinmetz@KOM.tu-darmstadt.de Fax. +49 6151 166152 9. Conclusion httc - Hessian Telemedia Technology Competence-Center e.V Merckstr. 25, D-64283 Darmstadt, Ralf.Steinmetz@httc.de P2P-Oslo-030516.fm 1 16.May.03 L2 Data Link Layer (Sicherung) L1 Physical Layer (Bitübertragung) 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking WAN: ISDN & ATM Web LAN, MAN High-Speed LAN Transport Network Medium-Term Routing&Traffic Engineering Short-Term Congestion Control Basics Other Lectures of “ETiT” & Computer Science 9. Conclusion Introduction Legend: P2P-Oslo-030516.fm 2 16.May.03 Telnet Files Internet: IP RT(C)P KN I KN II KN III Time Scale L3 Network Layer (Vermittlung) Long-Term Network Planning & Engineering Trafficmgmnt 4. Some Applications and Systems: 2nd Generation Internet: TCP, UDP Media Data Flow Security 3. Some Applications and Systems: 1st Generation L4 Transport Layer (Transport) MM COM - QoS specific 2. Notion of Peer-to-Peer Mobile Communications 1. Motivation IP-Tel: Signal. H.323 SIP Moblie IP Overview Application Layer (Anwendung) Email L5 P2P Applications Inst. Msg. Complementary Courses: Distributed Multimedia Systems (MM I and MM II), Telecooperation II,III,.., Embedded Systems, Mobility in Comm. Networks Transitions & Addressing www.kom.tu-darmstadt.de www.httc.de Overview www.kom.tu-darmstadt.de www.httc.de Overview (2) 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Overview 1. Motivation 2. Notion of Peer-to-Peer 5. Peer-to-Peer & Related Mechanisms 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 6. Peer-to-Peer Intrinsic Issues 5. Peer-to-Peer & Related Mechanisms 7. Search: Distributed Hash Tables 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 8. Major Issues in P2P Networking 9. Conclusion 9. Conclusion Note: some pictures (section client-server and DHT) from Klaus Wehrle, thanks! P2P-Oslo-030516.fm 3 16.May.03 www.kom.tu-darmstadt.de www.httc.de 1. Motivation freenet Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion One of the newest buzzwords in networking is Peer-to-Peer (P2P) Is P2P a hype? • initially 40 million Napster users in 2 years • strong presence at international networking conferences • major traffic source, e.g. at universities more than ~40% P2P traffic • initially mp3 audio: (free?) music • later also video (and any data) exchange • enabled by relatively high bandwidth access of end systems P2P-Oslo-030516.fm 4 16.May.03 www.kom.tu-darmstadt.de www.httc.de Evolution of Internet Computing Paradigms 1st generation (since the beginning of the Internet): • permanent IP addresses, always connected • static domain name system (DNS) mapping • limited specialized applications, protocols: Telnet, FTP, Gopher, .... ⇒ WORLD WIDE ACCESS Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 2nd generation (since 90ties): • WWW & graphical browsers • dynamic IP addresses / NAT* (network address translation) / roaming users • heterogeneous applications, asymmetric server based services • protocol: HTTP, .. ⇒ WORLD WIDE WEB 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion 3rd generation (since 2000): • more collaboration and personalized applications • powerful edge devices (peers), instant networking • protocols/applications: • Napster, Gnutella (Limewire/Bearshare/Morpheus since 2.0) • Edonkey/MLDonkey, Fasttrack (Kazaa), Freenet, .. ⇒ WORLD WIDE PEERING P2P-Oslo-030516.fm 5 16.May.03 www.kom.tu-darmstadt.de www.httc.de 2. Notion of Peer-to-Peer Just many interconnected systems or applications? Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion another view reveals • P2P means • self-organizing, • decentralized, • scalable, • fault-tolerant, • ad-hoc, • unpredictable performance, ... P2P-Oslo-030516.fm 6 16.May.03 www.kom.tu-darmstadt.de www.httc.de 2.1 A first Definition Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms Definition of P2P Networking (C. Shirkey): 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 7 16.May.03 "Peer-to-peer (P2P) is a class of applications that takes advantage of RESOURCES - storage, cycles, human presence available AT THE EDGES of the Internet. Because accessing these decentralized resources means operating in an environment of UNSTABLE CONNECTIVITY AND UNPREDICTABLE IP ADDRESSES, peer-to-peer nodes must operate outside the DNS and have significant or total autonomy from central servers” www.kom.tu-darmstadt.de www.httc.de Some Preliminary Answers Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 1. File sharing, but.. 2. Internet of the future, but .. 3. realization that client server can not solve in an optimal way everything • server is a single point of failure • traffic: asymmetric and concentrated at server • scalability • unused resources at the clients Client Server 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion but .. P2P-Oslo-030516.fm 8 16.May.03 ... Peer-to-Peer www.kom.tu-darmstadt.de www.httc.de 2.2 Application Domains Overview 1. Motivation 2. Notion of Peer-to-Peer (classical) File Sharing: music, video and other data Napster, Gnutella, FastTrack (KaZaA, Morpheus, ...), etc. Distributed Storage • Anonymous File Sharing Freenet, PAST, OceanStore, etc. Collaboration • P2P groupware, P2P content generation, Online Games • P2P instant messaging ICQ (PC-based Chat-System - I Seek You), AIM (AOL Instant Messenger) 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues Distributed Computing • P2P CPU cycle sharing • GRID Computing, ..., distributed simulation SETI@home: Search for Extraterrestrial Intelligence, Popular Power: former battle to the influenza virus 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking Distributed Search Engines, Intelligent Agents Pastry, CAN, Chord 9. Conclusion Security and Reliability Resilient Overlay Network (RON), Secure Overlay Services (SOS) Charging for Content and Services Mojo Nation: battling free rider P2P-Oslo-030516.fm 9 16.May.03 www.kom.tu-darmstadt.de www.httc.de 2.3 Characteristics Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Resources (location, sharing) 1. relevant resources located at NODES AT THE EDGES (“peers”) 2. Peers share (one type of) their resources 3. RESOURCE LOCATIONS • widely distributed • most often largely replicated P2P-Oslo-030516.fm 10 16.May.03 www.kom.tu-darmstadt.de www.httc.de Characteristics Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Networking 4. VARIABLE CONNECTIVITY is the norm • support of dial-up users with variable IP addresses • operating outside the domain name system (DNS) P2P-Oslo-030516.fm 11 16.May.03 (2) www.kom.tu-darmstadt.de www.httc.de Characteristics Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Interaction of Peers 5. combined CLIENT AND SERVER functionality • “SERVer + cliENT = SERVENT” • minimal demands for the infrastructure • services provided by end systems 6. DIRECT INTERACTION (DATA TRANSFER) between peers • e.g. (more-or-less) no central control P2P-Oslo-030516.fm 12 16.May.03 (3) www.kom.tu-darmstadt.de www.httc.de Characteristics Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Management 7. peers with significant AUTONOMY and mostly having SIMILAR RIGHTS • e.g. storage / processing done by autonomous end-systems 8. NO CENTRAL control or centralized usage of a service 9. SELFORGANIZEING system (ad-hoc like) P2P-Oslo-030516.fm 13 16.May.03 (4) www.kom.tu-darmstadt.de www.httc.de 3. Some Applications and Systems: 1st Generation Approaches for • Distributed Collaboration/Communication • P2P groupware, P2P content generation • P2P instant messaging (like Jabber, ICQ), Online games • Distributed Storage • P2P file sharing Overview 3.1 File Sharing with Central Server (like Napster) 3.3 Decentral File Sharing (like Gnutella) 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms • (online) backups 3.4 Anonymous File Sharing (like Freenet) • Distributed Computing • P2P CPU cycle sharing, distributed simulation 3.2 Processing Sharing with Central Server 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 14 16.May.03 www.kom.tu-darmstadt.de www.httc.de 3.1 File Sharing with Central Server (like Napster) see e.g. http://www.napster.com/ Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion History • first famous P2P file sharing tool • for downloading mp3 files only • first: 1999-2001 • free content access, violation of copyright of artists • later: since 2001 • by introduction of chargeing: users abandonned service • April 2001: OpenNap appr. 45.000 users, 80 (interconnected) directory servers, more than 50 TByte of data Characteristics • users as providers and consumers • napster user namespace instead of • fixed IP addresses • domain name system (DNS) P2P-Oslo-030516.fm 15 16.May.03 www.kom.tu-darmstadt.de www.httc.de File Sharing with Central Server (like Napster) (2) Download Search Overview 1. Motivation Central Napster Server 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion • central P2P network • decentral storage (content at the edges) • central server (file index, address of peers, search engine) • file transfer between clients • decentralization • as tool, not as goal P2P-Oslo-030516.fm 16 16.May.03 Napster Client www.kom.tu-darmstadt.de www.httc.de File Sharing with Central Server (like Napster) Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Phases: 1. Directory update • Peers provide data to central server • stored files - mp3 tags, related metadata, own IP-address 2. Search • requesting peer addresses central server • central server delivers related IP addresses 3. Test of quality • requesting peer • sends ping (gets pong) from all potential peers • select the best 4. Download - data transfer • requesting peers • sets-up connection with best peer • retrieves data P2P-Oslo-030516.fm 17 16.May.03 (3) www.kom.tu-darmstadt.de www.httc.de 3.2 Processing Sharing with Central Server Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion see e.g. http://setiathome.ssl.berkeley.edu/ SETI = Search for ExtraTerrestrial Intelligence • first famous P2P network for sharing processing power • for the massively parallel analysis of radio signals • started 1998, until october 2000 4x1020 • floating point operations performed (largest computation ever performed) Principle • about 50 GB of data coming in from the Arecibo telescope per day • distributed via central server to millions of processing-clients • client = screensaver (using idle CPU cycles) • uses unused processing power of desktop computers Characteristics • architecture similar to napster • similar idea: GRID computing P2P-Oslo-030516.fm 18 16.May.03 www.kom.tu-darmstadt.de www.httc.de 3.3 Decentral File Sharing (like Gnutella) see e.g. http://dss.clip2.com/GnutellaProtocol04.pdf http://gnutella.wego.com/ http://www.gnutella.co.uk/ Overview 1. Motivation 2. Notion of Peer-to-Peer GNU (GNUs not Unix) + Nutella SERVENT A 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion decentral file sharing tool main differences to Napster • no central server • all kinds of files are shared P2P-Oslo-030516.fm 19 16.May.03 Download Gnutella Messages Servent B Servent www.kom.tu-darmstadt.de www.httc.de Gnutella: Architecture Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Characteristics • each node keeps a database of known and connected nodes • bootstrapping • any peer may work • host cache provide list of entry point to the network • initially part of the servent • otherwise published at diverse webpages • each message identified • by a pseudo globally unique ID (GUID) • 128 bit random eg. consisting of • time code + network MAC address + random number • answers routed back to origin based on GUID of requesting message • PONG, QUERY HIT, PUSH • message broadcast for node discovering and search requests • flooding (to all connected nodes) is used to distribute information • nodes recognize message they already have forwarded • by their GUID and • do not forward them twice • hop limit by TTL • usually TTL = 7 • same for all peers P2P-Oslo-030516.fm 20 16.May.03 www.kom.tu-darmstadt.de www.httc.de Phases of the Protocol (Version 0.4) Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 1. connecting • PING message: Actively discover hosts on the network • PONG message: Answer to the PING messages, includes information about one connected Gnutella servent 2. search • QUERY message: Searching the distributed network • QUERY HIT message: Response to a QUERY message • can contain several matching files of one servent 3. data transfer • HTTP is used to transfer files (HTTP GET) • PUSH message: To circumvent firewalls 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 21 16.May.03 www.kom.tu-darmstadt.de www.httc.de Phase 1: Gnutella - Connecting In order to connect to a Gnutella network the servent must initially know (at least) one member node of the network and connect to it • these first member nodes must be found by other means (Web, ...) • nowadays host caches are usually used Overview 1. Motivation servent 1 ping servent 2 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues ping servent 1 pong servent 2 ping 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking pong 9. Conclusion servent 1 P2P-Oslo-030516.fm 22 16.May.03 servent 2 www.kom.tu-darmstadt.de www.httc.de Phase 1: Gnutella - Connecting - The Gnutella Net Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation servent 1 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Gnutella connection (TCP on specified Port) servent connects to a number of nodes • it got PONG messages from ⇒ thus it becomes part of the Gnutella net P2P-Oslo-030516.fm 23 16.May.03 (2) www.kom.tu-darmstadt.de www.httc.de Phase 2: Gnutella - Searching servent 1 query servent 2 Overview query 1. Motivation 2. Notion of Peer-to-Peer servent 1 3. Some Applications and Systems: 1st Generation servent 2 query 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Flooding: QUERY message is distributed to all connected nodes 1. a node that receives a QUERY message • increases the HOP count field of the message and • forwards it to all nodes • except the one he received it from • if • HOP <= TTL (Time To Live) • A QUERY message with this GUID was not received before P2P-Oslo-030516.fm 24 16.May.03 www.kom.tu-darmstadt.de www.httc.de Phase 2: Gnutella - Searching servent 1 query hit servent 2 Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 25 16.May.03 2. the node also checks whether it can answer to this QUERY • with a QUERYHIT message • if e.g. available files match the search criteria 3. QUERYHIT message • contains • the IP address of the sender • information about one or more files that match the search criteria. • information passed back the same way the QUERY took. (2) www.kom.tu-darmstadt.de www.httc.de Phase 3: Gnutella - Data Transfer Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation peer sets-up connection • data transfer is not part of the Gnutella protocol • HTTP GET is used • special case:servent with the file is behind a firewall • the downloading servent cannot initiate a connecting • it can instead send the PUSH message, • asking the other servent to instead initiate a HTTP connection to him and • to push the file via it • but, does not work if both servents are behind firewalls 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 26 16.May.03 www.kom.tu-darmstadt.de www.httc.de Gnutella Problem: Scalability Issues Overview Gnutella in its original version V 0.4 suffers from a range of scalability issues • due to • decentral approach and • flooding of messages. Frequency Distribution of Gnutella Messages (Portmann et. al.): 1. Motivation QUERY 54.8% PONG 26.9% PING 14.8% QUERY HIT 2.8% PUSH 0.7% 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 27 16.May.03 ⇒ 41.7% of the messages just for network discovery www.kom.tu-darmstadt.de www.httc.de Gnutella Problem: Scalability Issues A TTL (Time To Live) of 4 hops for the PING messages • leads to a known topology of rougly 8000 nodes • TTL in the original Gnutella client was 7 Average bandwidth usage (kbps) per node for peer discovery : Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 8. Major Issues in P2P Networking 9. Conclusion PING rate 500 Nodes 4000 Nodes 8000 Nodes 1/min 4.8 68.2 194.9 1/sec 288 4090.4 11694.5 Average bandwidth usage (kbps) per node for search messages: 4. Some Applications and Systems: 2nd Generation 7. Search: Distributed Hash Tables (2) Search rate 500 Nodes 4000 Nodes 8000 Nodes 1/min 2.5 36.8 127.0 1/sec 151.0 2211.0 7617.3 ⇒ Low bandwidth peers easily use up all their available bandwidth • for passing on PING and QUERY messages of other users, • leaving no bandwidth for up- and downloads ⇒ reason for the breakdown of the Gnutella network in August 2000. Hierarchy introduced: Superpeers (like in FastTrack..) • to cope with load of low badwidth peers P2P-Oslo-030516.fm 28 16.May.03 www.kom.tu-darmstadt.de www.httc.de Gnutella Problem: Free Riders Free Rider • exist in big anonymous communities • selfish individuals that opt out of a voluntary contribution • to the community social welfare • i.e. by not sharing any files but downloading from others • ... and get away with it Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Study results (Adar/Hubermann 2000): • 70% of the Gnutella users share no files • 90% answer no queries Solutions • incentives for sharing • servents only accept connections / forward messages from servents that share content • but: how to verify? quality of the content? • micropayment • see Mojo Nation P2P-Oslo-030516.fm 29 16.May.03 www.kom.tu-darmstadt.de www.httc.de Gnutella Problem: Overlay Topology Design Overview search for german movie german movies 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms japanese movies 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 30 16.May.03 british movies Gnutella connection Gnutella Node IP Route IP Node www.kom.tu-darmstadt.de www.httc.de Gnutella Problem: Overlay Topology Design (2) search for german movie german movies Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms japanese movies 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking british movies 9. Conclusion This overlay network has a better topology • Gnutella network • only 2-5% of the connections are within the same autonomous system P2P-Oslo-030516.fm 31 16.May.03 www.kom.tu-darmstadt.de www.httc.de Gnutella: How Scalability Issues are tackled Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues Modern Gnutella Versions (Limewire, Bearshare) use a number of mechanisms to overcome the performance problems addressed before: • Optimization of connection parameters • number of hops etc • PING/PONG opimization • e.g. C. Rohrs und V. Falco. Limewire: Ping Pong Scheme, April 2001. • http://www.limewire.com/index.jsp/pingpong • Dropping of low-bandwidth connections • moves modem/ISDN users to the edge of the Gnutella Network • Ultra-Peers • similar to KaZaA super nodes • File Hashes to identify files • similar to eDonkey 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 32 16.May.03 www.kom.tu-darmstadt.de www.httc.de Gnutella: Some Related Work Overview Scalability • M. Portmann et. al.: The Cost of Peer Discovery and Searching in the Gnutella Peer-to-peer File Sharing Protocol • J. Guterman: Gnutella to the Rescue? Not so Fast, Napster fiends. • K. Sripanidkulchai, Carnegie Mellon University: The popularity of Gnutella queries and its implications on scalability • Clip2.com: Bandwidth Barriers to Gnutella Network Scalability 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Free Riders • E. Adar, B. Hubermann: Free Riding on Gnutella • P. Golle et.al.: Incentives for Sharing in Peer-to-Peer Networks 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking Overlay Topology • G. Pandurangan et.al.: Building Low-Diameter P2P Networks • G. Pandurangan et.al.: Building P2P networks with good topological properties 9. Conclusion P2P-Oslo-030516.fm 33 16.May.03 www.kom.tu-darmstadt.de www.httc.de 3.4 Anonymous File Sharing (like Freenet) Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion e.g. Freenet see http://freenet.sourceforge.net/ • from Ian Clarkt atUniversity of Edinburgh Principle: • Documents are • encrypted • cut into several pieces and • stored on several machines Characteristics • provides anonymity for users • author of document cannot be identified • prohibits censorship of documents • as document pieces are copied at several machines • removes any single point of failure or control • decentralized storage • provide plausible security wrt. node operators • as they cannot read the content on their disks P2P-Oslo-030516.fm 34 16.May.03 www.kom.tu-darmstadt.de www.httc.de 4. Some Applications and Systems: 2nd Generation Approaches for • Distributed Search Engines (and some Intelligent Agents) Performance Improvements • decentralized by networks with supernodes / distributed servers 4.1 Decentral File Sharing with Distributed Servers (like eDonkey 2000) Overview 1. Motivation 4.2 Decentral File Sharing with Super Nodes (like KaZaA) 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Charging for Content and Services (battling free riders) 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 35 16.May.03 4.3 File Sharing with Charging (like Mojo Nation) www.kom.tu-darmstadt.de www.httc.de 4.1 Decentral File Sharing with Distributed Servers (like eDonkey 2000) For example: eDonkey 2000 see e.g. http://www.edonkey2000.com/ http://www.emule-project.net/ http://savannah.gnu.org/projects/mldonkey/ Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Principle • Distributed server is set up and run by power-users • thus it is nearly impossible to shut down all servers • servers interchanged their server lists • using UDP as transport protocol • Client application connects to one random server and stays connected • using TCP • this server manages file indices • searches are directed to the server • clients can also extend their search by sending UDP search messages to additional servers P2P-Oslo-030516.fm 36 16.May.03 www.kom.tu-darmstadt.de www.httc.de Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Decentral File Sharing with Distributed Servers (like eDonkey 2000) • additionally: • New servers (2) send their port + IP to other servers (UDP) Download Search • Servers send Server Lists server lists (other TCP servers they know) to the Extended Search clients UDP • Server lists can also be Server downloaded on various websites Client • Files are identified by unique MD4 file hashes and not by filenames, this helps in • resuming a download from a different source • downloading the same file from multiple sources at the same time • verification that the file has been correctly downloaded P2P-Oslo-030516.fm 37 16.May.03 www.kom.tu-darmstadt.de www.httc.de 4.2 Decentral File Sharing with Super Nodes (like KaZaA) Overview 1. Motivation 2. Notion of Peer-to-Peer see www.fasttrack.nu, www.kazaa.com www.grokster.com, gift.sourceforge.net System • Developer: Fasttrack • Clients: KaZaA (Grokster, GiFT/OpenFT) Properties: • currently most successful P2P network 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P system # users # files terabytes # downloads (from download.com) Fasttrack 2,6 Mio. 472 Mio. 3550 4 Mio eDonkey 230.000 13 Mio. 650-2600 600.000 Gnutella 120.000 28 Mio. 105 ca. 525.000 • Numbers are from 10’2002 Architecture: neither completely central nor decentral Also • today Gnutella clients use supernodes to reduce communication overhead P2P-Oslo-030516.fm 38 16.May.03 www.kom.tu-darmstadt.de www.httc.de Decentral File Sharing with Super Nodes (like KaZaA) (2) Download Search Overview 1. Motivation SUPERNODE Client 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation normal Client 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion peers • connected only to some super nodes • send IP address and file names only to super peers super nodes - super peers: peers with high-performance network connections • take the role of the central server and proxy for simple peers • answer search messages for all peers, i.e. reduction of load of peers • one or more supernodes can drop out without problems additionally the communication between nodes is encrypted P2P-Oslo-030516.fm 39 16.May.03 www.kom.tu-darmstadt.de www.httc.de 4.3 File Sharing with Charging (like Mojo Nation) Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables e.g. Mojo Nation see http://www.mojonation.net/ • extends Freenet defines electronic money (mojos) • mojos are earned by offering resources to the Mojo Nation network • storage space • processing power • bandwidth • mojos can be spent on • searching • downloading 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 40 16.May.03 www.kom.tu-darmstadt.de www.httc.de 5. Peer-to-Peer & Related Mechanisms Overview A deaper understanding of the relationship • peer-to-peer and • client server • GRID may lead to new common solutions 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 41 16.May.03 www.kom.tu-darmstadt.de www.httc.de 5.1 Peer-to-Peer and Client Server - Revised Client Server ... Peer-to-Peer Mechanisms Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Hybrid Peer-to-Peer Mechanisms • decentralized • shared usage of resources • interaction (data transfer) between peers • Use of server(s) / super peers for coordination P2P-Oslo-030516.fm 42 16.May.03 www.kom.tu-darmstadt.de www.httc.de 5.2 GRID Computing Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation http://www.gridforum.org Similar idea, similar concept as in P2P High performance data processing centers • needed for scientific applications • but • expensive to provide • often do not offer enough performance Solution: GRID • to interconnect the existing data processing centers and operate it as distributed processing center (the GRID) 5. Peer-to-Peer & Related Mechanisms P2P GRID 6. Peer-to-Peer Intrinsic Issues History Sharing MP3 files & illegal content Saving costs for data processing centers 7. Search: Distributed Hash Tables Users Mainly private users Scientists Typical Transfer Volume Small (MP3) to medium (video) Huge (often terabytes) Typical Service File Sharing Processing Sharing Hugh number of users cause scalability issues Transfering huge amounts of data 8. Major Issues in P2P Networking 9. Conclusion Typical Problems P2P-Oslo-030516.fm 43 16.May.03 www.kom.tu-darmstadt.de www.httc.de 6. Peer-to-Peer Intrinsic Issues Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Selected topics • 6.1 Overlay Phenomenon • 6.2 Small World Networks P2P-Oslo-030516.fm 44 16.May.03 www.kom.tu-darmstadt.de www.httc.de 6.1 Overlay Phenomenon Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P networks form OVERLAY NETWORK • on top of the Internet IP network IP network form an OVERLAY NETWORK • (politically and technically) over the underlying telecom infrastructure • introduced their own addressing scheme • e.g. user names overlay network node • emphasized fault-tolerance basic network node • based on the end-to-end principle • as much intelligence as possible to the end nodes ⇒ P2P can learn a lot from the according Internet solutions • routing algorithms etc ⇒ P2P and the Internet are based on very much the same principles • but on different layers Other (non P2P) overlay network • e.g. VPNs (virtual path networks) P2P-Oslo-030516.fm 45 16.May.03 www.kom.tu-darmstadt.de www.httc.de 6.2 Small World Networks Overview 1. Motivation Clustered sparseness • Small World Networks comprise few edges • Network set-up by many interconnected clusters Small Diameter • minimal distance between the most apart peers is small • path length grows logarithmically with size of network 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms Power Law characteristics • independent form network size • depends on network specific constant value > 0 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Building - growing process • networks continuously grow • new node preferably attached to well interconnected nodes • e.g. Gnutella • nodes with many attached peers respond to many PING requests • this nodes are preferred wrt setting up new connections • host caches also prefer to comprise higly interconnected nodes P2P-Oslo-030516.fm 46 16.May.03 www.kom.tu-darmstadt.de www.httc.de Small World Networks Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking (2) Fault tolerance • robust again random faults (and attacks) • uncertainty with faults at highly connected nodes Examples • energy supply at the US #N(L) ~ L-4 • cross-references in science:#N(L) ~ L-3 • WWW: #N(Lout) ~ L-2.45, • Max. 19 clicks between any 2 pages • Peer-to-Peer Overlays: Gnutella #N(L) ~ L-2 • telephone calls (AT&T): called numbers P2P use • optimization of search mechanism • random walk, high degree search, ... 9. Conclusion P2P-Oslo-030516.fm 47 16.May.03 #N(Lin) ~ L-2.1 www.kom.tu-darmstadt.de www.httc.de 7. Search: Distributed Hash Tables ? Location of „Matrix.avi“? Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Issue in any P2P system 1. Location of data • where shall the data be stored? 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking publish ("reference to contents", ..) 2. Locating of data • how shall the query mechanism work? LookUp ("refernce to contents", ... 9. Conclusion Constraints • low communications and storage compelxity • robustness P2P-Oslo-030516.fm 48 16.May.03 I have „Matrix.avi“? www.kom.tu-darmstadt.de www.httc.de Alternative 1: Central Server - Client Server X has it! S d c Lookup(“contents”) Publish(“Contents”,X) Overview X 1. Motivation Get(“Contents”) 2. Notion of Peer-to-Peer e 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Principle • simple • server comprises location data Comments • all issues like client server • scalability, single point of failure, cost of management, ... • excellent for simple/small environments P2P-Oslo-030516.fm 49 16.May.03 Search Query Download data www.kom.tu-darmstadt.de www.httc.de Alternative 2: Flooding Get(“Contents”) Lookup (“Contents”) here here Overview 1. Motivation Search Query Download Data 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Principle • simple • location known only at actual data storage Comments • all issues like broadcasting & flooding • network load, scalability • excellent if high robustness needed P2P-Oslo-030516.fm 50 16.May.03 www.kom.tu-darmstadt.de www.httc.de Comparison: Trade-off Suchaufwand O(N) Overview 1. Motivation 2. Notion of Peer-to-Peer Fluten Flaschenhals: • Kommunikation ? O(log N) 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Zentraler Server O(1) 5. Peer-to-Peer & Related Mechanisms O(1) 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion O(log N) O(N) Speicheraufwand Approaches • central server: but • scalability, storage needs O(N), • flooding: but • amount of messages, network load P2P-Oslo-030516.fm 51 16.May.03 Flaschenhals: • Speicher, CPU, Netz • Verfügbarkeit Wehrle www.kom.tu-darmstadt.de www.httc.de Comparison: Trade-off y Skalierbar: O(log N) Suchaufwand O(N) Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation f Ausfälle Flaschenhals: • Kommunikation f Attacken f Kurzzeitige Nutzer Verteilte HashTabellen O(log N) Zentraler Server O(1) 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues O(1) 7. Search: Distributed Hash Tables 9. Conclusion y Resistent gegen Änderungen Fluten 4. Some Applications and Systems: 2nd Generation 8. Major Issues in P2P Networking (2) O(log N) Flaschenhals: • Speicher, CPU, Netz • Verfügbarkeit O(N) Speicheraufwand Distributed Hash Table Principle • using HASH function: uniform distribution to many locations of • actual contents • information where content is located (better) • Issues • uniform distribution & continuous updating (leave and join of nodes) P2P-Oslo-030516.fm 52 16.May.03 Wehrle www.kom.tu-darmstadt.de www.httc.de 1. Step: Mapping of Contents to linear Range of Values Overview 1. Motivation 2. Notion of Peer-to-Peer All contents (i.e. name of file) mapped to range of integer values • N: max. amount of files • N << 0, ..., 2m-1 Hash function • H (string of characters) mod 2m • e.g. • H (movie/matrix/divx/en) = 2313 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 53 16.May.03 www.kom.tu-darmstadt.de www.httc.de 2. Step: Arrangement of Range of Values Example hash values (reflecting data description) 01000 Overview 10012000 20014000 40017000 2. Notion of Peer-to-Peer 4. Some Applications and Systems: 2nd Generation 10.00121.000 21.00140.000 nodes to store data or location information 1. Motivation 3. Some Applications and Systems: 1st Generation 700110.000 Values most often arranged as circle 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 54 16.May.03 2m-1 0 40.00165.535 www.kom.tu-darmstadt.de www.httc.de 2. Step: Arrangement of Range of Values Distributed Hash-Table Arrangement Overview Real Topology 1. Motivation 2. Notion of Peer-to-Peer 40.00165.536 3. Some Applications and Systems: 1st Generation 21.00140.000 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion (2) Nodes reponsability • part of the range of values • often redundancy incorporated P2P-Oslo-030516.fm 55 16.May.03 10012000 40017000 01000 10.00121.000 I administer 2001-4000 www.kom.tu-darmstadt.de www.httc.de 3.A Step: Location of Ressource - at "Directory Peer" 40.00165.536 21.00140.000 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation at directory peer • storage of data there • but, not flexible at all ⇒ in general not used 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 56 16.May.03 40017000 01000 7001-10.000 Overview 10012000 10.00121.000 H(“contents”)=2313 20014000 www.kom.tu-darmstadt.de www.httc.de 3.B Step: Location of Ressource - Remote 10012000 40.00165.536 01000 X 21.00140.000 Overview 1. Motivation 40017000 7001-10.000 H(“Contents”)=2313 pointer to location (2313 Æ X) 10.00121.000 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Nodes • store tupel (KEY, VALUE) • Key • = H (movie/matrix/divx/en) i.e. 2313 • Value • real address information • = (IP, Port) i.e. (141.12.158.3, 4711) Characteristics • more flexible • addition step to reach contents requiered P2P-Oslo-030516.fm 57 16.May.03 20014000 www.kom.tu-darmstadt.de www.httc.de 4. Step: Location of Remote Ressource Lookup(H(“Content”)) Æ 2313 Knoten verwaltet Schlüssel 2001-4000, also auch 2313 Overview Key = H(“Content”) 1. Motivation 2. Notion of Peer-to-Peer (2313, (ip, port)) 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms Einstiegsknoten (beliebig) Value = Verweis auf Lokation der Daten 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Content based routing • calculate HASH function • location of directory resource • location of actual RESSOURCE WITH CONTENTS Issues • effective routing to searched contents from any initially addressed node P2P-Oslo-030516.fm 58 16.May.03 www.kom.tu-darmstadt.de www.httc.de Examples using DHT Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation Pastry • Microsoft Research, Rice University Chord • UC Berkeley, MIT CAN - Content Addressable Network • UC Berkeley, ICSI Tapestry • UC Berkeley etc. 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 59 16.May.03 www.kom.tu-darmstadt.de www.httc.de 8. Major Issues in P2P Networking Overview 1. Motivation Performance & Scalability • performance predictability • see Gnutella example • much more communication overhead than in client-server systems • bandwidth is usually scarce • if a peer is unreachable, • TCP/IP can take up to several minutes to time out the connection 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms Free Riders • see Gnutella example • incentives for sharing content, for not misbehaving .... • any fair cost share 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Copyright Management • how can I be sure that I am not downloading illegal stuff? • how can the rights of the owners of intellectual property be enforced? Interoperability • there are a number of incompatible protocols • there are no standards and there is no dominating protocol (yet) P2P-Oslo-030516.fm 60 16.May.03 www.kom.tu-darmstadt.de www.httc.de Major Issues in P2P Networking Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms Trust • how can I be sure that the document/software/movie... I am downloading is the one that it was announced as • how can I be sure that it is unchanged, does not contain viruses etc.? • which community members can I trust? • trust can be increased by • decreasing the number of people that must be trusted • reducing the risk • components: message digest functions, digital certificates etc. ⇒ Potential Solution: Reputation Mechanisms • see eBay, PGP web of trust, ... • trade-off with anonymity 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion (2) Other security aspects • authentication? • protection against denial of service attacks? • protection against tampering of files, search messages etc.? • virus protection? • P2P protocols are built to circumvent firewalls P2P-Oslo-030516.fm 61 16.May.03 (3) www.kom.tu-darmstadt.de www.httc.de Major Issues in P2P Networking Overview 1. Motivation 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion Lack of • common middleware • in general at w3c, global grid forum • dedicated at EU MMAPPS - Market Management of Peer to Peer Services • network management • overlay network, i.e. inefficiency • dynamics, i.e. unpredictable P2P-Oslo-030516.fm 62 16.May.03 www.kom.tu-darmstadt.de www.httc.de Major Issues in P2P Networking (4) eLearning & telemedia education: domain specific metadata eBusiness: consideration of business processes AVAILABILITY: appropriate search, retrieval, placement, ... • proactive fine-grained availability: Ava il Service = Avail Data × ( Avail P2Pdynamics Node × Avail intrinsics Node × Avail Link ) Overview Demanding Availability 1. Motivation Supplying Availability 2. Notion of Peer-to-Peer 3. Some Applications and Systems: 1st Generation user1 A2 4. Some Applications and Systems: 2nd Generation user2 A1 A2 5. Peer-to-Peer & Related Mechanisms user3 A0 A0 6. Peer-to-Peer Intrinsic Issues user4 P2P Service A0 A1 Data A1 System Node Link 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion A2: extremely high available A1: high available A0: as high as possible Differentiated Availability P2P-Oslo-030516.fm 63 16.May.03 P2P Node dynamics Node intrinsics Fine-Grained Availability just a hype? ... no, P2P e.g. also as integral part of curricula 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion L1 Physical Layer (Bitübertragung) Web Files LAN, MAN High-Speed LAN RT(C)P Transport Network Medium-Term Routing&Traffic Engineering Short-Term Congestion Control Basics Other Lectures of “ETiT” & Computer Science Introduction Legend: P2P-Oslo-030516.fm 64 16.May.03 KN I KN II KN III Time Scale L2 Data Link Layer (Sicherung) 6. Peer-to-Peer Intrinsic Issues Internet: IP Long-Term Network Planning & Engineering Trafficmgmnt 5. Peer-to-Peer & Related Mechanisms WAN: ISDN & ATM Media Data Flow Security L3 Network Layer (Vermittlung) 4. Some Applications and Systems: 2nd Generation Internet: TCP, UDP MM COM - QoS specific L4 Transport Layer (Transport) Mobile Communications 3. Some Applications and Systems: 1st Generation IP-Tel: Signal. H.323 SIP Moblie IP 2. Notion of Peer-to-Peer Telnet 1. Motivation Email L5 Application Layer (Anwendung) Inst. Msg. Applications P2P Overview Complementary Courses: Distributed Multimedia Systems (MM I and MM II), Telecooperation II,III,.., Embedded Systems, Mobility in Comm. Networks Transitions & Addressing www.kom.tu-darmstadt.de www.httc.de 9. Conclusion www.kom.tu-darmstadt.de www.httc.de 10. Annex: Some References http://openp2p.com http://www.oreilly.com/catalog/peertopeer http://peer-to-peerwg.org/index.html. http://www.mmapps.org • Homepage EU-Project "Market Management for Peer-to-Peer Services"; Overview 1. Motivation 2. Notion of Peer-to-Peer Peer-to-Peer, Ed. Andy Oram, O'Reilly, 2001. 3. Some Applications and Systems: 1st Generation 4. Some Applications and Systems: 2nd Generation 5. Peer-to-Peer & Related Mechanisms 6. Peer-to-Peer Intrinsic Issues 7. Search: Distributed Hash Tables 8. Major Issues in P2P Networking 9. Conclusion P2P-Oslo-030516.fm 65 16.May.03