filesharing-systeme napster, freenet, gnutella, kazaa seminarvortrag von stefan weinbrenner, 747094

30
Filesharing-Systeme Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094 Seminarvortrag von Stefan Weinbrenner, 747094

Upload: carlene-angermeier

Post on 05-Apr-2015

119 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

Filesharing-Systeme Filesharing-Systeme

Napster, Freenet, Gnutella, KaZaA Napster, Freenet, Gnutella, KaZaA

Seminarvortrag von Stefan Weinbrenner, 747094Seminarvortrag von Stefan Weinbrenner, 747094

Page 2: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

EinleitungEinleitung

Was ist ein P2P-Netzwerk?Was ist ein P2P-Netzwerk?

Page 3: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

Gegenteil: Server-ClientGegenteil: Server-Client

• Server: bieten möglichst dauerhaft verfügbar einen Dienst (z.B. Server: bieten möglichst dauerhaft verfügbar einen Dienst (z.B. Bereitstellung von Daten) anBereitstellung von Daten) anClients: verbinden sich bei Bedarf nach diesem Dienst mit den Clients: verbinden sich bei Bedarf nach diesem Dienst mit den ServernServern

• Kommunikation: nur „Client zu Server“ oder „Server zu Client“ Kommunikation: nur „Client zu Server“ oder „Server zu Client“ (normalerweise) (normalerweise)

• Beispiel: WWW, MailBeispiel: WWW, Mail

Nachteile: hohe Anfälligkeit (Single Point of Failure); ungleiche Nachteile: hohe Anfälligkeit (Single Point of Failure); ungleiche Netzlast, da Traffic bei Server wesentlich höherNetzlast, da Traffic bei Server wesentlich höher

Page 4: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

P2P-NetzwerkP2P-Netzwerk

• Peers: bieten Dienste an und nehmen welche in Anspruch Peers: bieten Dienste an und nehmen welche in Anspruch (Server und Client in einem)(Server und Client in einem)

• Aufgabe: Speicherung und Bereitstellung von großen Aufgabe: Speicherung und Bereitstellung von großen Datenmengen, verteilt auf alle TeilnehmerDatenmengen, verteilt auf alle Teilnehmer

• Hohe Dynamik: Hohe Dynamik:

– häufig wechselnde Peershäufig wechselnde Peers

– wenig dauerhaft verfügbare Datenquellenwenig dauerhaft verfügbare Datenquellen

– hohe Heterogenität (Netzanbindung, Latenzzeiten, hohe Heterogenität (Netzanbindung, Latenzzeiten, Datenbestand, Onlinezeit)Datenbestand, Onlinezeit)

Page 5: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

P2P-NetzwerkP2P-Netzwerk

• Vorteile: Vorteile:

– Daten liegen meist mehrmals vorDaten liegen meist mehrmals vor

– Verlust eines Peers beeinflusst wegen redundanter Verlust eines Peers beeinflusst wegen redundanter Verbindungen nicht die Integrität des NetzesVerbindungen nicht die Integrität des Netzes

– leistungsfähige Serversysteme werden nicht benötigtleistungsfähige Serversysteme werden nicht benötigt

– weniger kontrollierbar (Nachteil?)weniger kontrollierbar (Nachteil?)

Page 6: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

TypisierungTypisierung

• reine P2P-Netze: jeder Peer hat die gleichen Aufgaben reine P2P-Netze: jeder Peer hat die gleichen Aufgaben

- das "normale" Gnutelladas "normale" Gnutella

- FreenetFreenet

• hybride P2P-Netze: dedizierte Server übernehmen Aufgaben wie hybride P2P-Netze: dedizierte Server übernehmen Aufgaben wie IndizierungIndizierung

- NapsterNapster

- AudiogalaxyAudiogalaxy

• gemischte P2P-Netze: alle Peers haben zwar grundsätzlich die gemischte P2P-Netze: alle Peers haben zwar grundsätzlich die gleichen Aufgaben, aber einige (leistungsfähigere) übernehmen gleichen Aufgaben, aber einige (leistungsfähigere) übernehmen mehr davon mehr davon

- KaZaA (Super-Nodes)KaZaA (Super-Nodes)

- Gnutella (Ultrapeers)Gnutella (Ultrapeers)

Page 7: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

Die Filesharing-SystemeDie Filesharing-Systemeim Detailim Detail

