Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094."—  Präsentation transkript:

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

2 Einleitung Was ist ein P2P-Netzwerk?

3 Gegenteil: Server-Client Server: bieten möglichst dauerhaft verfügbar einen Dienst (z.B. Bereitstellung von Daten) an Clients: verbinden sich bei Bedarf nach diesem Dienst mit den ServernServer: bieten möglichst dauerhaft verfügbar einen Dienst (z.B. Bereitstellung von Daten) an Clients: verbinden sich bei Bedarf nach diesem Dienst mit den Servern Kommunikation: nur Client zu Server oder Server zu Client (normalerweise)Kommunikation: nur Client zu Server oder Server zu Client (normalerweise) Beispiel: WWW, MailBeispiel: WWW, Mail Nachteile: hohe Anfälligkeit (Single Point of Failure); ungleiche Netzlast, da Traffic bei Server wesentlich höher

4 P2P-Netzwerk Peers: bieten Dienste an und nehmen welche in Anspruch (Server und Client in einem)Peers: bieten Dienste an und nehmen welche in Anspruch (Server und Client in einem) Aufgabe: Speicherung und Bereitstellung von großen Datenmengen, verteilt auf alle TeilnehmerAufgabe: Speicherung und Bereitstellung von großen Datenmengen, verteilt auf alle Teilnehmer Hohe Dynamik:Hohe Dynamik: –häufig wechselnde Peers –wenig dauerhaft verfügbare Datenquellen –hohe Heterogenität (Netzanbindung, Latenzzeiten, Datenbestand, Onlinezeit)

5 P2P-Netzwerk Vorteile:Vorteile: –Daten liegen meist mehrmals vor –Verlust eines Peers beeinflusst wegen redundanter Verbindungen nicht die Integrität des Netzes –leistungsfähige Serversysteme werden nicht benötigt –weniger kontrollierbar (Nachteil?)

6 Typisierung reine P2P-Netze: jeder Peer hat die gleichen Aufgabenreine P2P-Netze: jeder Peer hat die gleichen Aufgaben -das "normale" Gnutella -Freenet hybride P2P-Netze: dedizierte Server übernehmen Aufgaben wie Indizierunghybride P2P-Netze: dedizierte Server übernehmen Aufgaben wie Indizierung -Napster -Audiogalaxy gemischte P2P-Netze: alle Peers haben zwar grundsätzlich die gleichen Aufgaben, aber einige (leistungsfähigere) übernehmen mehr davongemischte P2P-Netze: alle Peers haben zwar grundsätzlich die gleichen Aufgaben, aber einige (leistungsfähigere) übernehmen mehr davon -KaZaA (Super-Nodes) -Gnutella (Ultrapeers)

7 Die Filesharing-Systeme im Detail Napster, Freenet, Gnutella, KaZaA

8 NapsterGeschichte Mai 1999: Napster geht online und macht die P2P-Technik überhaupt populär, erstes großes P2P-Netz.Mai 1999: Napster geht online und macht die P2P-Technik überhaupt populär, erstes großes P2P-Netz. Dezember 1999: Napster wird von der amerikanischen Musikindustrie (RIAA) juristisch angegriffen wegen Urheberrechtsverletzung.Dezember 1999: Napster wird von der amerikanischen Musikindustrie (RIAA) juristisch angegriffen wegen Urheberrechtsverletzung. März 2001: Napster geht in der ursprünglichen Form offline.März 2001: Napster geht in der ursprünglichen Form offline.

9 NapsterTyp 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 Daten zu indizieren, Metadaten über Peers bereitzustellenzentraler Servercluster (ca. 160 Server) mit der Aufgabe die Daten zu indizieren, Metadaten über Peers bereitzustellen Suchanfrage Datentransfer

10 NapsterSuchmethode 1.Connect mit einem der Server 2.Suche in den connecteten Peers 3.Weiterleitung der Suche an die anderen Server Bei Fund: Direktverbindung zwischen den Peers Suchanfrage Datentransfer

