Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Dezentrale Architekturen. Tinosch Ganjineh2 Übersicht Gnutella –Was ist Gnutella –Geschichte –Clients –Protokoll –Infrastruktur –Suche / Antwort –Kultivierung.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Dezentrale Architekturen. Tinosch Ganjineh2 Übersicht Gnutella –Was ist Gnutella –Geschichte –Clients –Protokoll –Infrastruktur –Suche / Antwort –Kultivierung."—  Präsentation transkript:

1 1 Dezentrale Architekturen

2 Tinosch Ganjineh2 Übersicht Gnutella –Was ist Gnutella –Geschichte –Clients –Protokoll –Infrastruktur –Suche / Antwort –Kultivierung –Traffic Probleme –Angreifbarkeit –Anonymität –Ausblick Freenet –Funktionsweise –Upload/Download –Routing –Hashes –Zusammenfassung

3 Tinosch Ganjineh3 Was ist Gnutella ? Ein Picknick, jeder bringt was mit … Simples File-Sharing Protokoll Komplett dezentral Abstrahiert von der Netzstruktur Knoten sind Servents (Client und Server) Servents bilden die Netzstruktur Funktioniert wie die reale Welt (Bsp. Folgt)

4 Tinosch Ganjineh4 Gnutella Philosophie Ein Netzwerk zum Suchen und Entdecken Gedacht für Mensch und nicht Maschine Total dezentral Nicht wirklich zu stoppen Freie Interpretation der Anfrage –Suchanfrage wird unverändert weitergeleiet –Antworten können verschiedenste Form haben Dateinamen Werbe Nachrichten URLs Anonymes Suchen

5 Tinosch Ganjineh5 Gnutella History [1] 1999 Übernahme von Nullsoft durch AOL Kleines Experiment (2 Mannwochen) März 2000 Justin Frankel und Tom Pepper von Nullsoft entwickelten Gnutella Gnutella = (GNU + Nutella) suchte einmalig Tester Erfolg (1000 User innerhalb von Stunden) AOL legte das Projekt auf Eis

6 Tinosch Ganjineh6 Gnutella History [2] Bryan Mayland überarbeitete das Gnutella Protokoll (total dezentral) gnutella.nerdherd.net und IRC #gnutella als Austauschplatz für Entwickler Open-Source Projekt (GPL) Justin Frankel gab Detailwissen preis GDF (Gnutella Developer Forum) entstand RFC-Gnutella (Request for Comments) Geburtsstunde etlicher Clients

7 Tinosch Ganjineh7 Gnutella Clients Windows Gnotella Toadnode Gnucleus BearShare* LimeWire Shareaza* PheX Gnewtella Linux/Unix Gnut LimeWire Gtk-Gnutella Mutella Phex Qtella * Closed source

8 Tinosch Ganjineh8 Cocktail Party Gnutella Eintritt Hallo sagen Suche die Bar Frage nach Bar Stille Post – Welle Erhalte Information Laufe zur Bar Connect zu GNet Ping Suche Martini Anfrage gestartet Anfrage weitergeleitet Antwort (Hit) Starte Download

9 Tinosch Ganjineh9 Cocktail Party Napster Eintritt ins Foyer Gastgeber + Freunde. nur ein Informant suche Bar zurück zum Foyer Info dahinten laufe zur Bar Connect to Napster Riesiger File Index Nur ein Fileindex Suche Martini Zentrale Anfrage Index liefert Verweis Starte Download

10 Tinosch Ganjineh10 Gnutella Protokoll [1] Gnutella Deskriptoren regeln Kommunikation Deskriptoren –Ping : Netz aktiv erforschen –Pong : Antwort auf Ping –Query : Eigentliche Suchanfrage –Query hit : Positivantwort auf Suchanfrage –Push Request : Initiiert das Senden (Firewall) Header :

11 Tinosch Ganjineh11 Gnutella Protokoll [2] Payload (Nutzlast) der Deskriptoren –Ping : hat kein Payload –Pong: –Query : –Query hit: –Push Req :

