Peer to Peer P 2 P Netzwerke Gebiet
Peer to Peer (P 2 P) Netzwerke Gebiet: Filesharing Mario Jagiello IAV 2 30. 5. 2005
Themen: Was heisst peer to peer (P 2 P) ? Warum P 2 P ? Vor-Nachteile von P 2 P Die größten P 2 P Netzwerke
Vergleich P 2 P<->Client-Server (z. B. Internet)
Kombination von zentraler- und dezentraler- Architektur • Server hat Verzeichnis von verbundenen Clients und deren Resourcen • Übertragung direkt von Nutzer zu Nutzer Kein reines P 2 P ! ->Warum P 2 P
Warum P 2 P-Filesharing ? Nachteile zentrale Architektur: • Hohe Kosten für Betreiber der Server durch Traffic • Langsam bei vielen Clients wegen zu niedriger Bandbreite ->Beispiele
Warum P 2 P-Filesharing ? Beispiele für hohen Traffic: • Linux Download: 600 MB – mehrere GB • Wikipedia Datenbank: ~3 GB • Computerspiele z. B. : -Valve (Half. Life) ->Steam -World of Warcraft: Update (ca. alle 2 -3 Wochen) ~100 MB User (Europa) ~700. 000 =>Traffic: ~70 Tera. Byte !!! • … ->Vor-Nachteile
Vor-/Nachteile von P 2 P-Filesharing Vorteile: • Schnellere Verteilung der Daten unter den Peers • Weniger Kosten für Anbieter von Downloads durch weniger Traffic • Kann nicht durch Angriffe oder Katastrophen gestoppt werden (reines P 2 P-Netzwerk!) Nachteile: • Problem: Finden der anderen Clients • Hoher Gesamttraffic durch: Steuer- und Filesharingprotokoll-Daten, Suchanfragen ->Funktionsprinzip
Funktionsprinzip P 2 P-Filesharing File ->P 2 P-Netzwerke
Die größten Filesharing Netzwerke Edonkey Bit. Torrent Gnutella
Allgemeine Daten: • Lead-Programmierer: Jed Mc. Caleb • Bekanntester Client: EMule; (Overnet (Serverlos)) • Mehrere Server für Suchanfragen und Clientvermittlung • Aktuell ca. 70 Server und 4 Mio. Peers • Peers und Server aktualisieren Serverlisten über andere Verbundene Server • Dateidownload über Suche im Edonkey-Netz oder über Web-Link ->Edonkey-Links
Edonkey-Links: Beispiel: ed 2 k: //|file|datei. txt|1234567890 abcdef| ed 2 k: //|file datei. txt 123 Identifiziert den Link als Protokoll ed 2 k und als Datei. Gibt dem Client den Namen der Datei an. Gibt Größe der Datei in Byte an. 1234567890 abcdef Gibt den Hash-Wert(MD 4 -Hashverfahren) an, um die Datei zu identifizieren. Bei Dateien die größer als ein sogenannter "Chunk" sind, ist es der übergreifende Hash aus allen aneinandergehängten Einzelhashes, welche aus je einem "Chunk" zu ungefähr 9, 28 MB Daten errechnet werden. ->Funktionsschema
Funktionsschema ->Serverlos ?
Serverlos? Edonkey ist kein reines P 2 P Netzwerk wegen seiner Server Wenn ein großer Server ausfällt (z. B. Razorback ~1 Mio. Peers) ist die Last für die übrigen Server sehr hoch. Auch die steigende Anzahl an Nutzern steigert die Serverlast ständig. Entwicklung von Overnet das mit dem Kademlia-Algorithmus arbeitet(Serverlos) Allerdings ist hier die Suche sehr langsam und die Bandbreite die für Suchanfragen verbraucht wird ist zu hoch…man kam deswegen wieder von Overnet ab. Kademlia-Algorithmus wird in Edonkey-Client parallel zum normalen Server-Client System eingebaut (Hybrid-Client) In Emule wird ein verbesserter Kademlia-Algorithmus eingebaut (noch Beta) und ist mittlerweile der Standard
Kademlia-Algorithmus: Der Kademlia (Kad) Algorithmus ist lediglich die Grundlage für ein Kad-Netzwerk und legt dessen Arbeitsweise fest. Der Kad-Algorithmus sagt jedoch nicht wie genau das Protokoll umgesetzt wird welches den eigentlichen Datenaustausch regelt. Kurzbeschreibung Funktionsweise: • Jeder Peer(hier Node) erhält eine eindeutige ID (160 Bit) • Der Peer erhält die Kontaktlisten der benachbarten Peers(Bootstrapping) • Der Peer erstellt Hashcodes seiner angebotenen Informationen (auch 160 Bit), und sagt den Peers mit der am nähesten zum Hashwert liegenden ID das er diese Daten hat. • Ein Peer der nach dieser Information sucht, errechnet sich jetzt die ID des Peers der weiss wer diese Information hat (math. XOR-Funktion)
Allgemeine Daten: • Erfinder: Bram Cohen Programmiersprache: Python • Ursprünglich gedacht für den Vertrieb von Linux-Distributionen • Verursacht 35% des gesamten(!!!) Internettraffics (2004) • Netzwerk mit Servern (hier: Tracker) die Peers vermitteln • Netzwerk ist nicht zusammenhängend: Jede Datei kann eigenes Netz (ein Tracker) haben => Dadurch kann jeder eine Datei ins Netz stellen ohne sich Gedanken über andere Netzinhalte zu machen • Keine Möglichkeit Dateien zu Suchen ! • Download einer Datei: . torrent – Datei aus dem Internet herunterladen die Tracker und Dateidaten(Größe, Hash, …) enthält ->Funktionsweise
Funktionsweise:
Allgemeine Daten: • Erfinder: Justin Frankel (Nullsoft) • Gnutella=GNU+Nutella • Absolut dezentrales Netzwerk ohne Server (Peer=„Servent“) • Ursprünglich kleines Experiment (2 Mannwochen) • Sollte besserer Nachfolger von Napster sein das auf einen Server angewiesen war • AOL kaufte Nullsoft und legte Projekt auf Eis • Frankel gibt sein Wissen weiter und Gnutella wird Open. Source Projekt ->Clients
Clients: Windows Linux/Unix Gnotella Toadnode Gnucleus Bear. Share* Lime. Wire Shareaza* Phe. X Gnewtella Gnut Lime. Wire Gtk-Gnutella Mutella Phex Qtella * Closed source ->Suche
Suchfunktion: Eine Suchanfrage wird direkt an die Verbundenen Servents geleitet. Diese schicken die Suchanfrage wiederum an ihre verbundenen Servents weiter. Die Reichweite der Suchanfrage wird jedoch durch TTL(Time to live) begrenzt (Einstellung, Bandbreitenabhängig, Meist TTL=7) Anonymes Suchen: Nur benachbarte Servents kennen den Suchenden ->Struktur
Netzstruktur: Bei TTL=7 Horizont von ca. 10000 Peers Knotengröße entspricht Bandbreite! ->Protokoll
Protokoll: HEADER: • Descriptor ID: ID des „Packets“ • Payload Descriptor: Typ des Payloads • TTL: Time to Live • Hops: Passierte Servents • Payload Length: Länge des folgenden Payloads ->Payload
Protokoll: Payload (Nutzlast) der Deskriptoren: Ping: Kein Payload Pong: Query: (Suche) Query Hit: Push request: (Bei Firewall) ->Zukunft
Zukunft von P 2 P: Schaffung eines P 2 P-Standards für alle Plattformen und Endgeräte JXTA von Sun für Java Schwachpunkte bestehender Netzwerke verbessern: -Indexserver abschaffen -Overhead minimieren -Verschlüsselung -Sicherheit
Quellen unter anderem: www. wikipedia. org http: //www. inf. fu-berlin. de/inst/agnbi/lehre/04/S_P 2 PNET/index. html http: //p 2 p. at-web. de/ http: //www. kefk. net http: //www. computerbase. de www. cachelogic. com Copyright der verwendeten Images liegt bei obigen Quellen M@il: Mario. Firefox@gmx. de
- Slides: 25