Peer-to-Peer Data Management. Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig

Size: px
Start display at page:

Download "Peer-to-Peer Data Management. Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig"

Transcription

1 Peer-to-Peer Data Management Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig

2 7. Unstructured P2P Networks The transparencies of this chapter are based on the package Unstructured Peer-to-Peer Networks by Wolf-Tilo Balke and Wolf Siberski Original slides partially provided by Rüdiger Schollmeier Jörg Eberspächer 7-2/62

3 7. Unstructured P2P Networks History Overlay Network Characteristics Network Types Centralized P2P Pure P2P Hybrid P2P 7-3/62

4 Review: Driving Forces of P2P File Sharing Sharing of otherwise unused resources Storage Bandwidth (Processing) No central control No single point of failure No administrative efforts Difficult to attack with judicial means 7-4/62

5 Unstructured P2P Networks History Overlay Network Characteristics Network Types Centralized P2P Pure P2P Hybrid P2P 7-5/62

6 How It All Began: From Arpanet to Peer-to-Peer 1. How It All Began: From Arpanet to Peer-to-Peer 2. The Napster Story 3. Gnutella and its Relatives: Fully Decentralized Architectures 3) 2) 1) Freenet 2) Buzzpad 3) WuWu 1) [Most relevant P2P-Applications in the year 2001] 7-6/62

7 From ARPANET to Peer-to-Peer Late 1960s: Establishment of the ARPANET Goal: share computing resources and documents between US research facilities The logical network matched the physical network to a large extent Applications: FTP and TelNet client/server model Central steering committee to organize the network 1979: Development of the UseNet protocol Newsgroup application to organize content Newsgroup server network exhibits P2P characteristics Self organizing approach to add and remove newsgroup servers Fully distributed content replication Still client/server application with respect to endpoints ~1990 rush of the general public to join the Internet Applications following the client/server approach: WWW, , streaming Straightforward model to administrate and control the content distribution 7-7/62

8 The Napster Story 1. How It All Began: From Arpanet to Peer-to-Peer 2. The Napster Story 3. Gnutella and its Relatives: Fully Decentralized Architectures 3) 2) 1) Freenet 2) Buzzpad 3) WuWu 1) [Most relevant P2P-Applications in the year 2001] 7-8/62

9 The Napster Story MAY 1999: Disruption of the Internet community First Generation of P2P Introduction of Napster User not only consume and download content but also offer and provide content to other participants Users establish a virtual network, entirely independent from physical network and administrative authorities or restrictions Basis: UDP and TCP connections between the peers December 1999: RIAA files a lawsuit against Napster Inc. Target of the RIAA: the central lookup server of Napster February 2001: 2.79 billion files exchanged via the Napster network per month July 2001: Napster Inc. is convicted Napster has to stop the operation of the Napster server Napster network breaks down BUT: Already a number of promising successors available 7-9/62

10 Centralized Directory Model Centralized Directory Model The index service is provided centrally by a coordinating entity. Search request is issued to the coordinating entity which delivers a list of peers having the desired files available for download. Requesting peer obtains the respective files directly from the peer offering them. Characteristics Lookup of existing documents can be guaranteed. Index service is a Single Point of Failure. Centralized P2P system Representative: Napster 7-10/62

11 Centralized Directory Model - Example Mr. Müller shares on his client several MP3- files. Mr. Arayama shares on his client several MP3- files, too.? Prince purple rain?! Prince purple Mr. Arayama Central database with index of all shared files? Prince purple rain?! Prince purple rain! 7-11/62

12 Gnutella and its Relatives 1. How It All Began: From Arpanet to Peer-to-Peer 2. The Napster Story 3. Gnutella and its Relatives: Fully Decentralized Architectures 3) 2) 1) Freenet 2) Buzzpad 3) WuWu 1) [Most relevant P2P-Applications in the year 2001] 7-12/62

13 Gnutella March 2000: Nullsoft releases Gnutella as an open source project Major developer: Gene Khan Additionally to servent functionality, the peers also take over routing tasks Becomes extremely popular after Napster has to shut down October 2000: introduction of hierarchical routing layers. Gnutella 0.6: Ultrapeer concept Increases the scalability significantly Variety of similar fully decentralized P2P-protocols followed soon: Audiogalaxy FastTrack/KaZaA imesh Freenet 7-13/62

14 Flooded Request Model Flooded Request Model: Atomic P2P system Without central coordination authority (all peers are equal). Search request is passed on to neighbors. If they cannot answer the request, they pass it on to various other nodes until a predetermined search depth (ttl=time-to-live). When requested file has been located, positive search results are sent to the requesting entity. Requesting peer can then download the desired file directly from the entity which is offering it. Characteristics: Fully decentralized, no central lookup server no single point of failure or control Unreliable lookup (no guarantees) System doesn't scale. Pure P2P system Representative: Gnutella /62

15 Flooded Request Model - Example No central Database Mr. Müller is searching for Prince??????? Mr. Arayama serves Prince 7-15/62

16 Super-peer based Flooding Super-peer based Flooding: Hierarchical P2P system Super-peers (Ultrapeers) form pure P2P subnet All other peers (Leaf nodes) directly attach to one super-peer Super-peer netwerk acts as distributed file index o Super-peers request file list from their leaf peers Queries are distributed in super-peer subnet only Combination of Pure and Central P2P Characteristics: Fully decentralized, no central lookup server no single point of failure or control Systems scales much better Unreliable lookup (but more success due to smaller network) Hybrid P2P system Representative: Gnutella /62

17 Super-peer based Flooding- Example Mr. Müller is searching for Prince?????????? Mr. Arayama serves Prince 7-17/62

18 August 2001 Gnutella and its Relatives: The Story Goes on Users adapt very fast to the breakdown of Napster Already 3.05 billion files exchanged per months via the Gnutella network Year 2001 Invention of structured P2P networks (regular instead of random network graph) August 2002 Amount of exchanged data in KaZaA decreases, caused by a high number of defected files (reason: weak hash keys to identify files) Edonkey and Gnutella regain popularity May 2003 Bittorrent is released Soon causes majority of the observed traffic, due to its efficiency Middle of 2003 Beyond the exchange of content, new concepts are developed to use P2P also for other applications Skype a Voice over P2P application is developed Today: Major efforts are made to increase the reliability of P2P-searches, also in mobile networks, In 2005 Ebay buys Skype to use the paradigm for the communication between bidders and sellers 7-18/62

19 1 st and 2 nd Generations of P2P Client-Server 1. Server is the central entity and only provider of service and content. Network managed by the Server 2. Server as the higher performance system. 3. Clients as the lower performance system Example: WWW 1. Resources are shared between the peers 2. Resources can be accessed directly from other peers 3. Peer is provider and requestor (Servent concept) Unstructured P2P Peer-to-Peer Structured P2P Centralized P2P Pure P2P Hybrid P2P Pure P2P Hybrid P2P 1. All features of Peer-to- Peer included 2. Central entity is necessary to provide the service 3. Central entity is some kind of index/group database Example: Napster 1. All features of Peer-to- Peer included 2. Any terminal entity can be removed without loss of functionality 3. No central entities Examples: Gnutella 0.4, Freenet 1. All features of Peer-to- Peer included 2. Any terminal entity can be removed without loss of functionality 3. dynamic central entities Example: Gnutella 0.6, JXTA 1 st Gen. 2 nd Gen. 7-19/62

