17
Vorlesung Vorlesung P2P Netzwerke P2P Netzwerke 2: Unstrukturierte 2: Unstrukturierte Netze Netze Dr. Dominic Battré Complex and Distributed ITSystems dominic battre@tu berlin de dominic.battre@tuberlin.de Inhalt Napster Erstes "P2P" Netzwerk Kein wirkliches P2P Enormes Medienecho Æ Popularität für P2P Gnutella Gnutella Erstes "echtes" P2P Netzwerk Interessante Netzwerkeigenschaften Interessante Netzwerkeigenschaften Eigenschaften von Gnutella Pareto Netzwerke ParetoNetzwerke SmallWorld Netzwerke Super Peer Netzwerke SuperPeer Netzwerke 11.04.2009 2 Dominic Battré P2P Netzwerke

Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

VorlesungVorlesungggP2P NetzwerkeP2P Netzwerke2: Unstrukturierte 2: Unstrukturierte NetzeNetze

Dr. Dominic Battré

Complex and Distributed IT‐Systems

dominic battre@tu berlin dedominic.battre@tu‐berlin.de

Inhalt

● Napster■ Erstes "P2P" Netzwerk

■ Kein wirkliches P2P

■ Enormes Medienecho  Popularität für P2P

● GnutellaGnutella■ Erstes "echtes" P2P Netzwerk

■ Interessante Netzwerkeigenschaften■ Interessante Netzwerkeigenschaften

● Eigenschaften von Gnutella■ Pareto Netzwerke■ Pareto‐Netzwerke

■ Small‐World Netzwerke

● Super Peer Netzwerke● Super‐Peer Netzwerke

11.04.2009 2Dominic Battré ‐ P2P Netzwerke

Page 2: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Inhalte der Vorlesung (vorläufig)

U k i NEinleitung•Was ist P2P?• Definition

Fortgeschrittenes• Sicherheit

Unstrukturierte Netze• Napster• Gnutella• Super Peer Netzwerke• Einsatzgebiete • Super‐Peer Netzwerke• Small‐World Netzwerke etc.

Strukturierte Netze• Verteilte Hash‐Tabellen

• Grundlagen• Chord, CAN, Pastry, Kademlia• Programmieren von DHTs

Anwendungen• OceanStore• BabelPeers• Programmieren von DHTs

• Gradoptimierte Netzwerke• SkipNet, P‐Grid• Lastverteilung in strukturierten Netzen

• Amazon•Multicast

11.04.2009 Dominic Battré ‐ P2P Netzwerke 3

Literatur

● The Gnutella Protocol Specification v0.4h l d h● Mihajlo A. Jovanovic, Fred S. Annexstein, Kenneth A. Berman: 

"Scalability Issues in Large Peer‐to‐Peer Networks A Case Study of Gnutella". Technical report, University of Cincinnati, January2001.

● Albert‐Laszlo Barabasi, Reka Albert: "Emergence of Scaling in Random Networks", Science, Vol 286, 1999.Random Networks , Science, Vol 286, 1999.

● Duncan J. Watts, Steven H. Strogatz: "Collective dynamics of'small‐world' networks", Nature, Vol 393, 1998.K h i A L h Mi h l K f "R d● Katharina A. Lehmann, Michael Kaufmann: "Random Graphs, Small‐Worlds and Scale‐Free Networks", Peer‐to‐Peer Systems and Applications

● Réka Albert, Hawoong Jeong, Albert‐László Barbási: "Error andattack tolerance of complex networks", Nature, Vol 406, 2000

11.04.2009 Dominic Battré ‐ P2P Netzwerke 4

Page 3: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Napster

● Netzwerk zum Tauschen von MP3‐Dateien

● Geschichte:

■ Mai 1999: Shawn Fanning (NortheasternUniversity) gründet "Napster Online music service"University) gründet  Napster Online music service

■ Dezember 1999: Erster Rechtsstreit

■ März 2000: University of Wisconsin: 25% des IP Datenaufkommens sind Napster Pakete

