Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Napster, Freenet, Gnutella, KaZaA

Ähnliche Präsentationen


Präsentation zum Thema: "Napster, Freenet, Gnutella, KaZaA"—  Präsentation transkript:

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

2 Was ist ein P2P-Netzwerk?
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 Servern Kommunikation: nur „Client zu Server“ oder „Server zu Client“ (normalerweise) Beispiel: 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) Aufgabe: Speicherung und Bereitstellung von großen Datenmengen, verteilt auf alle Teilnehmer Hohe Dynamik: häufig wechselnde Peers wenig dauerhaft verfügbare Datenquellen hohe Heterogenität (Netzanbindung, Latenzzeiten, Datenbestand, Onlinezeit)

5 P2P-Netzwerk 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 Aufgaben
das "normale" Gnutella Freenet hybride 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 davon KaZaA (Super-Nodes) Gnutella (Ultrapeers)

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

8 Napster Geschichte 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. März 2001: Napster geht in der ursprünglichen Form offline.

9 Napster Typ hybrides P2P-Netz, d.h. Client-Server-Prinzip noch erkennbar zentraler Servercluster (ca. 160 Server) mit der Aufgabe die Daten zu indizieren, Metadaten über Peers bereitzustellen Suchanfrage Datentransfer

10 Napster Suchmethode Connect mit einem der Server
Suche in den connecteten Peers Weiterleitung der Suche an die anderen Server Bei Fund: Direktverbindung zwischen den Peers Suchanfrage Datentransfer

11 Napster Suchmethode Verfügbare Metadaten Bandbreite
Anzahl an shared files Anzahl an Up-/Downloads Name und Größe der shared files IP-Adresse Suchanfrage Datentransfer

12 Napster Fazit war ein sehr großes P2P-Netz, aber inzwischen offline
Indizierung ermöglicht schnelles Suchen zentraler Servercluster bedeutet single point of failure, angreifbar

13 Gnutella Geschichte entwickelt von dem WinAmp-Programmierer Justin Frankel (März 2000) wurde nur für "einige Hundert Benutzer" konzipiert Gnutella 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 Napster „Gnutella“ ist eine Verbindung aus GNU und Nutella, dem Lieblingsbrotaufstrich von J. Frankel.

14 Gnutella Geschichte 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. 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. Durch beabsichtigte Indiskretion kamen die genauen Protokollspezifikationen an die Öffentlichkeit. Danach wurden viele andere Clients entwickelt: LimeWire, BearShare, Gnucleus, die späteren Versionen von Morpheus

15 Gnutella Typ reines 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) Connect über well-known peers (gnutellahosts.com, router.limewire.com)

16 Gnutella Suchvorgang Breitensuche (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 erreicht

17 Problem: Skalierbarkeit
Gnutella Problem: Skalierbarkeit BFS 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. 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“). Lösung: Erweiterungen

18 Gnutella Erweiterungen
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): Umstieg von TCP auf UDP intelligente Routing Algorithmen Checksummen und Download in Slices (wurde mit Shareaza eingeführt)

19 Gnutella Fazit nur mittelmäßig großes, komplett dezentrales P2P-Netz
offenes Protokoll ist wegen ineffizienter Breitensuche (BFS) nicht skalierfähig durch Erweiterungen upgradebar

20 KaZaA Geschichte basiert auf dem FastTrack-Protokoll
wurde 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örse hat mehr User als Napster je hatte proprietäres Protokoll (Lizenzgebühren) 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 soll KaZaA Plus: spyware-frei, allerdings nicht mehr kostenlos KaZaA 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 KaZaA Typ zwischen 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. 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 weiterleiten Clients, die über viel Rechen- und Netzkapazitäten verfügen, werden automatisch zu Supernodes (allerdings auch deaktivierbar) Resume: Abgebrochene Übertragungen können fortgesetzt werden. Gleichzeitiges 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.

24 KaZaA Fazit baut auf Gnutella auf, ist aber größer (mehr Peers)
Skalierbarkeitsproblem durch Superpeers behoben (daher gemischtes P2P) proprietäres Protokoll, Hersteller von Clients müssen Lizenzgebühren bezahlen Resume und Swarming erhöhen Datenaustauschraten

25 Freenet Geschichte entstanden im Juli 1999 aus einer Arbeit des damaligen Studenten Ian Clarke aus Edinburgh, Schottlang Ziele: 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 verfolgen vollständig in Java geschrieben

26 Freenet Beschreibung reines 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) 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 bekannt

27 Freenet Suchvorgang 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. sparsames, aber langsames Suchverfahren, da kaum Bandbreite und Rechenzeit verbraucht wird, allerdings ist die Zeit um alle Peers zu erreichen sehr hoch Data request Data reply Request failed

28 Freenet Einfügevorgang
Daten werden dort eingefügt, wo Queries auch enden würde dem 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 hochgeladen 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)

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

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


Herunterladen ppt "Napster, Freenet, Gnutella, KaZaA"

Ähnliche Präsentationen


Google-Anzeigen