20 Unstructured P2P Networks History Overlay Network Characteristics Network Types Central P2P: Napster Pure P2P: Gnutella 0.4 Hybrid P2P: Gnutella /62

21 Overlay Networks Virtual signaling network established via TCP connections between the peers Characteristics of the overlay topology: completely independent from physical network Separate addressing and routing scheme No relation between physical network edges and overlay network edges May include hierarchies (hub network) (e.g. rendezvous peers in JXTA) May include centralized elements (star network) (lookup server in Napster) May be a completely randomized network (Gnutella 0.4) (randomly meshed network) Overlay network can be seen as graph Peers as nodes Conceptual connections as edges 7-21/62

22 General Characteristics of 1 st And 2 nd Gen. P2P 1st and 2nd Generation P2P systems are overlay architectures, with the following characteristics: TCP/IP based Decentralized and self organizing (with possible centralized elements) Content: Distributed randomly on the network, with several replicas (due to popularity) Content stays at provider peer Content transfer: o Out of band, i.e. on separate connections and not via signaling connections o Mostly via HTTP Employ distributed shared resources (data storage, bandwidth) Generally two kinds of requests: Content requests: to find content in the overlay Keep-alive requests: stay connected in the overlay Initially developed for file-sharing Various realizations exist 7-22/62

23 Basic Routing Behavior Request messages: Include a hop-counter, a GUID (Globally Unique Identifier) and a TTL (Time-To-Live) in the header TTL determines along how many hops a message may be forwarded Are flooded in the overlay network Every node forwards every incoming message to all neighbors except the neighbor, it received the message from Exceptions: see below Request messages terminate, if Same message-type with same GUID is received more than once (loop!!) Hop-counter=TTL Response messages: Include a hop-counter, a GUID and a TTL (Time-to-Live) in the header GUID is the same as of the initializing request message Are routed back on the same way to the requestor, the request message was transmitted to the responding peer every peer has to store the GUID of each request for a certain amount of time No flooding to save resources 7-23/62

24 Basic Bootstrapping Mostly not part of the protocol specification Necessary to know at least one active participant of the network Otherwise no participation at the overlay possible for a new node Address (TCP) of an active node can be retrieved by different means: Bootstrap cache: Try to establish one after another a connection to a node seen in a previous session Bootstrap server: Connect to a well known host, which almost always participates Ask a bootstrap server to provide a valid address of at least one active node Realizations: o o FIFO of all node-addresses which recently used this bootstrap (a node which just connected is assumed to be still active) Random pick of addresses which recently connected via this server to the overlay (+ no loops, -may be outdated) Broadcast on the IP layer Use multicast channels Use IP broadcasting (-limited to local network) 7-24/62

25 History Unstructured P2P Networks Overlay Network Characteristics Network Types Central P2P: Napster 1. Basic Characteristics 2. Signaling Characteristics 3. Discussion Pure P2P: Gnutella 0.4 Hybrid P2P: Gnutella /62

26 Definition of centralized P2P All peers are connected to central entity Peers establish connections between each other on demand to exchange user data (e.g. mp3 compressed data) Central entity is necessary to provide network services Central entity is some kind of index/group database Central entity is lookup/routing table 7-26/62

27 Basic Characteristics of centralized P2P Bootstrapping: Bootstrap-server = central server Central entity can be established as a server farm, but one single entry point = single point of failure (SPOF) All signaling connections are directed to central entity Peer central entity: P2P protocol, e.g. Napster protocol To find content To log on to the overlay To register To update the routing tables To update shared content information Peer Peer: HTTP To exchange content/data 7-27/62

28 Topology of Centralized P2P Servent Connection between 2 servents (TCP) Connection between router & servent Connection between routers (Core) 7-28/62

29 Napster: How Does It Work Application-level, client-server protocol over point-to-point TCP Partcipants: Napster Hosts/peers Client Service Login Data-requests Download-requests P2P Service Data-transfer Napster Indexserver Pure Server Napster Host Data Transfer Napster Host Central Napster Index server Napster Host Napster Host Five steps: Connect to Napster Server Upload your list of files (push) to server Query Indexserver with a list of keywords to search the full list with Select best of correct answers Connect to providing host/peer 7-29/62

30 Napster Message Structure General Header Structure: HEADER 4byte PAYLOAD <Payload Length> 2byte <Function> 2Byte Describes the message type (e.g. login, search, ) Describes parameters of the message (e.g. IDs, keywords, ) 7-30/62

31 Napster: Initialization Client/Server Service 1: LOGIN (Function:0x02) <Nick> <Password> <Port> 2: LOGIN ACK (Function: 0x03) <Client-Info> <Link-type> 3: NOTIFICATION OF SHARED FILE (0x64) <Filename> <MD5> <Size> <Bitrate> <Freq> <Time> Napster Host IP: 001 Nick: LKN NOTIFICATION(0x64) band LOGIN(0x02) - song.mp3 ACK(0x03) 3f3a lkn nap v0.8 9 Central Napster Index server 7-31/62

32 Napster: File Request Procedure 1: SEARCH (Function: 0xC8) [FILENAME CONTAINS Search Criteria ] [MAX_RESULT <Max>] [LINESPEED <Compare> <Link-Type>] [BITRATE <Compare> <Bitrate> ] [FREQ <Compare> <Freq> ] 2: SEARCH RESPONSE (Function: 0xC9) <Filename> <MD5> <Size> <Bitrate> <Freq> <Time> <Nick> <IP> <Link-Type> Central Napster Index server SEARCH(0xC8) FILENAME CONTAINS song MAX_RESULTS 100 LINESPEED AT LEAST 6 BITRATE AT LEAST 128 FREQ EQUAL TO Napster Host IP: 002 Nick: MIT 7-32/62

33 Summary of Napster Signaling Napster Peer (Req) Napster Server Napster Peer (Prov) Login: [0x24 0x02 ] Login Ack: [0x00 0x03 ] Notif: [0x46 0x64 ] Notif: [0x46 0x64 ] Notif: [0x46 0x64 ] Search: [0x7E 0xC8 ] Response: [0xC4 0xC9 ] Response: [0xC4 0xC9 ] HTTP: GET[Filename] OK[data] Sample message sequence chart for one Napster server with one requesting and one providing peer 7-33/62

34 Napster: Wrap-Up I 1. Search Request User sends out a music file request and Napster searches its central data base /62

35 Napster: Wrap-Up II 2. Search Response The Napster Server sends back a list of peers that share the file. 7-35/62

