Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung.

Ähnliche Präsentationen


Präsentation zum Thema: "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung."—  Präsentation transkript:

1 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung Christian Schindelhauer

2 Algorithmen für Peer-to-Peer- Netzwerke 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel I

3 Algorithmen für Peer-to-Peer- Netzwerke 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Termine Vorlesung: –jeden Freitag 9-11 (c.t.), Raum F0.530 Übung –Einteilung durch StudInfo{flex}, Link auf –http://wwwcs.upb.de/cs/ag-madh/WWW/Teaching/2004SS/AlgoP2P/ –Gruppe A: Mo (Christian Schindelhauer) –Gruppe B: Mo (Peter Mahlmann) –Gruppe C: Mo (Peter Mahlmann) Anmeldung zum Vorrechnen –Wer zuerst kommt, mahlt zuerst...

4 Algorithmen für Peer-to-Peer- Netzwerke 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel II

5 Algorithmen für Peer-to-Peer- Netzwerke 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wiederholung Ein Peer-to-Peer-Netzwerk ist ein Kommunikationsnetzwerk zwischen Rechnern, indem jeder Teilnehmer sowohl Client als auch Server-Aufgaben durchführt. In einem Peer-to-Peer-Netzwerk werden verteilte Rechenresourcen durch direkte Kommunikation gemeinsam genutzt. Ein Peer-to-Peer-Netzwerk ist kein Client-Server-Netzwerk!

6 Algorithmen für Peer-to-Peer- Netzwerke 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie funktioniert Napster? Client-Server-Struktur Server unterhält – Index mit Meta-Daten Dateiname, Datum, etc –Tabelle der Verbindungen der teilnehmenden Clients –Tabelle aller Dateien der teilnehmenden Clients Query –Client fragt nach Dateinamen –Server sucht nach passenden Teilnehmern –Server antwortet, wer die Datei besitzt –Anfrage-Client lädt Datei von datei- besitzenden Client herunter

7 Algorithmen für Peer-to-Peer- Netzwerke 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie gut ist Napster? Vorteile –Napster ist einfach –Dateien werden schnell und effizient gefunden Nachteile –Zentrale Struktur erleichtert Zensur, feindliche Eingriffe und technisches Pannen wie z.B. Denial-of-Service-Angriff –Napster skaliert nicht d.h. mit zunehmender Teilnehmerzahl verschlechtert sich die Performanz Speicher auf dem Server endlich Resumee –Napster keine akzeptable Peer-to-Peer-Netzwerklösung –Bis auf den Download-Aspekt ist Napster im eigentlichen Sinne kein P2P- Netzwerk

8 Algorithmen für Peer-to-Peer- Netzwerke 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gnutella - Originalversion - Anfrage Dateianfrage –wird an alle Nachbarn geschickt –diese senden sie an ihre Nachbarn –bis zu einer vorgegebenen Anzahl von Hops TTL-Feld (time to live) Wenn Datei gefunden wurde, direkter Download

9 Algorithmen für Peer-to-Peer- Netzwerke 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gnutella - Verbindungsstruktur Graphstruktur –entsteht durch zufälligen Prozess –unterliegt Pareto-Verteilung –entsteht unkontrolliert Gnutella Schnappschuss im Jahr 2000

10 Algorithmen für Peer-to-Peer- Netzwerke 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gnutella - Diskussion Vorteile –verteilte Netzwerkstruktur –Netzwerk skalierbar Nachteil –Durch TTL findet für Abfragen eine implizite Netzwerkpartitionierung statt –Dadurch Anfrageerfolg gering –Durch lange Wege, große Latenzzeiten Verbesserungsvorschläge –Random Walks statt Broadcasting –Passive Replikation von Information entlang des Pfads Häufigkeit der Replikate nimmt im Quadrat des Abstands ab

11 Algorithmen für Peer-to-Peer- Netzwerke 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kazaa, Gnutella (II), Morpheus Hybride Struktur –Knoten mit großer Bandbreite werden zu P2P-Server ausgewählt –Diese unterhalten P2P-Netzwerk im Stil von Gnutella –Normale Knoten werden als Clients an diese Super-Knoten angebunden Eingesetzt in –Kazaa –Morpheus –Gnutella (neuere Ausgabe) Vorteile –Verbesserte Skalierbarkeit –Geringere Latenzzeiten Nachteile –Immer noch unzuverlässig und langsam –Clients können sich der Super-Node- Aufgabe verweigern