11 NapsterSuchmethode 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

12 NapsterFazit 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, angreifbarzentraler Servercluster bedeutet single point of failure, angreifbar

13 GnutellaGeschichte entwickelt von dem WinAmp-Programmierer Justin Frankel (März 2000)entwickelt von dem WinAmp-Programmierer Justin Frankel (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 steht dahinter, kann also nicht wie Napster juristisch verfolgt werdenGnutella ist freie Software (offenes Protokoll), keine Firma steht dahinter, kann also nicht wie Napster juristisch verfolgt werden 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 Lieblingsbrotaufstrich von J. Frankel.Gnutella ist eine Verbindung aus GNU und Nutella, dem Lieblingsbrotaufstrich von J. Frankel.

14 GnutellaGeschichte AOL (Nullsoft wurde von AOL übernommen) war gegen ein Filesharing-Programm aus dem eigenen Hause, versuchte Verbreitung zu verhindern.AOL (Nullsoft wurde von AOL übernommen) war gegen ein Filesharing-Programm aus dem eigenen Hause, versuchte Verbreitung zu verhindern. Die offizielle Seite wurde innerhalb 24 Stunden von AOL offline genommen.Die offizielle Seite wurde innerhalb 24 Stunden von AOL offline genommen. Programmierer aus aller Welt versuchten die erste Version nachzubauen (reverse engineering).Programmierer aus aller Welt versuchten die erste Version nachzubauen (reverse engineering). J. Frankel unterstützte dies, er wollte ursprünglich Gnutella 1.0 als Open Source veröffentlichen.J. Frankel unterstützte dies, er wollte ursprünglich Gnutella 1.0 als Open Source veröffentlichen. Durch beabsichtigte Indiskretion kamen die genauen Protokollspezifikationen an die Öffentlichkeit.Durch beabsichtigte Indiskretion kamen die genauen Protokollspezifikationen an die Öffentlichkeit. Danach wurden viele andere Clients entwickelt: LimeWire, BearShare, Gnucleus, die späteren Versionen von MorpheusDanach wurden viele andere Clients entwickelt: LimeWire, BearShare, Gnucleus, die späteren Versionen von Morpheus

15 GnutellaTyp reines P2P-Netz (vollkommen dezentral), da alle Peers gleiche Funktion habenreines P2P-Netz (vollkommen dezentral), da alle Peers gleiche Funktion haben Peers bilden Gruppen durch Ping/Pong-Methode, diese Gruppen überlappen und Bilden zusammen das Gnutella- Netzwerk (overlap network)Peers bilden Gruppen durch Ping/Pong-Methode, diese Gruppen überlappen und Bilden zusammen das Gnutella- Netzwerk (overlap network) Connect über well-known peers (gnutellahosts.com, router.limewire.com)Connect über well-known peers (gnutellahosts.com, router.limewire.com)

16 GnutellaSuchvorgang Breitensuche (BFS): Anfragen werden an alle Nachbarn gebroadcastet, jeder Peer gibt Anfragen mit TTL weiter und antwortet dem Anfragenden direkt bei FundBreitensuche (BFS): Anfragen werden an alle Nachbarn gebroadcastet, jeder Peer gibt Anfragen mit TTL weiter und antwortet dem Anfragenden direkt bei Fund ineffizientes Suchverfahren, da viel Bandbreite und Rechenzeit verbraucht, allerdings werden in sehr kurzer Zeit alle Peers erreichtineffizientes Suchverfahren, da viel Bandbreite und Rechenzeit verbraucht, allerdings werden in sehr kurzer Zeit alle Peers erreicht

17 Gnutella Problem: Skalierbarkeit BFS produziert sehr viel redundanten Verkehr: sehr ineffizientBFS produziert sehr viel redundanten Verkehr: sehr ineffizient Jordan Ritter (Mitbegründer von Napster) berechnete den Zusammenhang zwischen der Zahl der Nodes, der Zahl der Connections pro Node, der TTL, der Größe eines Paketes und der Größe des davon erzeugten Traffics.Jordan Ritter (Mitbegründer von Napster) berechnete den Zusammenhang zwischen der Zahl der Nodes, der Zahl der Connections pro Node, der TTL, der Größe eines Paketes und der Größe des davon erzeugten Traffics. Folgerung: BFS erzeugt zu hohe Netzbelastung und bringt letztlich das Netz zum erliegen. Gerade Peers mit Schmalbandverbindung sind oft komplett ausgelastet mit der Beantwortung von Suchanfragen.Folgerung: BFS erzeugt zu hohe Netzbelastung und bringt letztlich das Netz zum erliegen. Gerade Peers mit Schmalbandverbindung sind oft komplett ausgelastet mit der Beantwortung von Suchanfragen. Akut wurde das Problem tatsächlich, als Napster geschlossen wurde und sehr viele User in kurzer Zeit als Alternative auf Gnutella wechselten (Napster Flood).Akut wurde das Problem tatsächlich, als Napster geschlossen wurde und sehr viele User in kurzer Zeit als Alternative auf Gnutella wechselten (Napster Flood). Lösung: ErweiterungenLösung: Erweiterungen

18 GnutellaErweiterungen Ultrapeers: Peers mit guter Netzanbindung, die temporär als Server für 50 Peers dienen Einteilung in Unternetze, Anfragen werden nicht netzweit, sondern entweder subnetz- intern oder zwischen Ultrapeers ausgetauscht (seit LimeWire 2.0)Ultrapeers: Peers mit guter Netzanbindung, die temporär als Server für 50 Peers dienen Einteilung in Unternetze, Anfragen werden nicht netzweit, sondern entweder subnetz- intern oder zwischen Ultrapeers ausgetauscht (seit LimeWire 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 Shareaza eingeführt)Checksummen und Download in Slices (wurde mit Shareaza eingeführt)

19 GnutellaFazit 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

20 KaZaAGeschichte basiert auf dem FastTrack-Protokollbasiert auf dem FastTrack-Protokoll wurde von den Schweden Niklas Zennström und Janus Friis im März 2001 durch ihre niederländische Firma veröffentlichtwurde von den Schweden Niklas Zennström und Janus Friis im März 2001 durch ihre niederländische Firma veröffentlicht war Anfang 2003 die beliebteste Tauschbörsewar 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 Tausch von copyright-geschütztem Material entgegenzuwirken (seit Mitte 2002)Musikindustrie schleust gewollt gefälschte MP3s ein um Tausch von copyright-geschütztem Material entgegenzuwirken (seit Mitte 2002)

21 KaZaA 3 Versionen des Clients KaZaA Media Desktop (KMD): Spyware, d.h. finanziert sich über integrierte Software, die u.a. Surfgewohnheiten des User loggen sollKaZaA Media Desktop (KMD): Spyware, d.h. finanziert sich über integrierte Software, die u.a. Surfgewohnheiten des User 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 KMD, bisherige Versuche K++ zu verbieten waren erfolglosKaZaA Lite bzw, K++: Third-Party-Produkt, Anpassung vom KMD, bisherige Versuche K++ zu verbieten waren erfolglos -enthält keine Spyware -deaktiviert Suchlimits -setzt den "participation level" auf Maximum

22 KaZaATyp zwischen Napster und Gnutella: gemischtes P2P-Netz, es gibt sog. Super-Nodeszwischen Napster und Gnutella: gemischtes P2P-Netz, es gibt sog. Super-Nodes basiert wie Grokster, iMesh und Morpheus (die frühen Versionen) auf dem FastTrack-Protokoll. FastTrack selbst ist Erweiterung des Gnutella-Protokolls.basiert wie Grokster, iMesh und Morpheus (die frühen Versionen) auf dem FastTrack-Protokoll. FastTrack selbst ist Erweiterung des Gnutella-Protokolls. Connect geht über feste (hart codierte) IP-Adressen von bekannten Supernodes.Connect geht über feste (hart codierte) IP-Adressen von bekannten Supernodes. Suchanfrage Datentransfer

23 KaZaA Vorteile zu Gnutella Supernodes: Index-Server (siehe Napster) für langsamere Clients Reduktion der Netzbelastung, normale Clients müssen keine Suchanfragen mehr weiterleitenSupernodes: Index-Server (siehe Napster) für langsamere Clients Reduktion der Netzbelastung, normale Clients müssen keine Suchanfragen mehr weiterleiten Clients, die über viel Rechen- und Netzkapazitäten verfügen, werden automatisch zu Supernodes (allerdings auch deaktivierbar)Clients, die über viel Rechen- und Netzkapazitäten verfügen, werden automatisch zu Supernodes (allerdings auch deaktivierbar) Resume: Abgebrochene Übertragungen können fortgesetzt werden.Resume: Abgebrochene Übertragungen können fortgesetzt werden. Gleichzeitiges Downloaden von verschiedenen PeersGleichzeitiges Downloaden von verschiedenen Peers participation level: Je mehr shared files, desto höher der participation level. Je höher der participation level, desto größer ist die eigene Priorität in anderer User Warteschlangen. Problem: K++ missbraucht diese Funktion.participation level: Je mehr shared files, desto höher der participation level. Je höher der participation level, desto größer ist die eigene Priorität in anderer User Warteschlangen. Problem: K++ missbraucht diese Funktion.

24 KaZaAFazit 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 gemischtes P2P)Skalierbarkeitsproblem durch Superpeers behoben (daher gemischtes P2P) proprietäres Protokoll, Hersteller von Clients müssen Lizenzgebühren bezahlenproprietäres Protokoll, Hersteller von Clients müssen Lizenzgebühren bezahlen Resume und Swarming erhöhen DatenaustauschratenResume und Swarming erhöhen Datenaustauschraten