36 Napster: Wrap-Up II 3. File Download The requesting user downloads the file directly from the computer of another Napster user via HTTP. 7-36/62

37 Centralized P2P: Discussion Disadvantages Single Point of Failure easily attackable Bottleneck Potential of congestion Central server in control of all peers Advantages Fast and complete lookup (one hop lookup) Central managing/trust authority No keep alive necessary, beyond content updates Application areas File Sharing VoIP (SIP, H.323) Conceptually: Social Web applications (ebay, YouTube, del.icio.us, etc.) Systems BitTorrent, Audiogalaxy, WinMX 7-37/62

38 History Unstructured P2P Networks Overlay Network Characteristics Network Types Central P2P: Napster Pure P2P: Gnutella Basic Characteristics 2. Signaling Characteristics 3. Discussion Hybrid P2P: Gnutella /62

39 Definition of Pure P2P Any terminal entity can be removed without loss of functionality No central entities employed in the overlay Peers establish connections between each other randomly To route request and response messages To insert request messages into the overlay 7-39/62

40 Model of Pure P2P Networks Degree distribution: ( ) p d ( ) - c d 1.4, 0 d 7 p d = =, with c 0, in any other case d c -1 average : d = 2.2 var ( d) = 1.63 According Sample Graph: Separate sub networks Major component 7-40/62

41 Basic Characteristics of Pure P2P Bootstrapping: Via bootstrap-server (host list from a web server) Via peer-cache (from previous sessions) Via well-known host No registration Routing: Completely decentralized Reactive protocol: routes to content providers are only established on demand, no content announcements Requests: flooding (limited by TTL and GUID) Responses: routed (Backward routing with help of GUID) Signaling connections (stable, as long as neighbors do not change): Based on TCP Keep-alive Content search Content transfer connections (temporary): Based on HTTP Out of band transmission 7-41/62

42 Topology of Pure P2P Servent Connection between 2 servents (TCP) Connection between router & servent Connection between routers (Core) 7-42/62

43 Gnutella 0.4: How Does It Work Application-level, peer-to-peer protocol over point-to-point TCP Partcipants: Gnutella peers/servents G Router Service Flood incoming requests (regard TTL!) o Keep alive G o content G Route responses for other peers (regard GUID of message) o Keep alive (PING/PONG) o Content (QUERY/QUERYHIT) G Data-requests G G G G G G G G TCP connection Peer/ Servent Download-requests Lookup Service Initialize Data requests Initialize keep alive requests Server -Service Serve Data-requests (HTTP) Five steps: Connect to at least one active peer (address received from bootstrap) Explore your neighborhood (PING/PONG) Submit Query with a list of keywords to your neighbors (they forward it) Select best of correct answers (which we receive after a while) Connect to providing host/peer 7-43/62

44 The Gnutella Network Measurements taken at the LKN in May /62

45 Gnutella Message Structure General Header Structure: MESSAGEHEADER: 23Byte GnodeID 16 Bytes Function 1 Byte TTL 1 Byte Hops 1 Byte Payload Length 4 Bytes Describes the message type (e.g. login, search, ) Describes parameters of the message (e.g. IDs, keywords, ) GnodeID: unique 128bit Id of any Hosts TTL(Time-To-Live): number of servents, a message may pass before it is killed Hops: number of servents a message already passed 7-45/62

46 Gnutella Messages PING (Function:0x00) No Payload PONG (Function:0x01) Port 2 Bytes IP Address 4 Bytes Nb. of shared Files 4 Bytes Nb. of Kbytes shared 4 Bytes QUERY (Function:0x80) Minimum Speed 2 Bytes Search Criteria n Bytes QUERY HIT (Function:0x81) Nb. of Hits 1 Byte Port 2 Bytes IP Address 4 Bytes Speed 1 Byte Result Set n Bytes GnodeID 16 Bytes File Index 4 Bytes File Name n Bytes 7-46/62

47 Gnutella Routing Basic Routing Principle: Enhanced Flooding Save Origin of received PINGs and QUERIEs Increase Hops by 1 If Hops equals TTL, kill the message Flooding: Received PINGS and QUERIES must be forwarded to all connected Gnodes PINGS or QUERYS with the same FUNCTION ID and GNODE ID as previous messages are destroyed (avoid loops) PONG and QUERY HIT are forwarded to the origin of the according PING or QUERY 7-47/62

48 Gnutella Connection Setup Gnode 2000 establishes a connection to Gnutella Connect GNODE ID: 1000 IP: 001 GNODE ID: 2000 IP: Gnutella OK 19PING 20PONG/IP: PING 22PING 23PONG/IP:001 27PONG/IP:001 24PONG/IP:003 GNODE ID: 3000 IP: GNODE ID: 4000 IP: PING 28PONG/IP:003 26PING 7-48/62

49 Summary of the Signaling in Gnutella 0.4 Sample Gnutella 0.4 network: Sample message sequence chart according to the sample network: Peer7 Peer3 Peer1 Peer5 Peer2 Peer4 Peer6 Gnu-Con Gnu-Con OK OK Gnu-Con OK PING PING PING PING PING PING PING PING PING PING Peer8 PING PING PONG PONG PONG PONG PONG PONG PONG PONG PONG PONG PONG PONG 7-49/62

50 Gnutella Wrap-Up I Requesting Servent Servent Query [ ] Query-Hit [ ] Requested Data Broadcast Query[XYZ, TTL = 3, ] 7-50/62

51 Gnutella Wrap-Up II Requesting Servent Servent Query [ ] Query-Hit [ ] Requested Data 1. Query-Hit Broadcast Query[XYZ, TTL = 2, ] 7-51/62

52 Gnutella Wrap-Up III Requesting Servent Servent Query [ ] Query-Hit [ ] Requested Data 2. Query-Hit Broadcast Query[XYZ, TTL = 1, ] 7-52/62

53 Gnutella Wrap-Up IV Requesting Servent Servent Query [ ] Query-Hit [ ] Requested Data Query-Hit [TTL = 0] no further Broadcast 7-53/62

54 Gnutella Wrap-Up V Requesting Servent Servent Query [ ] Query-Hit [ ] Requested Data Establish HTTP Connection 7-54/62

55 Gnutella Wrap-Up VI Requesting Servent Servent Query [ ] Query-Hit [ ] Requested Data HTTP Connection Get[XYZ,, ] Download Data 7-55/62

56 Discussion Disadvantages High signaling traffic, because of decentralization Modem nodes may become bottlenecks Overlay topology not optimal, as no complete view available, no coordinator If not adapted to physical structure delay and total network load increases Zigzag routes loops Advantages No single point of failure Can be adapted to physical network Can provide anonymity Can be adapted to special interest groups Application areas File-sharing Context based routing (see chapter about mobility) Systems Freenet, Gnutella, Gnunet 7-56/62

57 History Unstructured P2P Networks Overlay Network Characteristics Network Types Central P2P: Napster Pure P2P: Gnutella 0.4 Hybrid P2P: Gnutella Basic Characteristics 2. Signaling Characteristics 3. Discussion 7-57/62