12 Tinosch Ganjineh12 Gnutella Infrastruktur Setzt per Software auf dem Internet auf Netz existiert nur durch seine Servents –Aus Benutzern werden Operatoren Dynamische Netzstruktur, was nun ? –Nutzer trennen sich laufend vom Netz –Es kommen ständig neue Nutzer hinzu –Große Disparität zwischen Bandbreite der Nutzer (T3 ist ca mal schneller als 56K)

13 Tinosch Ganjineh13 Selbstorganisierendes Netzwerk Platzierung im Netz hängt nicht von geographischer Lage sondern Bandbreite ab Leistungsstarke Knoten (T3) –tendieren zur Mitte des Netzwerks –verbunden mit vielen/großen Knoten Leistungsschwache Knoten (56K) –tendieren zum Rand des Netzes –verbunden mit wenigen oder kleinen Knoten –Werden zu Schwarzen Löchern Dadurch entsteht ein stabiles ad hoc Backbone

14 Tinosch Ganjineh14 Gnutella Netz (GNet) Knotengröße proportional zur Bandbreite

15 Tinosch Ganjineh15 Getting started Man muss nur erstmal reinkommen Gewusst wie : IRC, Hostcaches (GWebCaches) Einmal verbunden, werden weitere Verbindungen aufgebaut ( ca. 5) Pong Caching : Cachen von Hostlisten anderer Servents (Freundes Freunde) Lauschen und fleißig mitschreiben wer antwortet Dead Links werden gelöscht Nun kann das Suchen beginnen …

16 Tinosch Ganjineh16 Übersicht Gnutella –Was ist Gnutella –Geschichte –Clients –Protokoll –Infrastruktur –Suche / Antwort –Kultivierung –Traffic Probleme –Angreifbarkeit –Anonymität –Ausblick Freenet –Funktionsweise –Upload/Download –Routing –Hashes –Zusammenfassung

17 Christian v. Prollius17 Eigenschaften von Suchanfragen Suchanfragen –enthalten eine UID –erreichen nur den Horizont –werden vom Servent interpretiert Gnutella Entwickler demonstrierten Mächtigkeit des Gnutella-Protokolls mit InfraSearch Alternative zur Suchmaschine?

18 Christian v. Prollius18 Verbreitung von Suchanfragen Suchen durch: Broadcasting (Flooding) –Jeder Host schickt zu n Hosts (n~4) –Jedes Packet hat TTL t (t~7) Time To Live (TTL) ist ein Zähler der bei jedem Weiterleiten verringert wird, bei 0 wird das Paket verworfen Netz wird entlastet durch –Unique Identifiers (UID) (verhindert Echos) –Time To Live (TTL)

19 Christian v. Prollius19 Auslastung Gnutella 0.4 Quelle : TU Ilmenau, Hauptseminar Telematik SS 2003

20 Christian v. Prollius20 Gnutella Horizont Bei TTL 7 erreichen die Suchanfragen ca Hosts Wieviele User hat Gnutella eigentlich? –Millionen Menschen haben einen Gnutella Client runtergeladen bzw installiert –Man selbst sieht jedoch nur einige Tausend um sich herum

21 Verbindungsgraph bei Suchtiefe 4 (GraphViz von Gnucleus) 21

22 Christian v. Prollius22 Dynamisches Routing für Antworten auf Suchanfragen Antwort ebenfalls nur mit UID Host A merkt sich Host B, der die Suchanfrage geschickt hat und schickt die Antworten zu ihm zurück Ob Host B die Suchanfrage gestartet hat oder nur weitergeleitet ist unbekannt anonymes Suchen Suchanfragen wurden anfangs zum anonymen Chatten benutzt

23 Christian v. Prollius23 Handling von zu vielen Suchanfragen Servents verwerfen Suchanfragen Es werden keine Buffer oder ähnliches verwendet (macht bei Suchanfragen keinen Sinn) Dadurch können T3 Leitungen mit 56 K Modem Nutzern nicht sinnvoll kommunizieren