25 FreenetGeschichte entstanden im Juli 1999 aus einer Arbeit des damaligen Studenten Ian Clarke aus Edinburgh, Schottlangentstanden im Juli 1999 aus einer Arbeit des damaligen Studenten Ian Clarke aus Edinburgh, Schottlang Ziele: Anonymität, UnzensierbarkeitZiele: Anonymität, Unzensierbarkeit Hintergrund: Antwort auf die vermehrten Versuche das Internet zu zensieren, den Zugang zu bestimmten Daten zu kontrollieren oder die Autoren bestimmter Inhalte zu verfolgenHintergrund: Antwort auf die vermehrten Versuche das Internet zu zensieren, den Zugang zu bestimmten Daten zu kontrollieren oder die Autoren bestimmter Inhalte zu verfolgen vollständig in Java geschriebenvollständig in Java geschrieben

26 FreenetBeschreibung reines P2P-Netz (vollkommen dezentral), da alle Peers gleiche Funktion habenreines P2P-Netz (vollkommen dezentral), da alle Peers gleiche Funktion haben Daten werden nicht auf dem lokalen Peer, sondern mehrfach auf anderen Peers gespeichert: Halter der Daten ist nicht der Bereitsteller! (Anonymisierung und Erhöhung der Verfügbarkeit)Daten werden nicht auf dem lokalen Peer, sondern mehrfach auf anderen Peers gespeichert: Halter der Daten ist nicht der Bereitsteller! (Anonymisierung und Erhöhung der Verfügbarkeit) Dateien haben eindeutig bestimmte IDs, die sog. Content Hash Keys (CHKs, normales SHA-1).Dateien haben eindeutig bestimmte IDs, die sog. Content Hash Keys (CHKs, normales SHA-1). Datenaustausch findet anonym statt: über eine Reihe von Knoten, jede Peer-to-Peer-Connection ist verschlüsselt, an keinem Zwischenpunkt sind die Endpunkte bekanntDatenaustausch findet anonym statt: über eine Reihe von Knoten, jede Peer-to-Peer-Connection ist verschlüsselt, an keinem Zwischenpunkt sind die Endpunkte bekannt