■ Dezember 2000: geschätzte 60 Millionen Anwender

■ Februar 2001: US Circuit Court of Appeals:■ Februar 2001: US Circuit Court of Appeals: Napster weiß dass die Anwender Copyright‐Rechte verletzen: Napster wird geschlossen

■ 2002: Bankrott

■ September 2008: Aufkauf durch Best Buy

11.04.2009 Dominic Battré ‐ P2P Netzwerke 5

Napster

● Fokussiert: Einfache Anwendung (suche nach Musikdateien)

● Suche über zentralen Server

● Datenaustausch dezentralDatenaustausch dezentral

Registrierung Suche

Datenaustausch

Registrierung, Suche

NapsterServer

11.04.2009 Dominic Battré ‐ P2P Netzwerke 6

Page 4: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Napster

● Funktionsweise■ Verbinde mit Napster Server

■ Hochladen der eigenen Dateiliste auf den Serverg

■ Suche per Schlüsselwort‐Liste über den Server

■ Wähle beste Antwort aus

■ Direktverbindung mit Ziel‐Peer zum Download

● Nachteile● Nachteile■ Zentraler Server

♦ Single Point of Failure♦ Single Point of Failure

♦ Skalierbarkeit?

■ Rechtliche ProblemeRechtliche Probleme

11.04.2009 Dominic Battré ‐ P2P Netzwerke 7

Gnutella

● Kein zentraler Server mehr

● Peers werden Servents genannt

11.04.2009 Dominic Battré ‐ P2P Netzwerke 8

Page 5: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Overlay‐Netzwerk

● Gnutella ist sog. Overlay über dem Internet

11.04.2009 Dominic Battré ‐ P2P Netzwerke 9

Problemstellungen

● Bootstrapping■ Woher kenne ich Knoten im Netzwerk?

■ Mit welchen Knoten verbinde ich mich?

● Suche■ Wie finde ich Knoten, die Datei XYZ.MP3 anbieten?■ Wie finde ich Knoten, die Datei XYZ.MP3 anbieten?

■ Wie finde ich den besten Knoten, der Datei XYZ.MP3 anbietet?

■ Der beste Knoten?♦ Verbindung?

♦ Auslastung?

♦ Qualität der Datei?

11.04.2009 Dominic Battré ‐ P2P Netzwerke 10

Page 6: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Lösungen

● Bootstrapping■ Allgemein bekannte Knoten (über Webserver)

■ Liste mit bekannten Knoten von vorheriger Sessiong

■ Weitere Knoten über die Startknoten kennenlernen

● SucheSuche■ Flooding: Suche an alle Knoten weiterschicken

■ Knoten merken sich IDs von gesehen Nachrichten, dies■ Knoten merken sich IDs von gesehen Nachrichten, dies verhindert Schleifen

■ TTL (Time to Live) begrenzt die Laufzeit einer Nachricht( ) g

11.04.2009 Dominic Battré ‐ P2P Netzwerke 11

Gnutella Nachrichten

QUERY (0x80)Header für alle Nachrichten

Min Speed 2 Bytes

Search Criteria n Bytes

QUERY HIT (0x81)

Descriptor ID 16 Bytes

Payload Descr. 1 Byte

TTL 1 ByteQUERY HIT (0x81)

Nb. of Hits 1 Byte

Port 2 Bytes

Hops 1 Byte

Payload Length 4 Bytes

PING (0x00)

keine weiteren Felder

IP Address 4 Bytes

Speed  4 Bytes

Result Set:

PONG (0x01)

Port 2 Bytes

Result Set:

‐ File Index 4 Bytes

‐ File Size 4 Bytes

IP Address 4 Bytes

Nb. of shared Files 4 Bytes

Nb. of shared KBytes 4 Bytes

‐ File Name (+\0\0) n Bytes

‐ … (weitere Result.)

Servent Identifier 16 Bytes

11.04.2009 Dominic Battré ‐ P2P Netzwerke 12