58 Definition of Hybrid P2P Main characteristic, compared to pure P2P: Introduction of another dynamic hierarchical layer Hub based network Reduces the signaling load without reducing the reliability Election process to select and assign Superpeers Superpeers: high degree (degree>>20, depending on network size) Leafnodes: connected to one or more Superpeers (degree<7) leafnode Superpeer 7-58/62

59 Model of Hybrid P2P Networks Degree distribution: According sample graph: ( ) p d -1.4 c d, 1 d c , d = 1 p ( d ) = =, with c c 0.05, d= 20 d c 0, in any other case average : d = 2.8 var ( d) = Separate sub networks Major component leafnode Hub connections (2nd hierarchy) Superpeer 7-59/62

60 Basic Characteristics of Hybrid P2P Bootstrapping: Routing: Via bootstrap-server (host list from a web server) Via peer-cache (from previous sessions) Via well-known host Registration of each leafnode at the Superpeer it connects to, i.e. it announces its shared files to the Superpeer Partly decentralized Leafnodes send request to a Superpeer Superpeer distributes this request in the Superpeer layer If a Superpeer has information about a matching file shared by one of its leafnodes, it sends this information back to the requesting leafnode (backward routing) Hybrid protocol (reactive and proactive): routes to content providers are only established on demand; content announcements from leafnodes to their Superpeers Routing within Superpeer layer equal to Pure P2P Signaling connections (stable, as long as neighbors do not change): Based on TCP Keep-alive Content search Content transfer connections (temporary): Based on HTTP Out of band transmission (directly between leafnodes) 7-60/62

61 Gnutella 0.6 Network Organization New connection/network setup Upon connection to the network via a Superpeer, each node is a leafnode It announces its shared content to the Superpeer it connected to Superpeer thus updates its routing tables Election mechanism decides which node becomes a Superpeer or a leafnode (depending on capabilities (storage, processing power) network connection, the uptime of a node, ), if Too many nodes are connected to one Superpeer A Superpeer leaves the network To less nodes are connected to a Superpeer 7-61/62

62 Gnutella 0.6 Routing Content requests: Leafnode sends request to Superpeer Superpeer looks up in its routing tables whether content is offered by one of its leafnode. In this case the request is forwarded to this node. Additionally the Superpeer increases the hopcounter and forwards this request to the Superpeers it is connected to. To enable backward routing, the peer has to store the GUID of the message connected to the information from which peer it received the request in the previous hop If a Superpeer receives such a request from another Superpeer, this request is handled the same way, as if it would have received it from one of its leafnodes After the hopcounter of the request reaches the TTL-value it is not forwarded any further (prevent circles) Content responses: If a leafnode receives a request, it double-checks whether it shares the file (should be the case, as long as the routing tables of the Superpeer are correct) In case of success, the leafnode sends a content reply back to the requesting peer, by sending it back to that node (Superpeer) it received the message from (backward routing) Hop by hop the message can thus be routed back to the requesting node Content exchange: Directly between the leafnodes, via HTTP connections 7-62/62