24 Christian v. Prollius24 Gnutella Kultivierung Kleine Änderungen an der Clientsoftware können extrem große Auswirkungen auf das Netz haben Beispiel Reflector –Leiten Suchanfragen nicht weiter, sondern beantworten aus dem eigenen Gedächtnis + Reduziert Traffic – Zerstört Charakteristik von Gnutella (Hosts sollen Suchanfragen selber interpretieren)

25 Christian v. Prollius25 Gnutella Traffic-Probleme [1] Zelle: Menge von Hosts die sich untereinander kennen Bei Gnutella wird bei zu viel Traffic die Leistung stark reduziert, ähnlich Ethernet Lösung: Teilung einer Zelle in kleinere Zellen Dadurch kennt man zwar weniger Hosts, kann aber wieder vernünftig kommunizieren

26 Christian v. Prollius26 Gnutella Traffic-Probleme [2] Host Caches: Gut gemeint, schlimme Auswirkungen –Web Site mit aktuellen Host-Listen –Problem trat am auf (Untergang von Napster) –Viele Tausend User erfragten beinahe gleichzeitig die aktuellen Host-Listen ab –Folge : Ballung des gesamten Gnutella Netz um wenige Hosts, die auf Internet-Seiten zu finden waren –Dadurch war Kommunikation praktisch unmöglich

27 Christian v. Prollius27 Gnutella Traffic-Probleme [3] Lösung des Host-Cache Problem –Host-Caches prüfen ob die Hosts ausgelastet sind und sorgen für eine gleichmäßige Verteilung Aber es gab noch die Local Host Catcher –Jeder der Servents hatte die anderen noch im Gedächtnis. Dadurch blieb die Ballung erhalten. –Deswegen hat sich das Netz nur langsam entzerrt, da jeder Servent selber von Hand seinen Local Host Catcher löschen musste

28 Tinosch Ganjineh28 Übersicht Gnutella –Was ist Gnutella –Geschichte –Clients –Protokoll –Infrastruktur –Suche / Antwort –Kultivierung –Traffic Probleme –Angreifbarkeit –Anonymität –Ausblick Freenet –Funktionsweise –Upload/Download –Routing –Hashes –Zusammenfassung

29 Thomas Schwaier29 Rechtliche Angriffe Zentralisierte P2P Netzwerke (Napster) sind rechtlich belangbar und können so aus geschaltet werden Dezentrale P2P Netzwerke (Gnutella) nicht belangbar, da kein zentraler Betreiber des Netzwerkes existiert

30 Thomas Schwaier30 Technische Angriffe DoS-Attacken Clients Xoloco & Qtraxmax führten zu Netztüberlastung durch (query) flooding Gezielte DoS-Attacken gegen Supernodes

31 Thomas Schwaier31 Anonymität Gnutella ist nicht anonym (!) –Suchanfragen sind niemandem zuordenbar und damit anonym –ABER : bei einem Transfer kennen die beteiligten Nutzer die jeweilige IP-Adresse des Anderen, also nicht anonym Beispiel Hall of Shame Pseudoanonymität

32 Thomas Schwaier32 Pseudoanonymität Weitere Gründe für Pseudoanonymität –Großteil der messages enthalten keine IPs (nur die Antworten auf queries) –Dynamische Routing Tabellen –Zur Identifikation ist Überwachung des gesamten Internet Traffic nötig

33 Thomas Schwaier33 Next Generation / Ausblick Nächster GDF Release ? (aktuell Gnutella Protokoll 0.6) zukünftige Features –Community-Feature –Encryption – (bereits implemtiert in BearShare) –Privacy –Caching of popular content –Magma-Links - Multiple-file-magnets –What's New?

34 Thomas Schwaier34 Ausblick [2] Ungelöste Probleme Traffic-Reduktion insbes. bei Suchanfragen Verbesserte Netztopologie

