18
Chord Chord Peer-to-Peer-Protokoll http://pdos.csail.mit.edu/chord/ Till Janetzki ([email protected]) Seminar "Internet Routing“, Technische Universität Berlin WS 2007/2008 - 8. Februar 2008

Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

Chord

Peer-to-Peer-Protokollhttp://pdos.csail.mit.edu/chord/

Till Janetzki([email protected])

Seminar "Internet Routing“,Technische Universität Berlin

WS 2007/2008 - 8. Februar 2008

Page 2: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● Protokoll für quasi beliebig große P2P-Netzwerke

● strukturiertes Overlay Netzwerk

● implementiert als verteilte Hash Tabelle (DHT)

● bietet nur Basisoperationen

● MIT-Lizenz

Was ist Chord ? 2/18

Page 3: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● Was ist Chord ?

● Motivation

● Aufbau

● Suchen und Einfügen

● Eigenschaften

● Simulation

● Zusammenfassung

Überblick 3/18

Page 4: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● effizientes Suchen/Routen ist ein zentrales Problem in großen Peer-to-Peer-Netzwerken (P2P)

● Angestrebt: trotz minimalem Wissen über das Netzwerk, schnell Suchen zu können

● garantiert korrekte Suchergebnisse

Motivation 4/18

Page 5: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● virtueller Ring der Größe

● Daten und Knoten im selben Wertebereich

● ID berechnet sich aus Hash der IP-Adresse

● Jeder Knoten ist zuständig für seine Vorgängerschlüssel

Aufbau

2m

Schlüssel

5/18

Page 6: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● jeder Knoten kennt seinen Vorgänger- und Nachfolgerknoten

● weitere Knoten (Finger)

● Finger sind die Knoten die an 1,2,4,8,..., -ter Position im Ring folgen

● ist dort kein Knoten wird der nächst- folgende Knoten verwendet

Fingertabelle

logm

2m−1 Schlüssel

6/18

Page 7: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● Verbindung mit direkten Nachbarknoten genügt

● neuer Knoten n ermittelt eigene ID und fragt nach

Nachfolgerknoten

● n informiert diesen

● n füllt Fingertabelle mit Hilfe benachbarter Tabellen

● Integration mittels Stabilisierungsfunktion der anderen Knoten

Einfügen von Knoten 7/18

Page 8: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● gesucht wird zunächst der Vorgängerknoten

● immer der größtmögliche Eintrag aus der Fingertabelle wird

befragt

● pro Weiterleitung wird die Distanz mindestens halbiert

● Suchdistanz liegt im Mittel bei

Suchen

12 logn

8/18

Page 9: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● Knoten 0 sucht den Nachfolger von Schlüssel 11

● Knoten 0 fragt Knoten 9 und wird zu 10 weitergeleitet

● Knoten 10 weiß das Knoten 13 der

Nachfolgerknoten ist

Suchen - Beispiel

Schlüssel

9/18

Page 10: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● 3 Komponenten: Stabilisierung, Überprüfung der Finger und des Vorgängerknotens

● periodisch aufgerufen

● reicht nicht in allen Fällen, z.B. sind Kreise im Netz möglich

● Reparaturalgorithmus wird nur im Notfall ausgeführt

Stabilisierung 10/18

Page 11: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● Lastverteilung

● Dezentralisierung

● Skalierbarkeit

● Flexible Namensgebung

● Robustheit

Eigenschaften - Vorteile 11/18

Page 12: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● fehlende Anonymität

● Latenz - unter Umständen zu lang

● keine regionale Lastverteilung

● alle Aussagen nur mit „hoher Wahrscheinlichkeit“

Eigenschaften - Nachteile

12 logn

12/18

Page 13: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

Chord

● verteilte Indexsuche

● verteiltes Rechnen

● Kooperatives Spiegeln (z.B. Coral)

● Hosten ohne dauernde Verbindung

Anwendungen 13/18

Page 14: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

ChordSimulation 1

● in Protokollsimulator und realen Netzen

● grundlegende Bestätigung der Aussagen

● auch Ausfall von mehr als 50% der Knoten kein Problem

● aber: Korrektheit nicht bewiesen

14/18

Page 15: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

ChordSimulation 2

● Lastverteilung Problematisch, Lösung: virtuelle Knoten

● Latenz skaliert gut aber Anfangslatenz sehr hoch

Anzahl der Knoten Anzahl der Knoten

Sch

lüss

el p

ro K

note

n

Late

nz in

ms

15/18

Page 16: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

ChordZusammenfassung

● hoch skalierbar

● Einfügen: ; Suchen:

● nicht für kleine Netze geeignet

● garantiert korrekte Suchergebnisse

● sehr flexibel

● nicht so verbreitet wie andere DHTs (z.B. Kademlia)

● diverse Umsetzungen z.B. Open Chord, Chord#

log2n 1

2 logn

16/18

Page 17: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

ChordQuelle

● Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the 2001 conference on applications, technologies, architectures, and protocols for computer communications, pages 149–160. ACM Press, 2001.

17/18

Page 18: Peer-to-Peer-Protokoll Till … · 2016-08-31 · Chord Quelle Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup

ChordFragen?

Schlüssel

Knoten

18/18