Nb. of shared KBytes 4 Bytes Servent Identifier 16 Bytes

Page 7: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Abholen der Dateien

● Direkte Verbindung zum Servent

● Transfer durch HTTP

● Wenn Servent hinter Firewall liegt:Wenn Servent hinter Firewall liegt:■ PUSH Nachricht über Gnutella routen

PUSH (0x40)

Servent Identifier 16 Bytes

File Index 4 Bytes

IP Address 4 Bytes

Port 2 BytesPort 2 Bytes

11.04.2009 Dominic Battré ‐ P2P Netzwerke 13

Routing in Gnutella

Ping / Pong Query / Query Hit Push

PING

QUERY

HIT

PUSH

PINGPING

PONG QUER

Y QUERY H

ITHIT

PUSH

PUSH

PING

Push File

11.04.2009 Dominic Battré ‐ P2P Netzwerke 14

Page 8: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Probleme von Gnutella

● Hohe Netzwerklast

● Flooding ist äußerst unstrukturierte Vorgehensweise:■ Ich frage fast jeden, ob er eine Datei liefern kanng j ,

■ Begrenzung nur durch TTL

● Durch TTL werden evtl Dateien nicht gefunden● Durch TTL werden evtl. Dateien nicht gefunden

● Gnutella‐Topologie hat nichts mit realer Topologie zu tun■ Zig Zack Routen■ Zig‐Zack Routen

■ Daraus folgen hohe Latenzzeiten

11.04.2009 Dominic Battré ‐ P2P Netzwerke 15

Eigenschaften von Gnutella

● Was für ein Netzwerk wird aufgebaut?

● Ist das Netzwerk rein zufällig?

● Oder hat es bestimmte Eigenschaften?Oder hat es bestimmte Eigenschaften?

● Woher kommen diese Eigenschaften?

● Gibt es sog "Emergenz" bzw "Selbstorganisation"?● Gibt es sog.  Emergenz  bzw.  Selbstorganisation ?

11.04.2009 Dominic Battré ‐ P2P Netzwerke 16

Page 9: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Gradverteilung

Quelle: Jovanovic Annexstein Berman:Quelle:  Jovanovic, Annexstein, Berman: Scalability Issues in Large Peer‐to‐Peer Networks –A Case Study of Gnutella

log(Anzahl Peers mit Grad d) = c – k log(d)

11.04.2009 Dominic Battré ‐ P2P Netzwerke 17

g( ) g( )

Gradverteilung

● Allgemein: Power‐Law (Pareto‐Verteilung)