35 Thomas Schwaier35 Weitere Entwicklungen[1] Gnutella2 (G2) Alleinentwicklung von Mike Stokes (Shareaza) Komplette Überarbeitung von Gnutella –Viele Schwächen bzw. Probleme beseitigt Ablehnung von GDF da Alleinentwicklung –Gnutella2 daher auch bekannt als Mikes Protocol (MP) –G2 inkompatibel zu G1 G2 Clients u.a. Morpheus, Shareaza, MLdonkey

36 Thomas Schwaier36 Weitere Entwicklungen[2] Mittelfristige Entwicklungen Integration der verschiedenen Protokolle G1 und G2 zeichnet sich nicht ab Entwicklung von Clients die mehrere Protokolle beherrschen (z.B. Shareaza, Morpheus) Nächster Durchbruch –Gleichzeitiger, Multipler Download einer Datei aus verschiedenen P2P-Netzwerken

37 Thomas Schwaier37 Weitere Entwicklungen[3] FUtella –P2P Netzwerk für den Austausch Wissenschaftlichen Arbeiten und Ergebnisse aller Art (Publikation, Essays, Papers, Übungsaufgaben, etc..) –Basiert auf Prinzipien bzw. Elementen von Gnutella, JXTA,JXTA Search, Freenet und erweitert diese –Wird ein Stockwerk über uns in der Technischen Informatik entwickelt !

38 Florian Greb38 Gnutella - Quellen [1] Adam Langley, Gnutella, Peer-to-Peer: Harnessing the Power of Disruptive Technologies, A. Oram(ed.), OReilly and Assoc., Sebastopol, Californien, 2001, Chapter 8 [2] Farhad Manjoo Gnutella Bandwidth Bandits, Salon.com [3] Gnutella² Developers Network [4] Gnutella Protocol Development [5] Gnutella bei Wikipedia Stand:

39 Florian Greb39 Freenet Noch ein Protokoll! Warum? -Sicherheit vor Zensur -Gewährleistung von Anonymität -Robustheit -Effizienz -Schutz vor juristischem Zwang

40 Florian Greb40 Freenet - Funktionsweise Verteilter, vielfach redundanter Speicher Message Passing Network Verbindungen: Knoten kennt –Direkten Vorgänger –Direkten Nachfolger –Request-Key Außerdem: Knoten hat Tabelle mit –Schlüsseln –(Daten) –Adressen Abb. 1, Sichtweite einzelner Knoten

41 Florian Greb41 Speichertabellen Abb. 2, Speicher einzelner Knoten [2]

42 Florian Greb42 Freenet - Download Ablauf einer Suche / eines Downloads: –Anfrage beim nächsten Knoten X nach Hashwert –X hat Dokument: X liefert Dokument –X hat Dokument nicht: X leitet Anfrage an Y weiter –Ende wenn Dokument gefunden oder Timeout (TTL=0) Timeouts und Daten werden wie auf dem Hinweg zurückgeschickt Zwischenstationen cachen Daten Abb. 1, Sichtweite einzelner Knoten

43 Florian Greb43 Freenet - Datentransfer Abb. 3, Routing zwischen Knoten, [3]

44 Florian Greb44 Einfügen [1] Ablauf eines Uploads / eines Einfügens: –Zuerst wie Suche –Dokument gefunden: Daten werden geliefert –Dokument nicht gefunden: InsertRequest –Alle Knoten bis zum InsertRequest-Sender cachen Daten

45 Florian Greb45 Einfügen [2] Vorteile: –Beliebte Daten werden oft gecached –Keine Chance für gefälschte Daten (Kontrolle: Hash ->Daten)

46 Florian Greb46 Freenet - Routing Routing ist Zielgerichtet –Weiterleitung von Anfragen an Besitzer des Dokuments mit ähnlichstem Schlüssel –Prinzip wie Suche eines Dorfs im Mittelalter Man geht von Dorf zu Dorf In jedem Dorf wird nach der Richtung gefragt Recht effizient –Andere P2P-Netze: oft wahlloses Fluten Das entspräche dem Schicken von Boten in alle Dörfer Das ist sehr ineffizient