Napster, Freenet, Gnutella, KaZaANapster, Freenet, Gnutella, KaZaA

Page 8: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

NapsterNapster

GeschichteGeschichte

• Mai 1999: Napster geht online und macht die P2P-Technik Mai 1999: Napster geht online und macht die P2P-Technik überhaupt populär, erstes großes P2P-Netz.überhaupt populär, erstes großes P2P-Netz.

• Dezember 1999: Napster wird von der amerikanischen Dezember 1999: Napster wird von der amerikanischen Musikindustrie (RIAA) juristisch angegriffen wegen Musikindustrie (RIAA) juristisch angegriffen wegen Urheberrechtsverletzung.Urheberrechtsverletzung.

• März 2001: Napster geht in der ursprünglichen Form offline.März 2001: Napster geht in der ursprünglichen Form offline.

Page 9: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

NapsterNapster

TypTyp

• hybrides P2P-Netz, d.h. Client-Server-Prinzip noch erkennbarhybrides P2P-Netz, d.h. Client-Server-Prinzip noch erkennbar

• zentraler Servercluster (ca. 160 Server) mit der Aufgabe die zentraler Servercluster (ca. 160 Server) mit der Aufgabe die Daten zu indizieren, Metadaten über Peers bereitzustellenDaten zu indizieren, Metadaten über Peers bereitzustellen

Suchanfrage

Datentransfer

Page 10: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

NapsterNapster

SuchmethodeSuchmethode 1.1. Connect mit einem der ServerConnect mit einem der Server

2.2. Suche in den connecteten PeersSuche in den connecteten Peers

3.3. Weiterleitung der Suche an die anderen ServerWeiterleitung der Suche an die anderen Server

Bei Fund: Direktverbindung zwischen den PeersBei Fund: Direktverbindung zwischen den Peers

Suchanfrage

Datentransfer

Page 11: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

NapsterNapster

SuchmethodeSuchmethode • Verfügbare MetadatenVerfügbare Metadaten

• BandbreiteBandbreite

• Anzahl an shared filesAnzahl an shared files

• Anzahl an Up-/DownloadsAnzahl an Up-/Downloads

• Name und Größe der shared filesName und Größe der shared files

• IP-AdresseIP-Adresse

Suchanfrage

Datentransfer

Page 12: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

NapsterNapster

FazitFazit

• war ein sehr großes P2P-Netz, aber inzwischen offlinewar ein sehr großes P2P-Netz, aber inzwischen offline

• Indizierung ermöglicht schnelles SuchenIndizierung ermöglicht schnelles Suchen

• zentraler Servercluster bedeutet single point of failure, zentraler Servercluster bedeutet single point of failure, angreifbarangreifbar

Page 13: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

GeschichteGeschichte• entwickelt von dem WinAmp-Programmierer Justin Frankel entwickelt von dem WinAmp-Programmierer Justin Frankel

(März 2000)(März 2000)

• wurde nur für "einige Hundert Benutzer" konzipiertwurde nur für "einige Hundert Benutzer" konzipiert

• Gnutella ist freie Software (offenes Protokoll), keine Firma Gnutella ist freie Software (offenes Protokoll), keine Firma steht dahinter, kann also nicht wie Napster juristisch verfolgt steht dahinter, kann also nicht wie Napster juristisch verfolgt werdenwerden

• galt daher schon früh als Alternative zu Napstergalt daher schon früh als Alternative zu Napster

• „„Gnutella“ ist eine Verbindung aus GNU und Nutella, dem Gnutella“ ist eine Verbindung aus GNU und Nutella, dem Lieblingsbrotaufstrich von J. Frankel.Lieblingsbrotaufstrich von J. Frankel.

Page 14: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

GeschichteGeschichte• AOL (Nullsoft wurde von AOL übernommen) war gegen ein AOL (Nullsoft wurde von AOL übernommen) war gegen ein

Filesharing-Programm aus dem eigenen Hause, versuchte Filesharing-Programm aus dem eigenen Hause, versuchte Verbreitung zu verhindern.Verbreitung zu verhindern.

• Die offizielle Seite wurde innerhalb 24 Stunden von AOL Die offizielle Seite wurde innerhalb 24 Stunden von AOL offline genommen.offline genommen.