63 Topology of Hybrid P2P , Abstract network structure of a part of the Gnutella network (222 nodes Geographical view given by Figure on the right, measured on Geographical view of a part of the Gnutella network (222 nodes); The numbers depict the node numbers from the abstract view (Figure on the left, measured on ) Virtual network not matched to physical network. See path from node 118 to node 18. Superpeer (hub) structure clearly visible in abstract view 7-63/62

64 Gnutella 0.6 Messages Content requests and responses QUERY (defined as in Gnutella 0.4) QUERY_HIT (defined as in Gnutella 0.4) Keep alive: PING (defined as in Gnutella 0.4) PONG (defined as in Gnutella 0.4) Announcement of shared content: ROUTE_TABLE_UPDATE (0x30), Reset variant (0x0): to clear the routing table and to set a new routing table for one leafnode Variant Table_Length Infinity ROUTE_TABLE_UPDATE (0x30), Patch variant(0x1): to update and set a new routing table with a certain number of entries (e.g. new shared files) n+4 Variant Seq_No Seq_Size Compressor Entry_Bits DATA 7-64/62

65 Summary of the Signaling in Gnutella 0.6 Sample Gnutella 0.6 network: S3 L7 L6 Sample message sequence chart according to the sample network: L1 L2 S1 L3 S2 L4 4 L2 L3 L1 S1 S3 S2 L7 Gnu-Con OK RTU PING PONG PONG PONG PING PONG PING PONG L5 PING L6 L5 L4 QUERY QUERY QUERY QUERY QUERY QUHIT QUERY QUERY QUHIT QUHIT QUHIT QUHIT QUHIT QUHIT QUHIT 7-65/62

66 Gnutella 0.6: How Does It Work I Ultrapeer Leafnode 7-66/62

67 Gnutella 0.6: How Does It Work II Ultrapeer Leafnode 7-67/62

68 Gnutella 0.6: How Does It Work III Ultrapeer Leafnode 7-68/62

69 Gnutella 0.6: How Does It Work III Ultrapeer Leafnode 7-69/62

70 Gnutella 0.6: How Does It Work IV Ultrapeer Leafnode 7-70/62

71 Gnutella 0.6: How Does It Work V Ultrapeer Leafnode 7-71/62

72 Disadvantages Discussion Still High signaling traffic, because of decentralization No definitive statement possible if content is not available or not found Overlay topology not optimal, as no complete view available, no coordinator If not adapted to physical structure delay and total network load increases Zigzag routes Loops Advantages Difficult to adapt to physical network completely because of hub structure No single point of failure Can provide anonymity Can be adapted to special interest groups Application areas Systems File-sharing Context based routing (see chapter about mobility) Gnutella, edonkey, Kazaa 7-72/62

73 Topology combinations Each approach comes with a different set of advantages/disadvantages Suitability depends on application context Combination of approaches Use different techniques for different application aspects Example: Skype Centralized P2P for Login/Account Mgmt. o Routed by super-nodes if necessary Attempts to establish direct Voice over IP connections Hybrid P2P to route through firewall, between NATs, etc. Figure from Salman A. Baset and Henning G. Schulzrinne: An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol, INFOCOM /62

74 1 st and 2 nd Generations of P2P Client-Server Peer-to-Peer 1. Server is the central entity and only provider of service and content. Network managed by the Server 2. Server as the higher performance system. 3. Clients as the lower performance system Example: WWW 1. Resources are shared between the peers 2. Resources can be accessed directly from other peers 3. Peer is provider and requestor (Servent concept) Unstructured P2P Structured P2P Centralized P2P Pure P2P Hybrid P2P Pure P2P Hybrid P2P 1. All features of Peer-to- Peer included 2. Central entity is necessary to provide the service 3. Central entity is some kind of index/group database Example: Napster 1. All features of Peer-to- Peer included 2. Any terminal entity can be removed without loss of functionality 3. No central entities Examples: Gnutella 0.4, Freenet 1. All features of Peer-to- Peer included 2. Any terminal entity can be removed without loss of functionality 3. dynamic central entities Example: Gnutella 0.6, JXTA 1 st Gen. 2 nd Gen. 7-74/62

75 Outlook Structured Networks Distributed Hash Table (DHT) Basics DHT Algorithms DHT Dynamics File Distribution Networks 7-75/62

Content Search. Unstructured P2P. Jukka K. Nurminen

Content Search. Unstructured P2P. Jukka K. Nurminen Content Search Unstructured P2P Jukka K. Nurminen *Partly adapted from original slides provided by Rüdiger Schollmeier and Jörg Eberspächer (Technische Universität München) 1 V1-Filename.ppt / yyyy-mm-dd

More information

Unit background and administrivia. Foundations of Peer-to- Peer Applications & Systems

Unit background and administrivia. Foundations of Peer-to- Peer Applications & Systems A Course on Foundations of Peer-to-Peer Systems & Applications CS 6/75995 Foundation of Peer-to-Peer Applications & Systems Kent State University Dept. of Computer Science www.cs.kent.edu/~javed/class-p2p08/

More information

Content Search. Unstructured P2P

Content Search. Unstructured P2P Content Search Unstructured P2P Prof. Jukka K. Nurminen Data Communications Software (DCS) Lab, Department of Computer Science and Engineering, Aalto University *Partly adapted from original slides provided

More information

Introduction to Peer-to-Peer Networks

Introduction to Peer-to-Peer Networks Introduction to Peer-to-Peer Networks The Story of Peer-to-Peer The Nature of Peer-to-Peer: Generals & Paradigms Unstructured Peer-to-Peer Systems Sample Applications 1 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

More information

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems

Advanced Distributed Systems. Peer to peer systems. Reference. Reference. What is P2P? Unstructured P2P Systems Structured P2P Systems Advanced Distributed Systems Peer to peer systems Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ AdvancedDistributedSystems/ What is P2P Unstructured P2P Systems

More information

Telematics Chapter 9: Peer-to-Peer Networks

Telematics Chapter 9: Peer-to-Peer Networks Telematics Chapter 9: Peer-to-Peer Networks Beispielbild User watching video clip Server with video clips Application Layer Presentation Layer Application Layer Presentation Layer Session Layer Session

More information

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview:

Lecture 21 P2P. Napster. Centralized Index. Napster. Gnutella. Peer-to-Peer Model March 16, Overview: PP Lecture 1 Peer-to-Peer Model March 16, 005 Overview: centralized database: Napster query flooding: Gnutella intelligent query flooding: KaZaA swarming: BitTorrent unstructured overlay routing: Freenet

More information

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks Prof. Sasu Tarkoma 19.1.2015 Contents Unstructured networks Last week Napster Skype This week: Gnutella BitTorrent P2P Index It is crucial to be able to find

More information

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks Prof. Sasu Tarkoma 20.1.2014 Contents P2P index revisited Unstructured networks Gnutella Bloom filters BitTorrent Freenet Summary of unstructured networks

More information

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen

Overlay and P2P Networks. Unstructured networks. PhD. Samu Varjonen Overlay and P2P Networks Unstructured networks PhD. Samu Varjonen 25.1.2016 Contents Unstructured networks Last week Napster Skype This week: Gnutella BitTorrent P2P Index It is crucial to be able to find

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks P2P Systems Jianping Pan Summer 2007 5/30/07 csc485b/586b/seng480b 1 C/S vs P2P Client-server server is well-known server may become a bottleneck Peer-to-peer everyone is a (potential)

More information

Scalable overlay Networks

Scalable overlay Networks overlay Networks Dr. Samu Varjonen 1 Lectures MO 15.01. C122 Introduction. Exercises. Motivation. TH 18.01. DK117 Unstructured networks I MO 22.01. C122 Unstructured networks II TH 25.01. DK117 Bittorrent

More information

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing Department of Computer Science Institute for System Architecture, Chair for Computer Networks File Sharing What is file sharing? File sharing is the practice of making files available for other users to

More information

Unit 8 Peer-to-Peer Networking

Unit 8 Peer-to-Peer Networking Unit 8 Peer-to-Peer Networking P2P Systems Use the vast resources of machines at the edge of the Internet to build a network that allows resource sharing without any central authority. Client/Server System

More information

Peer-to-Peer Internet Applications: A Review

Peer-to-Peer Internet Applications: A Review Peer-to-Peer Internet Applications: A Review Davide Quaglia 01/14/10 Introduction Key points Lookup task Outline Centralized (Napster) Query flooding (Gnutella) Distributed Hash Table (Chord) Simulation

More information

Peer-to-Peer Architectures and Signaling. Agenda

Peer-to-Peer Architectures and Signaling. Agenda Peer-to-Peer Architectures and Signaling Juuso Lehtinen Juuso@netlab.hut.fi Slides based on presentation by Marcin Matuszewski in 2005 Introduction P2P architectures Skype Mobile P2P Summary Agenda 1 Introduction

More information

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9 Peer-to-Peer Networks -: Computer Networking L-: PP Typically each member stores/provides access to content Has quickly grown in popularity Bulk of traffic from/to CMU is Kazaa! Basically a replication

More information

Peer-to-Peer Networks

Peer-to-Peer Networks Peer-to-Peer Networks 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Quiz #1 is next week

More information

Introduction to P2P Computing

Introduction to P2P Computing Introduction to P2P Computing Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction A. Peer-to-Peer vs. Client/Server B. Overlay Networks 2. Common Topologies 3. Data Location 4. Gnutella

More information

Peer-to-Peer Systems. Winter semester 2014 Jun.-Prof. Dr.-Ing. Kalman Graffi Heinrich Heine University Düsseldorf

Peer-to-Peer Systems. Winter semester 2014 Jun.-Prof. Dr.-Ing. Kalman Graffi Heinrich Heine University Düsseldorf Peer-to-Peer Systems Winter semester 2014 Jun.-Prof. Dr.-Ing. Kalman Graffi Heinrich Heine University Düsseldorf Peer-to-Peer Systems - Chapter 2 Unstructured P2P Overlays Main Search Principles Centralized

More information

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications Introduction to Computer Networks Lecture30 Today s lecture Peer to peer applications Napster Gnutella KaZaA Chord What is P2P? Significant autonomy from central servers Exploits resources at the edges

More information

Chapter 2: Application layer

Chapter 2: Application layer Chapter 2: Application layer 2. Principles of network applications app architectures app requirements 2.2 Web and HTTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming

More information

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

Internet Protocol Stack! Principles of Network Applications! Some Network Apps (and Their Protocols)! Application-Layer Protocols! Our goals:! Internet Protocol Stack! Principles of Network Applications! application: supporting network applications!! HTTP,, FTP, etc.! transport: endhost-endhost data transfer!! TCP, UDP! network: routing of datagrams

More information

CMSC 332 Computer Networks P2P and Sockets

CMSC 332 Computer Networks P2P and Sockets CMSC 332 Computer Networks P2P and Sockets Professor Szajda Announcements Programming Assignment 1 is due Thursday Where are we? What sorts of problems are we having? 2 Recap SMTP is the language that

More information

Peer-to-Peer (P2P) Systems

Peer-to-Peer (P2P) Systems Peer-to-Peer (P2P) Systems What Does Peer-to-Peer Mean? A generic name for systems in which peers communicate directly and not through a server Characteristics: decentralized self-organizing distributed

More information

A Survey of Peer-to-Peer Content Distribution Technologies

A Survey of Peer-to-Peer Content Distribution Technologies A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004 Presenter: Seung-hwan Baek Ja-eun Choi Outline Overview

More information

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q

Overlay networks. To do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. Turtles all the way down. q q q Overlay networks To do q q q Overlay networks P2P evolution DHTs in general, Chord and Kademlia Turtles all the way down Overlay networks virtual networks Different applications with a wide range of needs

More information

CS 3516: Advanced Computer Networks

CS 3516: Advanced Computer Networks Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook

More information

Telecommunication Services Engineering Lab. Roch H. Glitho

Telecommunication Services Engineering Lab. Roch H. Glitho 1 Support Infrastructure Support infrastructure for application layer Why? Re-usability across application layer protocols Modularity (i.e. separation between application layer protocol specification /

More information

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example

Overlay networks. Today. l Overlays networks l P2P evolution l Pastry as a routing overlay example Overlay networks Today l Overlays networks l P2P evolution l Pastry as a routing overlay eample Network virtualization and overlays " Different applications with a range of demands/needs network virtualization

More information

Peer-peer and Application-level Networking. CS 218 Fall 2003

Peer-peer and Application-level Networking. CS 218 Fall 2003 Peer-peer and Application-level Networking CS 218 Fall 2003 Multicast Overlays P2P applications Napster, Gnutella, Robust Overlay Networks Distributed Hash Tables (DHT) Chord CAN Much of this material

More information

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Page 1. How Did it Start? Model Main Challenge CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks How Did it Start?" CS162 Operating Systems and Systems Programming Lecture 24 Peer-to-Peer Networks" A killer application: Napster (1999) Free music over the Internet Key idea: share the storage and bandwidth

More information

EE 122: Peer-to-Peer Networks

EE 122: Peer-to-Peer Networks EE 122: Peer-to-Peer Networks Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer

More information

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today Network Science: Peer-to-Peer Systems Ozalp Babaoglu Dipartimento di Informatica Scienza e Ingegneria Università di Bologna www.cs.unibo.it/babaoglu/ Introduction Peer-to-peer (PP) systems have become

More information

Peer-to-Peer Signalling. Agenda

Peer-to-Peer Signalling. Agenda Peer-to-Peer Signalling Marcin Matuszewski marcin@netlab.hut.fi S-38.115 Signalling Protocols Introduction P2P architectures Skype Mobile P2P Summary Agenda 1 Introduction Peer-to-Peer (P2P) is a communications

More information

P2P Computing. Nobuo Kawaguchi. Graduate School of Engineering Nagoya University. In this lecture series. Wireless Location Technologies

P2P Computing. Nobuo Kawaguchi. Graduate School of Engineering Nagoya University. In this lecture series. Wireless Location Technologies P2P Computing Nobuo Kawaguchi Graduate School of Engineering Nagoya University 1 In this lecture series Wireless Location Technologies Location Information Processing P2P Computing(Today) Plug and Play

More information

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics

12/5/16. Peer to Peer Systems. Peer-to-peer - definitions. Client-Server vs. Peer-to-peer. P2P use case file sharing. Topics // Topics Peer to Peer Systems Introduction Client-server vs peer to peer Peer-to-peer networks Routing Overlays Structured vs unstructured Example PP Systems Skype login server Peer-to-peer - definitions

More information

ENSC 835: HIGH-PERFORMANCE NETWORKS CMPT 885: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS. Scalability and Robustness of the Gnutella Protocol

ENSC 835: HIGH-PERFORMANCE NETWORKS CMPT 885: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS. Scalability and Robustness of the Gnutella Protocol ENSC 835: HIGH-PERFORMANCE NETWORKS CMPT 885: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS Scalability and Robustness of the Gnutella Protocol Spring 2006 Final course project report Eman Elghoneimy http://www.sfu.ca/~eelghone

More information

Introduction to Peer-to-Peer Systems

Introduction to Peer-to-Peer Systems Introduction Introduction to Peer-to-Peer Systems Peer-to-peer (PP) systems have become extremely popular and contribute to vast amounts of Internet traffic PP basic definition: A PP system is a distributed

More information

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) The Architectures of st and nd Gen. PP Client-Server Peer-to-Peer.

More information

Peer-to-Peer Systems. Chapter General Characteristics

Peer-to-Peer Systems. Chapter General Characteristics Chapter 2 Peer-to-Peer Systems Abstract In this chapter, a basic overview is given of P2P systems, architectures, and search strategies in P2P systems. More specific concepts that are outlined include

More information

Distributed Hash Tables (DHT)

Distributed Hash Tables (DHT) Distributed Hash Tables (DHT) Jukka K. Nurminen Aalto University *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) The Architectures of st and nd Gen. PP Client-Server