12 Algorithmen für Peer-to-Peer- Netzwerke 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Zusammenfassung Lackmus-Test für P2P-Netzwerk –Sind variable Verbindungen und temporäre Netzwerverbindungen die Norm? –Sind die Kanten des Netzwerks autonom? Strukturen von P2P-Netzwerken Zentral –siehe Napster Rein dezentral –siehe Gnutella (Original-Version) Teilweise zentralisiert –siehe Kazaa und neu Version von Gnutella

13 Algorithmen für Peer-to-Peer- Netzwerke 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Warum manche Netzwerke nicht skalieren

14 Algorithmen für Peer-to-Peer- Netzwerke 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Warum skaliert Napster nicht? Napster –Client-Server-Struktur entspricht Stern-Topologie –Grad des Graphen n-1 n Anzahl der Peers –Der Stern-Graph ist 1- zusammenhängend Ein Graph ist k-zusammenhängend, –wenn es k Knoten gibt, nach deren Entfernung der Graph unzusammenhängend ist –wenn nach Entfernen von k-1 beliebigen Knoten der Graph noch zusammenhängend ist. Napster skaliert nicht, weil –der Grad des Graphen ist groß Flaschenhals in Kommunikation – und der Zusammenhang ist schwach keine robuste Konstruktion

15 Algorithmen für Peer-to-Peer- Netzwerke 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Warum skaliert Gnutella nicht? Gnutella –Graph-Struktur ist zufälliger Verbindungsgraph –Grad des Graphen klein –Durchmesser gering –Zusammenhang groß Suche aber aufwändig –Um ein Datum sicher zu finden, muss das gesamte Netzwerk durchsucht werden Gnutella skaliert nicht, weil –Keine Struktur in der Datenablage

16 Algorithmen für Peer-to-Peer- Netzwerke 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Warum skalieren Kazaa und Co. nicht? Hybride Struktur –Durchmesser gering –Zusammenhang kann hoch gewählt werden durch Anzahl Super-Nodes per Client –Grad gering Skaliert –nicht so schlecht wie Gnutella oder Napster –nicht gut, da jeder Super-Node jede Anfrage der Clients erhält

17 Algorithmen für Peer-to-Peer- Netzwerke 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Content Addressable Network CAN

18 Algorithmen für Peer-to-Peer- Netzwerke 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Zwei Fragen zur Informationsfindung Wo ist es? Wie dorthin kommen? Napster: –Wo? Auf dem Server –Wie dorthin? Zum Serverstau Gnutella –Wo? Weiss nicht –Wie dorthin? Alle fragen Besser: Wo ist Datum x? –An der Stelle f(x) –Was ist f(x)? Eine allen Teilnehmern bekannte Abbildung von x auf einem Raum Wie komme ich dorthin? –Durch eine Route die mir den Weg von meinen Standort zu f(x) aufzeigt.

19 Algorithmen für Peer-to-Peer- Netzwerke 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eine Hash-Tabelle als Peer-to-Peer-Netzwerk Jeder Peer steht für eine Speicherstelle 0,1,2,..,n-1 –Eine allen Peers bekannte Hash-Funktion, z.B. für n = 7 f(x) = (3x+1 mod 23) mod 7 –Peers sind als Kette verbunden Suche –Berechne f(x) –Gehe zu Peer mit Adresse f(x) entlang der Linie Peers Indexdaten f(23)=1 f(1)=4

20 Algorithmen für Peer-to-Peer- Netzwerke 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Von der Hash-Tabelle zur Distributed Hash- Table (DHT) Hash-Tabellen Vorteile Suche einfach Nachteile –Ein neuer Peer verursacht neue Wahl der Hash-Funktion –Lange Wege Distributed Hash-Table Peers werden an eine Stelle gehasht und erhalten Bereiche des Wertebereichs der Hashfunktion zugeteilt Daten werden auch gehasht –Je nach Bereich den Peers zugeordnet Peers Indexdaten f(23)=1 f(1)=4

21 Algorithmen für Peer-to-Peer- Netzwerke 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Einfügen in die Distributed Hash-Table (DHT) Distributed Hash-Table –Peers werden an eine Stelle gehasht –Dokumente ebenso –Jeder ist für einen Bereich verantwortlich Kommt ein neuer Knoten hinzu –müssen die Nachbarn teilen Verlässt ein Knoten das Netzwerk –übernehmen die Nachbarn sein Gebiet

22 Algorithmen für Peer-to-Peer- Netzwerke 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eigenschaften DHT Vorteile –Jedes Datum kann einem bestimmten Peer zugewiesen werden –Einfügen und Entfernen von Peers erzeugt nur Veränderungen in den benachbarten Peers DHTs werden von vielen P2P- Netzwerken benutzt Noch zu klären: –Die Verbindungsstruktur Peers Indexdaten f(23)=1 f(1)=4