• Programmierer aus aller Welt versuchten die erste Version Programmierer aus aller Welt versuchten die erste Version nachzubauen (reverse engineering).nachzubauen (reverse engineering).

• J. Frankel unterstützte dies, er wollte ursprünglich Gnutella J. Frankel unterstützte dies, er wollte ursprünglich Gnutella 1.0 als Open Source veröffentlichen.1.0 als Open Source veröffentlichen.

• Durch beabsichtigte Indiskretion kamen die genauen Durch beabsichtigte Indiskretion kamen die genauen Protokollspezifikationen an die Öffentlichkeit.Protokollspezifikationen an die Öffentlichkeit.

• Danach wurden viele andere Clients entwickelt: LimeWire, Danach wurden viele andere Clients entwickelt: LimeWire, BearShare, Gnucleus, die späteren Versionen von MorpheusBearShare, Gnucleus, die späteren Versionen von Morpheus

Page 15: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

TypTyp• reines P2P-Netz (vollkommen dezentral), da alle Peers reines P2P-Netz (vollkommen dezentral), da alle Peers

gleiche Funktion habengleiche Funktion haben

• Peers bilden Gruppen durch Ping/Pong-Methode, diese Peers bilden Gruppen durch Ping/Pong-Methode, diese Gruppen überlappen und Bilden zusammen das Gnutella-Gruppen überlappen und Bilden zusammen das Gnutella-Netzwerk (overlap network)Netzwerk (overlap network)

• Connect über well-known peers (gnutellahosts.com, Connect über well-known peers (gnutellahosts.com, router.limewire.com)router.limewire.com)

Page 16: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

SuchvorgangSuchvorgang• BreitensucheBreitensuche (BFS): Anfragen werden an alle Nachbarn (BFS): Anfragen werden an alle Nachbarn

gebroadcastet, jeder Peer gibt Anfragen mit TTL weiter und gebroadcastet, jeder Peer gibt Anfragen mit TTL weiter und antwortet dem Anfragenden direkt bei Fundantwortet dem Anfragenden direkt bei Fund

• ineffizientes Suchverfahren, da viel Bandbreite und ineffizientes Suchverfahren, da viel Bandbreite und Rechenzeit verbraucht, allerdings werden in sehr kurzer Zeit Rechenzeit verbraucht, allerdings werden in sehr kurzer Zeit alle Peers erreichtalle Peers erreicht

Page 17: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

Problem: SkalierbarkeitProblem: Skalierbarkeit• BFS produziert sehr viel redundanten Verkehr: sehr BFS produziert sehr viel redundanten Verkehr: sehr

ineffizientineffizient

• Jordan Ritter (Mitbegründer von Napster) berechnete den Jordan Ritter (Mitbegründer von Napster) berechnete den Zusammenhang zwischen der Zahl der Nodes, der Zahl der Zusammenhang zwischen der Zahl der Nodes, der Zahl der Connections pro Node, der TTL, der Größe eines Paketes und Connections pro Node, der TTL, der Größe eines Paketes und der Größe des davon erzeugten Traffics.der Größe des davon erzeugten Traffics.

• Folgerung: BFS erzeugt zu hohe Netzbelastung und bringt Folgerung: BFS erzeugt zu hohe Netzbelastung und bringt letztlich das Netz zum erliegen. Gerade Peers mit letztlich das Netz zum erliegen. Gerade Peers mit Schmalbandverbindung sind oft komplett ausgelastet mit der Schmalbandverbindung sind oft komplett ausgelastet mit der Beantwortung von Suchanfragen.Beantwortung von Suchanfragen.

• Akut wurde das Problem tatsächlich, als Napster geschlossen Akut wurde das Problem tatsächlich, als Napster geschlossen wurde und sehr viele User in kurzer Zeit als Alternative auf wurde und sehr viele User in kurzer Zeit als Alternative auf Gnutella wechselten („Napster Flood“).Gnutella wechselten („Napster Flood“).

• Lösung: ErweiterungenLösung: Erweiterungen

Page 18: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

ErweiterungenErweiterungen• Ultrapeers: Peers mit guter Netzanbindung, die temporär als Ultrapeers: Peers mit guter Netzanbindung, die temporär als