More information

Peer-to-Peer Protocols and Systems. TA: David Murray Spring /19/2006

Peer-to-Peer Protocols and Systems. TA: David Murray Spring /19/2006 Peer-to-Peer Protocols and Systems TA: David Murray 15-441 Spring 2006 4/19/2006 P2P - Outline What is P2P? P2P System Types 1) File-sharing 2) File distribution 3) Streaming Uses & Challenges 2 Problem:

More information

6 Structured P2P Networks

6 Structured P2P Networks 6 Structured P2P Networks Distributed Data Management Wolf-Tilo Balke Christoph Lofi Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 6.1 Hash Tables 6.3

More information

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma Overlay and P2P Networks Introduction and unstructured networks Prof. Sasu Tarkoma 14.1.2013 Contents Overlay networks and intro to networking Unstructured networks Overlay Networks An overlay network

More information

Peer to Peer Networking, the security perspective Eric Vyncke Cisco Systems Distinguished Engineer

Peer to Peer Networking, the security perspective Eric Vyncke Cisco Systems Distinguished Engineer Peer to Peer Networking, the security perspective Eric Vyncke Cisco Systems Distinguished Engineer evyncke@cisco.com 2002, Cisco Systems, Inc. All rights reserved. 1 Agenda Introduction to peer to peer

More information

Introduction to P P Networks

Introduction to P P Networks Introduction to P P Networks B Sc Florian Adamsky florianadamsky@iemthmde http://florianadamskyit/ cbd Internet Protocols and Applications SS B Sc Florian Adamsky IPA / Outline Introduction What is P P?

More information

Peer-to-Peer Applications Reading: 9.4

Peer-to-Peer Applications Reading: 9.4 Peer-to-Peer Applications Reading: 9.4 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides are obtained from other sources,