kxCxX == )Pr( kxxX −∝= )Pr(Auch geschrieben als

● Bei Gnutella: C=94, k=1.4

● Was hat man davon?● Was hat man davon?■ Power‐Law Netzwerke sind robust

Es gibt viele Knoten mit kleinem Grad deren Ausfall nicht so■ Es gibt viele Knoten mit kleinem Grad, deren Ausfall nicht so schlimm ist

● Wie kommt das zustande?● Wie kommt das zustande?■ „Preferential Attachement“: die Reichen werden reicher

11.04.2009 Dominic Battré ‐ P2P Netzwerke 18

Page 10: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Robustheit

● Nimm ein Netzwerk mit 10.000 Knoten, 20.000 Kanten (durchsch Grad 4) und entferne zufällig ausgewählte Knoten(durchsch. Grad=4) und entferne zufällig ausgewählte Knoten

● Zufallsnetzwerk G(n, p):■ Entferne 5% der Knoten: Größte Komponente hat 9000 Knotenp■ Entferne 18% der Knoten: Alle Komponenten zwischen 1 und 100 

Knoten■ Entferne 45% der Knoten: Nur Gruppen von 1 oder 2 Knoten■ Entferne 45% der Knoten: Nur Gruppen von 1 oder 2 Knoten 

überleben● Power‐law Netzwerk:

E f 5% d K N i li K b h■ Entferne 5% der Knoten: Nur isolierte Knoten brechen weg■ Entferne 18% der Knoten: Größte Komponente hat 8000 Knoten■ Entferne 45% der Knoten: Immernoch große Komponenteng p

● Achtung: gilt nur für zufällige Ausfälle!

Albert, et al. Error and attack tolerance of complex networks, Nature Vol 406, 2000Albert, et al. Error and attack tolerance of complex networks, Nature Vol 406, 2000

11.04.2009 Dominic Battré ‐ P2P Netzwerke 19

Modell für Preferential AttachementPreferential Attachement

● Barabási‐Albert‐Modell:■ Starte mit kleinem Netzwerk mit ein paar Kanten und Knoten

■ Pro Schritte füge einen Knoten hinzug

■ Füge m Kanten vom neuen zu den bestehenden Knoten mit einer Wahrscheinlichkeit hinzu, die Proportional zum Grad des Knoten ist

● Effekt: Knoten verbinden sich mit bereits gut verbundenen Knoten mit höherer Wahrscheinlichkeit

11.04.2009 Dominic Battré ‐ P2P Netzwerke 20

Page 11: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Milgram's Experiment

● Wie sehen "reale" Netzwerke aus?● Soziales Netzwerk von Menschen: Wer kennt wen?● Milgram's Experiment (1967):

■ Briefe an einen Freund von Milgram wurden an zufällige Personen in Kansas u. Nebraska verschickt"R i I f i "■ "Routing‐Informationen":♦ Name der Zielperson♦ Ort (Boston)♦ Ort (Boston)♦ Beruf (Börsenmakler)

■ Anweisung: nur an Du‐Freunde weitergebeng g● Ergebnis: durchschnittlich 6 Schritte bis zum Ziel!● (aber nur 3 von 60 Paketen kamen an)

11.04.2009 Dominic Battré ‐ P2P Netzwerke 21

Milgram's Experiment

11.04.2009 Dominic Battré ‐ P2P Netzwerke 22

Quelle: http://en.wikipedia.org/wiki/File:Map_of_USA_with_state_names.svg

Page 12: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Milgram's Experiment

● Wie ist das möglich?

● These: Soziale Netzwerke haben folgende Eigenschaften:■ Großer Clustering‐Koeffizientg

■ Kleiner Durchmesser bzw. charakteristische Pfadlänge

● Clustering‐Koeffizient eines Knotens:● Clustering Koeffizient eines Knotens:

{ } { } )()(,),(|)(,)1)()((

)(,|),()( iNidEjijiN

ididiNkjEkj

iC =∈=∈∈

=

■ N(i) = Nachbarn von id(i) A d

)1)()(( idid −

■ d(i) = Ausgangsgrad● Clustering‐Koeffizient eines Graphen: avg(C(i))

11.04.2009 Dominic Battré ‐ P2P Netzwerke 23

Milgram's Experiment

● Wie ist das möglich?

● These: Soziale Netzwerke haben folgende Eigenschaften:■ Großer Clustering‐Koeffizientg

■ Kleiner Durchmesser bzw. charakteristische Pfadlänge

● Durchmesser:● Durchmesser: ■ Längster kürzester Pfad zwischen zwei Knoten

● Charakteristische Pfadlänge:● Charakteristische Pfadlänge: ■ Durchschnittlicher kürzester Pfad zwischen zwei Knoten

11.04.2009 Dominic Battré ‐ P2P Netzwerke 24

Page 13: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Randnotiz: Erdös‐Nummer

Paul Erdös (1913 – 1996)Berühmter Mathematiker

Frage: Über wie viele Schritte ist jemand als Co‐Autor mit Paul Erdös verbunden?

Odej Kao ist Co‐Autor von Klaus H. Ecker

Beispiel: Odej Kao hat Erdös‐Nummer 4:

Klaus H. Ecker ist Co‐Autor von Helmut Ratschek

Helmut Ratschek ist Co‐Autor von Egbert Harzheim 

Egbert Harzheim ist Co‐Autor von Paul Erdös

11.04.2009 Dominic Battré ‐ P2P Netzwerke 25

Eigenschaften von Gnutella

● Untersuchung von 2000:

Knoten Kanten Durch‐messer

Clustering Koeffizient charakteristische Pfadlängemesser Pfadlänge

Gnutella Gnutella Zufallsgr. Gnutella Zufallsgr.

13.11.2000 992 2465 9 0.0351 0.0078 3.72 4.49

16.11.2000 1008 1782 12 0.0109 0.0056 4.43 5.54

20.12.2000 1077 4094 10 0.0652 0.0094 3.31 3.66

27.12.2000 1026 3752 8 0.0630 0.0102 3.30 3.71

28.12.2000 1125 4080 8 0.0544 0.0090 3.33 3.77

● Ergebnis: Clustering‐Koeffizient deutlich größer als beim Zufallsgraph, charakteristische Pfadlänge ähnlich bis kleiner

11.04.2009 Dominic Battré ‐ P2P Netzwerke 26

Page 14: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Watts und Strogatz

● Netzwerk‐Modell von Watts und Strogatz:■ Starte mit einem Ring, jeder Knoten ist mit m/2 Nachfolgern verbunden

■ Durchlaufe den Ring und ersetze mit Wahrscheinlichkeit p das Ziel einer Kante durch ein zufällig ausgewähltes neues Ziel

■ Modelliert Übergang zwischen Ordnung und Chaos

● Eine kleine Anzahl von zufälligen Links reicht aus, um den Durchmesser zu reduzieren

11.04.2009 Dominic Battré ‐ P2P Netzwerke 27

Modell von Watts und StrogatzWatts und Strogatz

p=0                                                                                                                           p=1 

11.04.2009 Dominic Battré ‐ P2P Netzwerke 28

Page 15: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Übergang bei Watts / Strogatz

C: Clustering‐Koeffizient

11.04.2009 Dominic Battré ‐ P2P Netzwerke 29

gL: Charakteristische Pfadlänge

Netzwerktypen

● Small‐World Networks■ Hoher Clustering‐Koeffizient

♦ Transitivität: wenn A B kennt und A C kennt, dann kennen sich B und C mit hoher W’keit

♦ Viele kleine (beinahe‐) Cliquen

■ Geringer Durchmesser

● Power‐Law Networks / Scale‐Free Networks■ Wenige Knoten mit hohem Grad

11.04.2009 Felix Heine ‐ P2P Netzwerke 30

Page 16: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Zusammenfassung Gnutella

● Gnutella hat:■ Gradverteilung nach Power‐Law

■ Einen hohen Clustering‐Koeffizienteng

■ Einen kleinen Durchmesser

Gnutella erzeugt ein Small‐World‐Netzwerkmit Power Law Gradverteilungmit Power‐Law Gradverteilung.

Das passiert selbstorganisierend (emergent)

11.04.2009 Dominic Battré ‐ P2P Netzwerke 31

Super‐Peer Netze

● Idee: Kern‐Netz aus "Super‐Peers"

● Die "normalen" Knoten sind per Client/Server angebunden:

Super Peer

Leaf Node

11.04.2009 Dominic Battré ‐ P2P Netzwerke 32

Page 17: Vorlesun Netzwerke P2P - cit.tu-berlin.de · Napster Funktionsweise vVerbinde mit Napster Server v Hochladen der ei g enen Dateiliste auf den Server v Suche per Schlüsselwort r Liste

Super‐Peer Netze

● Nachteile:■ Nicht die reine Lehre

■ Super‐Peers müssen hohe Last aushaltenp

■ Wer ist Super‐Peer?♦ Automatische Auswahl vs. Selbstbestimmung

● Vorteile:■ Weniger Fluktuationg

■ Kleineres Netzwerk

■ Effizientere Suche■ Effizientere Suche

■ Alle P2P‐Mechanismen lassen sich im Super‐Peer Netz anwenden

11.04.2009 Dominic Battré ‐ P2P Netzwerke 33