Server für 50 Peers dienen Server für 50 Peers dienen Einteilung in Unternetze, Einteilung in Unternetze, Anfragen werden nicht netzweit, sondern entweder subnetz-Anfragen werden nicht netzweit, sondern entweder subnetz-intern oder zwischen Ultrapeers ausgetauscht (seit LimeWire intern oder zwischen Ultrapeers ausgetauscht (seit LimeWire 2.0)2.0)

• Gnutella2-Protokoll (nicht abwärtskompatibel):Gnutella2-Protokoll (nicht abwärtskompatibel):

• Umstieg von TCP auf UDPUmstieg von TCP auf UDP

• intelligente Routing Algorithmenintelligente Routing Algorithmen

• Checksummen und Download in Slices (wurde mit Checksummen und Download in Slices (wurde mit Shareaza eingeführt)Shareaza eingeführt)

Page 19: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

GnutellaGnutella

FazitFazit• nur mittelmäßig großes, komplett dezentrales P2P-Netznur mittelmäßig großes, komplett dezentrales P2P-Netz

• offenes Protokolloffenes Protokoll

• ist wegen ineffizienter Breitensuche (BFS) nicht skalierfähigist wegen ineffizienter Breitensuche (BFS) nicht skalierfähig

• durch Erweiterungen upgradebardurch Erweiterungen upgradebar

Page 20: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

KaZaAKaZaA

GeschichteGeschichte• basiert auf dem FastTrack-Protokollbasiert auf dem FastTrack-Protokoll

• wurde von den Schweden Niklas Zennström und Janus Friis wurde von den Schweden Niklas Zennström und Janus Friis im März 2001 durch ihre niederländische Firma veröffentlichtim März 2001 durch ihre niederländische Firma veröffentlicht

• war Anfang 2003 die beliebteste Tauschbörse war Anfang 2003 die beliebteste Tauschbörse

• hat mehr User als Napster je hattehat mehr User als Napster je hatte

• proprietäres Protokoll (Lizenzgebühren)proprietäres Protokoll (Lizenzgebühren)

• Musikindustrie schleust gewollt gefälschte MP3s ein um Musikindustrie schleust gewollt gefälschte MP3s ein um Tausch von copyright-geschütztem Material Tausch von copyright-geschütztem Material entgegenzuwirken (seit Mitte 2002)entgegenzuwirken (seit Mitte 2002)

Page 21: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

KaZaAKaZaA

3 Versionen des Clients3 Versionen des Clients• KaZaA Media Desktop (KMD): Spyware, d.h. finanziert sich KaZaA Media Desktop (KMD): Spyware, d.h. finanziert sich

über integrierte Software, die u.a. Surfgewohnheiten des über integrierte Software, die u.a. Surfgewohnheiten des User loggen sollUser loggen soll

• KaZaA Plus: spyware-frei, allerdings nicht mehr kostenlosKaZaA Plus: spyware-frei, allerdings nicht mehr kostenlos

• KaZaA Lite bzw, K++: Third-Party-Produkt, Anpassung vom KaZaA Lite bzw, K++: Third-Party-Produkt, Anpassung vom KMD, bisherige Versuche K++ zu verbieten waren erfolglosKMD, bisherige Versuche K++ zu verbieten waren erfolglos

- enthält keine Spywareenthält keine Spyware

- deaktiviert Suchlimitsdeaktiviert Suchlimits

- setzt den "participation level" auf Maximumsetzt den "participation level" auf Maximum

Page 22: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

KaZaAKaZaA

TypTyp• zwischen Napster und Gnutella: gemischtes P2P-Netz, es gibt zwischen Napster und Gnutella: gemischtes P2P-Netz, es gibt

sog. Super-Nodessog. Super-Nodes

• basiert wie Grokster, iMesh und Morpheus (die frühen basiert wie Grokster, iMesh und Morpheus (die frühen Versionen) auf dem FastTrack-Protokoll. FastTrack selbst ist Versionen) auf dem FastTrack-Protokoll. FastTrack selbst ist Erweiterung des Gnutella-Protokolls.Erweiterung des Gnutella-Protokolls.

• Connect geht über feste (hart codierte) IP-Adressen von Connect geht über feste (hart codierte) IP-Adressen von bekannten Supernodes.bekannten Supernodes.

Suchanfrage

Datentransfer

Page 23: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

KaZaAKaZaA

Vorteile zu GnutellaVorteile zu Gnutella• SupernodesSupernodes: Index-Server (siehe Napster) für langsamere : Index-Server (siehe Napster) für langsamere