More information

Using peer to peer. Marco Danelutto Dept. Computer Science University of Pisa

Using peer to peer. Marco Danelutto Dept. Computer Science University of Pisa Using peer to peer Marco Danelutto Dept. Computer Science University of Pisa Master Degree (Laurea Magistrale) in Computer Science and Networking Academic Year 2009-2010 Rationale Two common paradigms

More information

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) Distributed Hash Tables (DHT) Jukka K. Nurminen *Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen) The Architectures of st and nd Gen. PP Client-Server Peer-to-Peer.

More information

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley

More information

Distributed Data Management. Profr. Dr. Wolf-Tilo Balke Institut für Informationssysteme Technische Universität Braunschweig

Distributed Data Management. Profr. Dr. Wolf-Tilo Balke Institut für Informationssysteme Technische Universität Braunschweig Distributed Data Management Profr. Dr. Wolf-Tilo Balke Institut für Informationssysteme Technische Universität Braunschweig 6 Structured P2P Networks 6.1 Hash Tables 6.2 Distributed Hash Tables 6.3 CHORD

More information

Making Gnutella-like P2P Systems Scalable

Making Gnutella-like P2P Systems Scalable Making Gnutella-like P2P Systems Scalable Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, S. Shenker Presented by: Herman Li Mar 2, 2005 Outline What are peer-to-peer (P2P) systems? Early P2P systems

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [P2P SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Byzantine failures vs malicious nodes

More information

Assignment 5. Georgia Koloniari

Assignment 5. Georgia Koloniari Assignment 5 Georgia Koloniari 2. "Peer-to-Peer Computing" 1. What is the definition of a p2p system given by the authors in sec 1? Compare it with at least one of the definitions surveyed in the last

More information

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals. Overlay Networks: Motivations CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University

More information

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger

Middleware and Distributed Systems. Peer-to-Peer Systems. Peter Tröger Middleware and Distributed Systems Peer-to-Peer Systems Peter Tröger Peer-to-Peer Systems (P2P) Concept of a decentralized large-scale distributed system Large number of networked computers (peers) Each

More information

Introduction on Peer to Peer systems

Introduction on Peer to Peer systems Introduction on Peer to Peer systems Georges Da Costa dacosta@irit.fr dacosta@irit.fr 1/55 Goal of this Lecture What can P2P do, not only as a buzzword What it can't do Shows some examples & algorithms

More information

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli P2P Applications Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Canale A-L Prof.ssa Chiara Petrioli Server-based Network Peer-to-peer networks A type of network

More information

L3S Research Center, University of Hannover

L3S Research Center, University of Hannover , University of Hannover Structured Peer-to to-peer Networks Wolf-Tilo Balke and Wolf Siberski 3..6 *Original slides provided by K. Wehrle, S. Götz, S. Rieche (University of Tübingen) Peer-to-Peer Systems

More information

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1

Last Lecture SMTP. SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1 Last Lecture SMTP SUNY at Buffalo; CSE 489/589 Modern Networking Concepts; Fall 2010; Instructor: Hung Q. Ngo 1 This Lecture Peer-to-Peer (P2P) Applications SUNY at Buffalo; CSE 489/589 Modern Networking

More information

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza

P2P Applications. Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza P2P Applications Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Versione originale delle slides fornita da Dora Spenza e Marco Barbera P2P Paradigm Late 80

More information

Early Measurements of a Cluster-based Architecture for P2P Systems

Early Measurements of a Cluster-based Architecture for P2P Systems Early Measurements of a Cluster-based Architecture for P2P Systems Balachander Krishnamurthy, Jia Wang, Yinglian Xie I. INTRODUCTION Peer-to-peer applications such as Napster [4], Freenet [1], and Gnutella

More information

Decentralized supplementary services for Voice-over-IP telephony

Decentralized supplementary services for Voice-over-IP telephony Decentralized supplementary services for Voice-over-IP telephony Christoph Spleiß and Gerald Kunzmann Technische Universität München 80333 Munich, Germany {christoph.spleiss,gerald.kunzmann}@tum.de Abstract.

More information

Peer-to-peer systems and overlay networks

Peer-to-peer systems and overlay networks Complex Adaptive Systems C.d.L. Informatica Università di Bologna Peer-to-peer systems and overlay networks Fabio Picconi Dipartimento di Scienze dell Informazione 1 Outline Introduction to P2P systems

More information

Scaling Problem Millions of clients! server and network meltdown. Peer-to-Peer. P2P System Why p2p?

Scaling Problem Millions of clients! server and network meltdown. Peer-to-Peer. P2P System Why p2p? Scaling Problem Millions of clients! server and network meltdown Peer-to-Peer 15-441 2 P2P System Why p2p? Leverage the resources of client machines (peers) Computation, storage, bandwidth Scaling: Create

More information

Scaling Problem Millions of clients! server and network meltdown. Peer-to-Peer. P2P System Why p2p?

Scaling Problem Millions of clients! server and network meltdown. Peer-to-Peer. P2P System Why p2p? Peer-to-Peer Scaling Problem Millions of clients! server and network meltdown 15-441 2 P2P System Why p2p? Leverage the resources of client machines (peers) Computation, storage, bandwidth 3 Scaling: Create

More information

Peer to Peer Systems and Probabilistic Protocols

Peer to Peer Systems and Probabilistic Protocols Distributed Systems 600.437 Peer to Peer Systems & Probabilistic Protocols Department of Computer Science The Johns Hopkins University 1 Peer to Peer Systems and Probabilistic Protocols Lecture 11 Good

More information

CSE 486/586 Distributed Systems Peer-to-Peer Architectures

CSE 486/586 Distributed Systems Peer-to-Peer Architectures CSE 486/586 Distributed Systems eer-to-eer Architectures Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Last Time Gossiping Multicast Failure detection Today s Question How

More information

Architectures for Distributed Systems

Architectures for Distributed Systems Distributed Systems and Middleware 2013 2: Architectures Architectures for Distributed Systems Components A distributed system consists of components Each component has well-defined interface, can be replaced

More information

Distributed Knowledge Organization and Peer-to-Peer Networks

Distributed Knowledge Organization and Peer-to-Peer Networks Knowledge Organization and Peer-to-Peer Networks Klaus Wehrle Group Chair of Computer Science IV RWTH Aachen University http://ds.cs.rwth-aachen.de 1 Organization of Information Essential challenge in?

More information

6. Peer-to-peer (P2P) networks I.

6. Peer-to-peer (P2P) networks I. 6. Peer-to-peer (P2P) networks I. PA159: Net-Centric Computing I. Eva Hladká Faculty of Informatics Masaryk University Autumn 2010 Eva Hladká (FI MU) 6. P2P networks I. Autumn 2010 1 / 46 Lecture Overview

More information

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Overview 5-44 5-44 Computer Networking 5-64 Lecture 6: Delivering Content: Peer to Peer and CDNs Peter Steenkiste Web Consistent hashing Peer-to-peer Motivation Architectures Discussion CDN Video Fall

More information

Peer to Peer Computing

Peer to Peer Computing Peer to Peer Computing These slides are based on the slides made available by the authors of Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,

More information

Scaling Problem Computer Networking. Lecture 23: Peer-Peer Systems. Fall P2P System. Why p2p?

Scaling Problem Computer Networking. Lecture 23: Peer-Peer Systems. Fall P2P System. Why p2p? Scaling Problem 15-441 Computer Networking Millions of clients server and network meltdown Lecture 23: Peer-Peer Systems Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 2 P2P System Why p2p?

More information

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching

Web caches (proxy server) Applications (part 3) Applications (part 3) Caching example (1) More about Web caching By the end of this lecture, you should be able to. Explain the idea of edge delivery Explain the operation of CDNs Explain the operation of P2P file sharing systems such as Napster and Gnutella Web caches

More information

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 06. Exam 1 Review Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 Question 1 Defend or contradict this statement: for maximum efficiency, at

More information

First and Second Generation Peer to Peer Networks

First and Second Generation Peer to Peer Networks First and Second Generation Peer to Peer Networks and Department of Computer Science Indian Institute of Technology New Delhi, India Outline 1 2 Overview Details 3 History of The mp3 format was the first

More information

Overview Computer Networking Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste

Overview Computer Networking Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste Overview 15-441 15-441 Computer Networking 15-641 Lecture 17: Delivering Content Peer to Peer Examples Peter Steenkiste Fall 2014 www.cs.cmu.edu/~prs/15-441-f14 Web Consistent hashing Peer-to-peer Motivation

More information

Internet Services & Protocols

Internet Services & Protocols Department of Computer Science Institute for System Architecture, Chair for Computer Networks Internet Services & Protocols Content Distribution Dr.-Ing. Stephan Groß Room: INF 3099 E-Mail: stephan.gross@tu-dresden.de

More information

Peer to Peer Networks

Peer to Peer Networks Sungkyunkwan University Peer to Peer Networks Prepared by T. Le-Duc and H. Choo Copyright 2000-2017 Networking Laboratory Presentation Outline 2.1 Introduction 2.2 Client-Server Paradigm 2.3 Peer-To-Peer

More information

From POTS to VoP2P: Step 1. P2P Voice Applications. Renato Lo Cigno

From POTS to VoP2P: Step 1. P2P Voice Applications. Renato Lo Cigno Advanced Networking P2P Voice Applications Renato Lo Cigno Credits for part of the original material to Saverio Niccolini NEC Heidelberg The Client/Server model in conversationsl communications User-plan

More information

A Resource Exchange Architecture for Peer-to-Peer File Sharing Applications

A Resource Exchange Architecture for Peer-to-Peer File Sharing Applications The Computer Journal Vol. 48 No. 1 The British Computer Society 2005; all rights reserved DOI:10.1093/comjnl/bxh055 A Resource Exchange Architecture for -to- File Sharing Applications Chung-Ming Huang

More information

Lecture 8: Application Layer P2P Applications and DHTs

Lecture 8: Application Layer P2P Applications and DHTs Lecture 8: Application Layer P2P Applications and DHTs COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

15-744: Computer Networking P2P/DHT

15-744: Computer Networking P2P/DHT 15-744: Computer Networking P2P/DHT Overview P2P Lookup Overview Centralized/Flooded Lookups Routed Lookups Chord Comparison of DHTs 2 Peer-to-Peer Networks Typically each member stores/provides access

More information

internet technologies and standards

internet technologies and standards Institute of Telecommunications Warsaw University of Technology 25 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Internet application layer peer-to-peer systems overview

More information

Napster: More Dissected

Napster: More Dissected Napster: More Dissected LECT-03, S-34 Meta Server Normally, when starting up, nap downloads a list of available servers from a meta-server such as http://www.gotnap.com/servers.txt. This list will be stored

More information

Broadcast Updates with Local Look-up Search (BULLS): A New Peer-to-Peer Protocol

Broadcast Updates with Local Look-up Search (BULLS): A New Peer-to-Peer Protocol Broadcast Updates with Local Look-up Search (BULLS): A New Peer-to-Peer Protocol G. Perera and K. Christensen Department of Computer Science and Engineering University of South Florida Tampa, FL 33620

More information

Internet Technology 3/2/2016

Internet Technology 3/2/2016 Question 1 Defend or contradict this statement: for maximum efficiency, at the expense of reliability, an application should bypass TCP or UDP and use IP directly for communication. Internet Technology

More information

Peer-to-peer systems

Peer-to-peer systems Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Peer-to-peer systems Netzprogrammierung (lgorithmen und Programmierung V) Where are we on our topic map? Descriptive

More information

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems

P2P. 1 Introduction. 2 Napster. Alex S. 2.1 Client/Server. 2.2 Problems P2P Alex S. 1 Introduction The systems we will examine are known as Peer-To-Peer, or P2P systems, meaning that in the network, the primary mode of communication is between equally capable peers. Basically

More information

Overlay networks. T o do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. q q q. Turtles all the way down

Overlay networks. T o do. Overlay networks. P2P evolution DHTs in general, Chord and Kademlia. q q q. Turtles all the way down Overlay networks T o do q q q Overlay networks P2P evolution DHTs in general, Chord and Kademlia Turtles all the way down Overlay networks virtual networks Different applications with a wide range of needs

More information

Peer-to-Peer Computing

Peer-to-Peer Computing Peer-to-Peer Computing Overview Ruixuan Li College of Computer Science, HUST rxli@public.wh.hb.cn http://idc.hust.edu.cn/~rxli/ Outline What is Peer-to-Peer Computing P2P System Taxonomy P2P Topologies

More information

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 17. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2016 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

Overlay and P2P Networks. Unstructured networks I. Prof. Sasu Tarkoma

Overlay and P2P Networks. Unstructured networks I. Prof. Sasu Tarkoma Overlay and P2P Networks Unstructured networks I Prof. Sasu Tarkoma 16.1.2015 Contents Terminology and overlays continued Unstructured networks Today Napster Skype Next week: Gnutella BitTorrent Freenet

More information

Today. Architectural Styles

Today. Architectural Styles Today Architectures for distributed systems (Chapter 2) Centralized, decentralized, hybrid Middleware Self-managing systems Lecture 2, page 1 Architectural Styles Important styles of architecture for distributed

More information

CMSC 322 Computer Networks Applications and End-To- End

CMSC 322 Computer Networks Applications and End-To- End CMSC 322 Computer Networks Applications and End-To- End Professor Doug Szajda CMSC 332: Computer Networks Announcements Project 2 has been posted and is due Monday, February 8 (No extension!) Homework

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P?

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P? Peer-to-Peer Data Management - Part 1- Alex Coman acoman@cs.ualberta.ca Addressed Issue [1] Placement and retrieval of data [2] Server architectures for hybrid P2P [3] Improve search in pure P2P systems

More information