Peer-to-Peer systemer Bakgrunn Oversikt Taksonomi Applikasjonsområder Modeller Mats Thoresens diplom 2003 1 2 Hva er Peer-to-Peer? Peer node i et nettverk Noder i en arkitektur kommuniserer og deler ressurser og tjenester Direkte interaksjon Prosessering, nettverkskapasitet, lagring Peer = lik Definisjon P2P En Peer er både en klient og tjener Adresseringssystem uavhengig av lokasjon (uavh. av DNS) Variabel nettverksmengde Direkte kommunikasjon mellom nodene Nyttiggjør ressurser på kanten av Internet 3 4 Overlay Networks Historikk Tildekket nettverk på applikasjonsnivå Et virtuelt lag, med egne rutingmekanismer Kommuniserer gjennom virtuelle linker, tunneler og rør ARPANET, 1969 -> Peer-to-Peer Mosaic, WWW, 1994 -> Klient/Tjener Klienter med lite ressurser E-mail, web-browsing Laste opp hjemmesider til 3.part Variert båndbredde År 2000 Overskudd av ressurser på kanten av Internet Større båndbredde 5 6 1
Nettverkssystemer Ren P2P Sentraliserte systemer Distribuerte systemer Klient/Tjener Flat Hierarkisk P2P Ren Hybrid Alle noder samme ansvar, ingen sentrale enheter Ufordringer: hvordan lokalisere ressurser og rute beskjeder Forslag: distribuerte hash-tabeller Nodene kan struktureres vha. direkte eller indirekte kommunikasjon 7 8 Direkte kommunikasjon Strukturert indirekte kommunikasjon Alle nodene kommuniserer direkte med hverandre Alle vet om hverandre - > ikke skalerbar Trenger ikke vite om alle andre noder Hver node har kunnskap om nabonoder Direkte kommunikasjon oppstår etter oppslag hos nabonode 9 10 Ustrukturert indirekte kommunikasjon Hybrid P2P Nettverk Alltid minst en sentral entitet Ikke en vanlig server Benyttes kun for å finne ønsket node Centralized Index Server Oppslag på adresse, Singel point of failure 11 12 2
Computational Model Without Autonomy Sentral enhet styrer distribusjonen av data mellom nodene P2P av historiske årsaker Computational Model With Autonomy Selvstyre. Kan benytte både server og andre noder til å distribuere data Klient / Tjener Nettverk Noder tilbyr ikke tjenester Noder deler ikke på ressurser Hvis Tjener går ned.. 13 14 Oppsummering Bruksområder Klient / Tjener 1. En sentral tjener er eneste tilbyder av tjenester og data. Nettverket styres av tjeneren. 2. Tjeneren system med høy ytelse 3. Klient system med lav ytelse 1. Ressurser deles mellom noder 2. Noder har fri adgang direkte til andre noder og deres ressurser 3. En node er både klient og tjener Hybrid P2P 1. Sentral enhet nødvendig for å skaffe tjenester 2. indeks/katalog server Peer-to-Peer Ren P2P 1. En node kan forsvinne uten tap av funksjonalitet 2. Ingen sentrale enheter tillatt Fildeling Noder deler lagringsplass, båndbredde Napster, sentralisert indekskatalog, ustrukturert indirekte kommunikasjon Samarbeid Sentral server som lagrer lokasjon og mottar beskjed på på/avlogging, chat, spill Doom, ikke veldig skalerbart Distribuert arbeidsområde Distribuert beregning Utnytter ubrukte ressurser hos nodene En sentral server splitter opp en stor oppgave Knekking av koder 15 16 Ruting og lokalisering av ressurser Central Directory Napster Flood Request Skalerbarhet til et P2P nettverk Antall hopp en beskjed trenger fra kilde til destinasjon (i overlay) Antall naboer som en node må informere dvs. antall noder den vet om Document Routing 17 18 3
Centralized Directory Model Napster Sentral katalogserver(e) som har informasjon om alle noder Begrensninger på skalerbarhet AOL Instant Messenger, ICQ Napster, fildeling Join Departure Publisering av filer Søk etter filer Omgå brannmur 19 20 Flooded Request Model Fordeler Effektivt søk, hopp = O(1), ikke naboinformasjon, join/departure lett Ulemper Skalerbarhet, single point of failure Ren P2P arkitektur Ingen sentral server, ustrukturert Kringkasting inntil maks antall hopp 21 22 Desentralisert søkeprotokoll LimeWire, Morpheus Join Må vite en online node Departure "!# $&%')(* ',+-*'./01*'.2. *. $&34*-+). *65758* /+&* 1 9:0;'4.0;1 1 <= '*:>? /@ 2 ')A* 1 +&* / B # C $&3/? 0)AD&0)+-.2 ')( $&%E)E)*+;2 EE&* / < > <./*)> > $&F <HG 07E)I '')+-E)0 =?5J*;'? '1 2 '4*7')?A* 23 24 4
Document Routing Model Unngå svakhetene ved Napster(Singel point of failure) og (Flood Request) Strukturere ressurser men distrubuert Distribuerte Hash Tabeller Chord, CAN, Tapestry, Pastry 25 5