47 Florian Greb47 Freenet - Routing Wieso funktioniert es? Pos. Feedback-Schleife: Knoten spezialisieren sich auf einen bestimmten Schlüsselbereich Dadurch werden sie häufiger referenziert Knoten spezialisieren sich weiter auf diesen Bereich. Knoten cachen mehr Daten aus diesem Bereich Außerdem: Small-World-Effect

48 Florian Greb48 Freenet - Hashes Wie kommt man an den Hash einer Datei? –Durch separate Mitteilung via Web, , News,... (CHK, SSK) –Durch raten und rechnen (KSK) Grund: Unterschiedliche Schlüsselarten –Content Hash Key (CHK) –Keyword Signed Key (KSK) –Signed Subspace Key (SSK)

49 Florian Greb49 Freenet – CHK Hashes Form: Schlüssel ist eindeutiger Hash der Datei Feste Länge Fälschungssicher Problem: schlecht zu merken

50 Florian Greb50 Freenet – KSK Hashes Form: Erzeugung eines Schlüsselpaares aus text/books/1984.html Hash des öffentlichen Schlüssels ist Key Feste Länge Datei wird mit privatem Schlüssel signiert (Integritätscheck) Begrenzt Fälschungssicher: Wer zuerst kommt, mahlt zuerst

51 Florian Greb51 Freenet – SSK Hashes Schafft einen persönlichen Namensraum Schafft pseudonymes Filesharing Vorgehen: Erzeugen eines pers. Schlüsselpaares Auswählen einer Beschreibung (wie KSK) Key = Hash(Hash(Pub. Key), Hash(Beschreibung)) Datei wird mit priv. Schlüssel signiert

52 Florian Greb52 Freenet - Filterzwang? Wenn Knotenbetreiber den Cacheinhalt kennen würden, müßten sie Filtermaßnahmen ergreifen Also: Daten werden verschlüsselt gespeichert Schlüssel nur Suchendem bekannt Brute Force dauert ewig Knotenbetreiber kennen den Cache-Inhalt nicht Ergebnis: Filtern unmöglich

53 Florian Greb53 Zusammenfassung [1] Eigenschaften von Freenet - Vorteile: Weitgehende Anonymität der Benutzer Zensur nahezu unmöglich Recht effizientes Routing und Caching Dezentrale Architektur Kein Single Point of Failure Guter Tradeoff zwischen Paranoia und Effizienz

54 Florian Greb54 Zusammenfassung [2] Eigenschaften von Freenet – Nachteile Keine ordentliche Suchfunktion, fehlende Wilcards Ineffizienterer Datenverkehr als bisherige P2P- Applikationen Verbesserung des Routings möglich

55 Florian Greb55 Freenet - Quellen [1] Ian Clarke et al., Freenet: A Distributed Anonymous Information Storage and Retrieval System, Designing Privacy Enhancing Technologies, Lecture Notes in Computer Science 2009, H. Federrath (ed.), Springer- Verlag, Berlin, 2001, S [2] Adam Langley, Freenet, Peer-to-Peer: Harnessing the Power of Disruptive Technologies, A. Oram(ed.), OReilly and Assoc., Sebastopol, Californien, 2001, S [3] Ian Clarke et al., Protecting Free Expression Online with Freenet, IEEE Internet Computing Article, Jan./Feb. 2002, S.40-49, URL geprüft :

56 Florian Greb56 Freenet - Ende Danke für die Aufmerksamkeit!


Herunterladen ppt "1 Dezentrale Architekturen. Tinosch Ganjineh2 Übersicht Gnutella –Was ist Gnutella –Geschichte –Clients –Protokoll –Infrastruktur –Suche / Antwort –Kultivierung."

Ähnliche Präsentationen


Google-Anzeigen