27 Suchvorgang Tiefensuche (DFS): Anfragen werden an jeweils einen Nachbarn geschickt.Tiefensuche (DFS): Anfragen werden an jeweils einen Nachbarn geschickt. Routing Tables: Knoten merken sich, wo welche CHKs liegen und fragen später auch bei ähnlichen (!) CHKs dort nach. Ergebnis: Knoten spezialisieren sich auf bestimmte CHK- Bereiche.Routing Tables: Knoten merken sich, wo welche CHKs liegen und fragen später auch bei ähnlichen (!) CHKs dort nach. Ergebnis: Knoten spezialisieren sich auf bestimmte CHK- Bereiche. sparsames, aber langsames Suchverfahren, da kaum Bandbreite und Rechenzeit verbraucht wird, allerdings ist die Zeit um alle Peers zu erreichen sehr hochsparsames, aber langsames Suchverfahren, da kaum Bandbreite und Rechenzeit verbraucht wird, allerdings ist die Zeit um alle Peers zu erreichen sehr hochFreenet Data request Data reply Request failed

28 FreenetEinfü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 übergeben, INSERT wird wie QUERY behandeltdem eigenen Knoten wird INSERT-Message mit TTL übergeben, INSERT wird wie QUERY behandelt ist TTL = 0 gibt der Knoten ein OK-Signal zurück, Daten werden über diese Route hochgeladenist TTL = 0 gibt der Knoten ein OK-Signal zurück, Daten werden ü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 gecached, Rückweg wird manchmal verschleiert (ein Knoten gibt sich selbst als Sender aus und speichert intern den echten Sender)Während der Übertragungen: Daten werden manchmal gecached, Rückweg wird manchmal verschleiert (ein Knoten gibt sich selbst als Sender aus und speichert intern den echten Sender)