Clients Clients Reduktion der Netzbelastung, normale Clients Reduktion der Netzbelastung, normale Clients müssen keine Suchanfragen mehr weiterleitenmüssen keine Suchanfragen mehr weiterleiten

• Clients, die über viel Rechen- und Netzkapazitäten verfügen, Clients, die über viel Rechen- und Netzkapazitäten verfügen, werden automatisch zu Supernodes (allerdings auch werden automatisch zu Supernodes (allerdings auch deaktivierbar)deaktivierbar)

• Resume: Abgebrochene Übertragungen können fortgesetzt Resume: Abgebrochene Übertragungen können fortgesetzt werden.werden.

• Gleichzeitiges Downloaden von verschiedenen PeersGleichzeitiges Downloaden von verschiedenen Peers

• participation level: Je mehr shared files, desto höher der participation level: Je mehr shared files, desto höher der participation level. Je höher der participation level, desto participation level. Je höher der participation level, desto größer ist die eigene Priorität in anderer User größer ist die eigene Priorität in anderer User Warteschlangen. Problem: K++ missbraucht diese FunktionWarteschlangen. Problem: K++ missbraucht diese Funktion..

Page 24: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

KaZaAKaZaA

FazitFazit• baut auf Gnutella auf, ist aber größer (mehr Peers)baut auf Gnutella auf, ist aber größer (mehr Peers)

• Skalierbarkeitsproblem durch Superpeers behoben (daher Skalierbarkeitsproblem durch Superpeers behoben (daher gemischtes P2P)gemischtes P2P)

• proprietäres Protokoll, Hersteller von Clients müssen proprietäres Protokoll, Hersteller von Clients müssen Lizenzgebühren bezahlenLizenzgebühren bezahlen

• Resume und Swarming erhöhen DatenaustauschratenResume und Swarming erhöhen Datenaustauschraten

Page 25: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

FreenetFreenet

GeschichteGeschichte

• entstanden im Juli 1999 aus einer Arbeit des damaligen entstanden im Juli 1999 aus einer Arbeit des damaligen Studenten Ian Clarke aus Edinburgh, SchottlangStudenten Ian Clarke aus Edinburgh, Schottlang

• Ziele: Anonymität, „Unzensierbarkeit“Ziele: Anonymität, „Unzensierbarkeit“

• Hintergrund: Antwort auf die vermehrten Versuche das Hintergrund: Antwort auf die vermehrten Versuche das Internet zu zensieren, den Zugang zu bestimmten Daten zu Internet zu zensieren, den Zugang zu bestimmten Daten zu kontrollieren oder die Autoren bestimmter Inhalte zu kontrollieren oder die Autoren bestimmter Inhalte zu verfolgenverfolgen

• vollständig in Java geschriebenvollständig in Java geschrieben

Page 26: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

FreenetFreenet

BeschreibungBeschreibung• reines P2P-Netz (vollkommen dezentral), da alle Peers reines P2P-Netz (vollkommen dezentral), da alle Peers

gleiche Funktion habengleiche Funktion haben

• Daten werden nicht auf dem lokalen Peer, sondern mehrfach Daten werden nicht auf dem lokalen Peer, sondern mehrfach auf anderen Peers gespeichert: Halter der Daten ist nicht der auf anderen Peers gespeichert: Halter der Daten ist nicht der Bereitsteller! (Anonymisierung und Erhöhung der Bereitsteller! (Anonymisierung und Erhöhung der Verfügbarkeit)Verfügbarkeit)

• Dateien haben eindeutig bestimmte IDs, die sog. Dateien haben eindeutig bestimmte IDs, die sog. Content Content Hash Keys (CHKs, normales SHA-1).Hash Keys (CHKs, normales SHA-1).

• Datenaustausch findet anonym statt: über eine Reihe von Datenaustausch findet anonym statt: über eine Reihe von Knoten, jede Peer-to-Peer-Connection ist verschlüsselt, an Knoten, jede Peer-to-Peer-Connection ist verschlüsselt, an keinem Zwischenpunkt sind die Endpunkte bekanntkeinem Zwischenpunkt sind die Endpunkte bekannt

Page 27: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