23 Algorithmen für Peer-to-Peer- Netzwerke 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet

24 Algorithmen für Peer-to-Peer- Netzwerke 24 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer A Scalable Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Dick Karp Mark Handley Sylvia Ratnasamy Paul Francis Scott Shenker

25 Algorithmen für Peer-to-Peer- Netzwerke 25 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer

26 Algorithmen für Peer-to-Peer- Netzwerke 26 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene

27 Algorithmen für Peer-to-Peer- Netzwerke 27 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

28 Algorithmen für Peer-to-Peer- Netzwerke 28 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

29 Algorithmen für Peer-to-Peer- Netzwerke 29 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

30 Algorithmen für Peer-to-Peer- Netzwerke 30 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

31 Algorithmen für Peer-to-Peer- Netzwerke 31 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

32 Algorithmen für Peer-to-Peer- Netzwerke 32 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

33 Algorithmen für Peer-to-Peer- Netzwerke 33 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer

34 Algorithmen für Peer-to-Peer- Netzwerke 34 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie groß/klein können solche Flächen werden R(p) : Rechteck eines Peers p A(p) : Fläche des Rechteck eines Peers p n : Anzahl Peers Anfangsquadrat: Fläche 1 Lemma Für alle Peers p gilt 1. 2.Sei P R,n die Wahrscheinlichkeit, dass keines der n Peers in das Rechteck R hineinfällt. Dann gilt

35 Algorithmen für Peer-to-Peer- Netzwerke 35 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die erwartete Fläche eines Peers in CAN Beweis von 1. Seien {1,..,n} die Peers. Dann gilt: Ferner gilt wegen Symmetrie Damit gilt:

36 Algorithmen für Peer-to-Peer- Netzwerke 36 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Ein nichtgetroffenes Rechteck Beweis von 2. Betrachte ein Rechteck R der Fläche x=Vol(R) Die Wahrscheinlichkeit, dass ein Peer nicht in diese Fläche fällt, ist Die Wahrscheinlichkeit, dass n Peers nicht in R hineinfallen ist Damit ist die Wahrscheinlichkeit dafür höchstens weil für alle R

37 Algorithmen für Peer-to-Peer- Netzwerke 37 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie groß kann ein nicht getroffenes Rechteck sein? Aus 2. folgt für ein Rechteck R i Fläche 2 -i Es genügen also Peers um R i mit Wahrscheinlichkeit1- n -c zu teilen. Diese kommen jetzt hintereinander. Sei nun Damit wird ein Rechteck der Fläche mit Wkeit nicht geteilt R1R1 R2R2 R3R3 R4R4

38 Algorithmen für Peer-to-Peer- Netzwerke 38 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie gleichmäßig werden die Daten verteilt? Lemma Mit Wahrscheinlichkeit (log n) n -c wird ein Rechteck der Größe 2c(ln n)/n nicht geteilt. Wenn m Elemente insgesamt gespeichert werden, –so erhält jeder Peer also maximal 2 c (ln n) m/n Elemente, –während der Durchschnitt m/n Elemente speichert Also speichert jeder Peer höchstens 2c (ln n) mal mehr als der Durchschnittspeer mit hoher Wahrscheinlichkeit.

39 Algorithmen für Peer-to-Peer- Netzwerke 39 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Lookup in CAN Zuerst wird Ort des Indexes durch Berechnung der Hash-Funktion bestimmt Zwischen den Besitzer benachbarter Rechtecke bestehen Kanten Anfrage wird in Richtung des Index weitergeleitet d Dimension des Quadrats –1: Linie –2: Quadrat –3: Würfel –4:... Erwartete Anzahl Hops in d Dimensionen: n 1/d Durchschnittlicher Grad eines Knotens: O(d)

40 Algorithmen für Peer-to-Peer- Netzwerke 40 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Bewertung CAN Vorteile –Einfaches robustes Verfahren –Balanciert die Datenmenge –Kleiner Grad –Netzwerk ist stark zusammenhängend, dadurch robust –Kennt verschiedene Wege zum Ziel und kann dadurch Routen optimieren Nachteil –Durchmesser bei konstanten Dimensionen des Raums polynomiell groß

41 41 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee Paderborn Tel.: / Fax: / Vielen Dank Ende der 2. Vorlesung Nächste Vorlesung: Fr Nächste Übung: Mo


Herunterladen ppt "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 30.04.2004 2. Vorlesung."

Ähnliche Präsentationen


Google-Anzeigen