29 FreenetFazit recht kleines, vollkommen dezentrales P2P-Netzrecht kleines, vollkommen dezentrales P2P-Netz Daten werden nicht auf dem bereitstellenden System, sondern im Netz verteilt gespeichert.Daten werden nicht auf dem bereitstellenden System, sondern im Netz verteilt gespeichert. Datenbereitsteller und Datenhalter sind anonym und können nicht ermittelt werden.Datenbereitsteller und Datenhalter sind anonym und können nicht ermittelt werden. stark eingeschränkte Suchmöglichkeitenstark eingeschränkte Suchmöglichkeiten Zur Suche wird nur ein benachbarter Knoten gefragt (Tiefensuche, DFS).Zur Suche wird nur ein benachbarter Knoten gefragt (Tiefensuche, DFS).

30 Tabellarischer Überblick Struktur Such- methode StärkenSchwächen Größe in Peers (ca.) Napsterhybrid Index- server schnelle Suche (Indexserver) zentral (SPOF) (im Feb 01) GnutellareinBFS dezentral, erweiterbar Skalierbar- keit 20K - 40K KaZaA(Fasttrack)gemischt mod. BFS dezentral, skaliert, Resume, Swarming nur 100 Suchtreffer, Spyware 3M - 5M FreenetreinDFS Anonymität, verteilte Speicherung schlechte Suchmög- lichkeit mehrere Tausend (??)


Herunterladen ppt "Filesharing-Systeme Napster, Freenet, Gnutella, KaZaA Seminarvortrag von Stefan Weinbrenner, 747094."

Ähnliche Präsentationen


Google-Anzeigen