SuchvorgangSuchvorgang• TiefensucheTiefensuche (DFS): Anfragen werden an jeweils einen Nachbarn (DFS): Anfragen werden an jeweils einen Nachbarn

geschickt. geschickt. • Routing Tables: Knoten merken sich, wo welche CHKs liegen und Routing Tables: Knoten merken sich, wo welche CHKs liegen und

fragen später auch bei ähnlichen (!) CHKs dort nach. Ergebnis: fragen später auch bei ähnlichen (!) CHKs dort nach. Ergebnis: Knoten spezialisieren sich auf bestimmte CHK-Bereiche.Knoten spezialisieren sich auf bestimmte CHK-Bereiche.

• sparsames, aber langsames Suchverfahren, da kaum Bandbreite sparsames, aber langsames Suchverfahren, da kaum Bandbreite und Rechenzeit verbraucht wird, allerdings ist die Zeit um alle und Rechenzeit verbraucht wird, allerdings ist die Zeit um alle Peers zu erreichen sehr hochPeers zu erreichen sehr hoch

FreenetFreenet

Data request

Data reply

Request failed

Page 28: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

FreenetFreenet

EinfügevorgangEinfügevorgang• Daten werden dort eingefügt, wo Queries auch enden würdeDaten werden dort eingefügt, wo Queries auch enden würde

• dem eigenen Knoten wird INSERT-Message mit TTL dem eigenen Knoten wird INSERT-Message mit TTL übergeben, INSERT wird wie QUERY behandeltübergeben, INSERT wird wie QUERY behandelt

• ist TTL = 0 gibt der Knoten ein OK-Signal zurück, Daten ist TTL = 0 gibt der Knoten ein OK-Signal zurück, Daten werden über diese Route hochgeladenwerden über diese Route hochgeladen

• Knoten auf Route passen ihre Routingtables an.Knoten auf Route passen ihre Routingtables an.

• Während der Übertragungen: Daten werden manchmal Während der Übertragungen: Daten werden manchmal gecached, Rückweg wird manchmal verschleiert (ein Knoten gecached, Rückweg wird manchmal verschleiert (ein Knoten gibt sich selbst als Sender aus und speichert intern den gibt sich selbst als Sender aus und speichert intern den echten Sender)echten Sender)

Page 29: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

FreenetFreenet

FazitFazit• recht kleines, vollkommen dezentrales P2P-Netzrecht kleines, vollkommen dezentrales P2P-Netz

• Daten werden nicht auf dem bereitstellenden System, Daten werden nicht auf dem bereitstellenden System, sondern im Netz verteilt gespeichert.sondern im Netz verteilt gespeichert.

• Datenbereitsteller und Datenhalter sind anonym und können Datenbereitsteller und Datenhalter sind anonym und können nicht ermittelt werden.nicht ermittelt werden.

• stark eingeschränkte Suchmöglichkeitenstark eingeschränkte Suchmöglichkeiten

• Zur Suche wird nur ein benachbarter Knoten gefragt Zur Suche wird nur ein benachbarter Knoten gefragt (Tiefensuche, DFS)(Tiefensuche, DFS)..

Page 30: Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094

TabellarischerTabellarischer ÜberblickÜberblick

   StrukturStruktur Such-Such-methodemethode

StärkenStärken SchwächenSchwächen Größe in Größe in Peers (ca.)Peers (ca.)

NapsterNapster hybridhybrid Index-Index-serverserver

schnelle Suche schnelle Suche (Indexserver)(Indexserver)

zentral zentral (SPOF)(SPOF)

13.600.00013.600.000

(im Feb ‘01)(im Feb ‘01)

GnutellaGnutella reinrein BFSBFS dezentral, dezentral, erweiterbarerweiterbar

Skalierbar-Skalierbar-keitkeit

20K - 40K20K - 40K

KaZaAKaZaA

(Fasttrack)(Fasttrack)gemischtgemischt mod. BFSmod. BFS dezentral, dezentral,

skaliert, skaliert, Resume, Resume, SwarmingSwarming

nur 100 nur 100 Suchtreffer, Suchtreffer, SpywareSpyware

3M - 5M3M - 5M

FreenetFreenet reinrein DFSDFS Anonymität, Anonymität, verteilte verteilte SpeicherungSpeicherung

schlechte schlechte Suchmög-Suchmög-lichkeitlichkeit

mehrere mehrere Tausend (??)Tausend (??)