Einführung in Peer-to-Peer Netzwerke

Ähnliche Dokumente
Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt

Inhalte der Vorlesung. Ziele der Vorlesung. Dr. Felix Heine Complex and Distributed IT-Systems

Peer-to-Peer Internet Telephony using the Session Initiation Protocol (SIP)

Verteilte Systeme - P2P-Computing

Bayeux. Dirk Ewerlin

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Peer-to-Peer- Netzwerke

Lookup Performanz von Verteilten Hashtabellen

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Software ubiquitärer Systeme

Eigenschaften typischer Peer-to-Peer-Systeme

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Organic Computing: Peer-to-Peer-Netzwerke

Beyond Music File Sharing: A Technical Introduction to P2P Networks

Verteilte Systeme. Benennungen und Namenssysteme. Hinweis: Dieser Foliensatz enthält nur die Teilthemen, die nicht selbst zu erarbeiten waren.

OP-LOG

Facts & Figures Aktueller Stand IPv4 und IPv6 im Internet. Stefan Portmann Netcloud AG

Transition vom heutigen Internet zu IPv6

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Guide DynDNS und Portforwarding

Analyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Übungen zur Softwaretechnik

Formular»Fragenkatalog BIM-Server«

OPERATIONEN AUF EINER DATENBANK

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Man liest sich: POP3/IMAP

1CONFIGURATION MANAGEMENT

WINDOWS 8 WINDOWS SERVER 2012

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

EXCHANGE Neuerungen und Praxis

Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten

SolarWinds Engineer s Toolset

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Anleitung zur Nutzung des SharePort Utility

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Einrichtung von VPN für Mac Clients bei Nortel VPN Router

Technische Grundlagen von Internetzugängen

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

11 Peer-to-Peer-Netzwerke

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Multicast Security Group Key Management Architecture (MSEC GKMArch)

I Peer-to-Peer-Systeme

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Inhalte der Vorlesung (vorläufig)

I Peer-to-Peer-Systeme

DOMAIN NAME SYSTEM (DNS) JULIA KRISCHIK, INTERNETPROTOKOLLE WS 2012/13

Datenschutzfreundliche Soziale Netzwerke: spontan und kurzlebig

Anbindung des eibport an das Internet

Context based Cognitive Radio for LTE-Advanced Networks

Sichere und effiziente Namensauflösung für dezentrale IP-Telefonie

GLASFASERNETZ DATACENTER RHEIN-NECKAR RHEIN-NECKAR-CLOUD MULTIMEDIA. Fixed Line BESCHREIBUNG. carrier ethernet TBFL_PFK_MA_

How to install freesshd

Wie macht man einen Web- oder FTP-Server im lokalen Netzwerk für das Internet sichtbar?

Clustering (hierarchische Algorithmen)

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Root-Server für anspruchsvolle Lösungen

Kurzanleitung So geht s

Information Retrieval in P2P-Netzen

Benutzerhandbuch bintec R1200 / R1200w(u) / R3000 / R3000w / R3400 / R3800(wu) GRE

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Multiplayer Anweisungen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Das Kerberos-Protokoll

Client-Server mit Socket und API von Berkeley

System-Update Addendum

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Installation und Inbetriebnahme von SolidWorks

HP Software Patch- und Version-Notification

TK-Schnittstelleneinrichtung. Redundante Softswitches

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Lizenzierung von System Center 2012

Rolf Wanka Sommersemester Vorlesung

Dynamisches VPN mit FW V3.64

ICS-Addin. Benutzerhandbuch. Version: 1.0

HBF IT-Systeme. BBU-BSK Übung 2 Stand:

Benutzerhandbuch bintec R4100 / R4300 Configuration Management. Copyright 17. Juli 2006 Funkwerk Enterprise Communications GmbH Version 1.

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Apache HBase. A BigTable Column Store on top of Hadoop

Powermanager Server- Client- Installation

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Netzwerkeinstellungen unter Mac OS X

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Private oder public welche Cloud ist die richtige für mein Business? / Klaus Nowitzky, Thorsten Göbel

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Sage Customer View für Windows 8 Funktionen

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Freifunk Halle. Förderverein Freifunk Halle e.v. IT Sicherheitskonzept. Registernummer bei der Bundesnetzagentur: 14/234

Wir bringen Ihre USB Geräte ins Netz Ohne Wenn und Aber!

Open Source als de-facto Standard bei Swisscom Cloud Services

Infrastruktur fit machen für Hochverfügbarkeit, Workload Management und Skalierbarkeit

Transkript:

Einführung in Peer-to-Peer Netzwerke Die Geschichte von Peer-to-Peer Die Natur von Peer-to-Peer: Paradigmen Unstrukturierte Peer-to-Peer Systeme Strukturierte Peer-to-Peer Systeme 1 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

A Peer-to-Peer system is a self-organizing system of equal, autonomous entities (peers) which aims for the shared usage of distributed resources in a networked environment avoiding central services. Andy Oram 2 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Die alte Zeit NetNews (nntp) DNS Usenet seit 1979, anfänglich realisiert durch UUCP Austausch (Replikation) von abonnierten News Artikeln Gruppenerzeugung und Löschung dezentral Verteilte Delegation von Namenshoheiten: file sharing der host Tabellen Name Servers sind Peers Hierarchischer Informationsraum erlaubt exponentielles Wachstum Systeme sind manuell konfigurierte verteilte Peers 3 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

SETI@home: Verteiltes Rechnen Search for Extraterrestrial Intelligence (SETI) Analysiert Funksignale aus dem All Global geteilte Rechenressource Idee 1995 Erste Version 1998 22 4 Mio clnts Z.B. Screensaver From Anderson et. al.: SETI@home, Comm. ACM, 45 (11), Nov. 22 http://setiathome.berkeley.edu/ - läuft weiter 4 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Napster Mai 1999: Aufrütteln der Internet Gemeinde, die erste Generation von File Sharing: Napster Anwender laden nicht nur Daten, sondern offerieren selber Teilnehmer etablieren ein virtuelles Netzwerk, vollständig unabhängig von physikalischem Netzwerk und administrativen Autoritäten oder Beschränkungen Basis: UDP und TCP Kanäle zwischen Peers Napster steuert zentralisiertes Indexing bei Clients laden ihre Dateilist auf Napster Server Clients befragen Index Server erhalten vollständige Anbieterliste Datenaustausch unmittelbar zwischen Peers 5 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Napster Dezember 1999: RIAA klagt gegen Napster Inc. März 2: University of Wisconsin identifiziert 25 % ihres IP Verkehrs als Napster Daten Februar 21: 2.79 Milliarden Files werden pro Monat via Napster getauscht July 21: Napster Inc. wird verurteilt Angriffspunkt der RIAA: der zentrale Indexserver von Napster Napster muss dessen Betrieb einstellen Napster Netzwerk bricht zusammen Napster hat (technisch & rechtlich) an seinem Single Point of Failure versagt. 6 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Gnutella Völlig dezentralisiertes File Sharing Open source software März 2: Release.4 basiert auf Netzwerkfluten Baldiger Zusammenbruch Frühjahr 21: Release.6 erhöhte Skalierbarkeit 7 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Gnutella.4 Reines P2P System kein zentraler Indexing Server Operationen: 1. Verbinde mit einem aktiven Peer (Addressfindung beim Bootstrap) 2. Erkunde Nachbarschaft (PING/PONG) 3. Setze Query einer Liste von Schlüsselworten an die Nachbarn ab (diese leiten weiter) 4. Suche beste der richtigen Anworten (die nach einer Weile eintrudeln) 5. Verbinde mit anbietendem Peer Skalierungsprobleme durch Netzwerkfluten Suchen können irrtümlich erfolglos sein 8 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Gnutella.4: Arbeitsweise 9 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Gnutella.6 Hybrides P2P System Einführung von Superpeers Erhöhte Skalierbarkeit: Signalisierung wird auf Superpeers beschränkt Wahlmechanismus entscheidet über die Auszeichnung als Superpeer oder Leafnode (abhängig von Knotenkapazitäten, Netzwerkkonnektivität, Lebenszeit, ) Leafnodes annoncieren ihr Inhaltsangebot zu ihrem Superpeer Superpeers halten lokale Routingtabellen 1 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Gnutella.6: How Does It Work From: J. Eberspächer, R. Schollmeier: First and Second Generation Peer-to-Peer Systems, in LNCS 3485 11 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Das Gnutella Netzwerk Measurements from May 22 From: J. Eberspächer, R. Schollmeier: First and Second Generation Peer-to-Peer Systems, in LNCS 3485 12 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Skype VoIP Konferenzsystem Release 23 Zentraler Login-Server Sonst hybrides P2P System Kernfunktionen: Teilnehmerlokalisierung Traversierung von NAT & Firewalls (STUN) Wählt Superpeers nach Netzwerkkonnektivität Nutzt Superpeers als Relays 13 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Einfluss von P2P auf das Abilene Backbone Unidentified + data_transfers + file_sharing verursacht 9% des datenverkehrs Unidentified traffic + data_transfers wächst signifikant Teile von P2P-Daten bleiben verborgen (port hopping, ) Einige P2P Applikationen nutzen Port 8 data_transfers Traffic portions in % per week 1% 9% 8% 7% 6% 5% 4% 3% 2% 1% % 18.2.22 18.4.22 18.6.22 18.8.22 18.1.22 18.12.22 18.2.23 18.4.23 18.6.23 18.8.23 18.1.23 14 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt 18.12.23 18.2.24 18.4.24 Unidentified Data_Transfers File_Sharing 18.6.24 18.8.24 Core of Internet2 infrastructure, connecting 19 US universities and research centers Possible data transfers Only Signaling Data source: http://netflow.internet2.edu/weekly/

Die Natur von P2P P2P Netzwerke bilden ein Overlay der Netzwerk Infrastruktur Sind auf der Anwendungsschicht implementiert Die Overlay Topologie bildet ein virtuelles Signalisierungsnetzwerk via TCP Verbindungen Peers sind Inhaltsanbieter + Inhaltskonsumenten + Router im Overlay Netzwerk Adressen: Eindeutige IDs 15 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

P2P im Paradigma verteilter Systeme Koordination zwischen gleichen Komponenten Dezentralisiert & selbstorganisierend Unabhängig von individuellen Peers Skalierbar in extremem Maße Hohe Dynamik durch volatile Teilnehmer Geschützt gegen Fehler der Infrastruktur und Teilnehmer Anreizgesteuert statt kontrolliert 16 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

P2P im Paradigma des Internetworking Lose, zustandsfreie Koppelung zwischen Peers Serverlos & ohne infrastrukturelle Entitäten Dynamische Adaptation an die Netzwerk Infrastruktur Überwindung von NATs und Portbarrieren Client-Server reduziert auf die Kommunikationsschnittstelle, kein Anwendungsparadigma mehr Back to the Internet roots : Freiheit von Information Freiheit der Skala Aber auch: Freiheit von der Internet Infrastruktur & Regulierung 17 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

P2P Anwendungsgebiete File sharing Medienkonferenzen Resource Sharing: Grids Kollaborative Groupware Verteilte Spiele Inhaltsbasierte Netze: z.b. Semantische Netze Geschäftsanwendungen: z.b. Market Management Ubiquitous Computing: z.b. Vehicular Communication 18 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Psychoacoustics From: J. Eberspächer, R. Schollmeier: First and Second Generation Peer-to-Peer Systems, in LNCS 3485 19 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Herausforderungen in Peer-to-Peer Systemen? I have item D. Where to place D? D? Data item D distributed system I want item D. Where can I find D?? 12.5.7.31 peer-to-peer.info berkeley.edu planet-lab.org 89.11.2.15 95.7.6.1 86.8.1.18 7.31.1.25 Ressourcenlokalisierung der zwischen Systemen verteilten Daten Wo sollen meine Daten gespeichert/registriert werden? Wie findet ein Suchender diese auf? Skalierbarkeit: Beschränke die Komplexität von Kommunikation und Speicher Robustheit und Korrektur bei Fehlern und häufigen Wechseln 2 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Unstrukturierte P2Ps - Resümee Zwei Strukturansätze: Zentralisiert Einfache, flexible Suche auf Server (O(1)) Single point of failure, O(N) Serverzustände Dezentralisiertes Fluten Aber: Fehlertolerant, O(1) Knotenzustände Kommunikationsaufwand O(N 2 ), Suchen teilweise erfolglos Es gibt keine Referenzstruktur zwischen den Knoten 21 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Unstrukturierte P2P: Komplexitäten Flooding Communication Overhead O(N) O(log N) O(1) Bottleneck: Communication Overhead False negatives? Scalable solution between both extremes? Bottlenecks: Memory, CPU, Network Availability Central Server O(1) O(log N) O(N) 22 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Idee: Verteilte Indexierung Ursprüngliche Ideen für verteilten gemeinsamen Speicher (1987 ff.) Knoten werden in einem Adressraum strukturiert Daten werden in den selben Adressraum abgebildet Zwischenknoten erhalten Routing-Informationen über Zielknoten Effizientes Auffinden der Ziele Zuverlässiges Auffinden vorhandener Ziele H( my data ) = 317 79 18 1622 211 227? 611 3485 296 23 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Skalierbarkeit verteilter Indexierung Kommunikationsaufwand: O(log(N)) Hops Knotenzustände: O(log(N)) Routeneinträge H( my data ) = 317 79 18 1622 211 227 Routing in O(log(N)) steps to the node storing the data? 611 3485 296 Nodes store O(log(N)) routing information to other nodes 12.5.7.31 berkeley.edu planet-lab.org peer-to-peer.info 89.11.2.15 95.7.6.1 86.8.1.18 7.31.1.25 24 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Verteilte Indexierung: Komplexitäten Communication Overhead O(N) O(log N) O(1) Flooding Bottleneck: Communication Overhead False negatives Distributed Hash Table Scalability: O(log N) No false negatives Resistant against changes Failures, Attacks Short time users Bottlenecks: Memory, CPU, Network Availability Central Server O(1) O(log N) Node State 25 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt O(N)

Grundlagen verteilter Hash Tabellen Distributed Hash Tables (DHTs) Gewünschte Eigenschaften: Flexibilität, Zuverlässigkeit, Skalierbarkeit Designherausforderungen für DHTs: Gleichverteilung der Inhalte auf die Knoten Kritisch für effiziente Inhaltsauffindung Kontinuierliche Anpassung an Fehler, Joins, Exits Zuweisung von Verantwortlichkeiten auf neue Knoten Neuverteilung von Verantwortlichkeiten bei Knotenwegfall Pflege der Routing Informationen 26 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Verteiltes Datenmanagement 1. Abbildung der Knoten und Daten in den selben Adressraum Peers und Inhalte nutzen flache Identifizierer (IDs) Knoten verantwortlich für definierte Teile des Adressraums Assoziation von Daten zu Knoten ändert sich, wenn Knoten verschwinden 2. Speichern / Auffinden von Daten in der DHT Suche von Daten = Routing zu verantwortlichem Knoten Verantwortlicher Knoten muss nicht vorab bekannt sein Zuverlässige Aussage über die Verfügbarkeit von Daten 27 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Addressierung in verteilten Hash Tabellen Step 1: Abbildung von Inhalten/Knoten in linearen Adressraum Gewöhnlich:,, 2 m -1 à Anzahl zu speichernder Objekte Adressabbildung per Hash Funktion z.b. Hash(String) mod 2 m : H( my data ) 2313 Zuordnung von Adressbereichen zu DHT Knoten 3485-61 611-79 18-1621 1622-21 211-226 227-295 296-3484 (3485-61) 2 m -1 H(Node Y)=3485 Data item D : H( D )=317 Y 28 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt X H(Node X)=296 Often, the address space is viewed as a circle.

Abbildung des Adressraums zu Knoten Jeder Knoten ist verantwortlich für Teil des Wertebereichs Oft redundant (Überlappen der Bereiche) Kontinuierliche Anpassung Reale (Underlay) und logische (Overlay) Topologie unkorreliert Node 3485 is responsible for data items in range 297 to 3485 (in case of a Chord-DHT) 79 18 1622 211 227 Logical view of the Distributed Hash Table 611 3485 296 Mapping on the real topology 29 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Auffinden/Routen zu Daten? Step 2: Lokalisierung der Daten (content-based routing) Ziel: Einfach, mit skalierbarem Aufwand H( my data ) = 317 O(1) mit zentraler Hash Tabelle Minimaler Overhead mit Distributed Hash Tables 79 O(log N): DHT Hops zur Objektauffindung (N = # nodes) O(log N): Zahl der Schlüssel und Routen per Node 611 18 1622 3485 211 296 227 Key = H( my data ) Node 3485 manages keys 297-3485, Initial node (arbitrary) 3 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt (317, (ip, port)) Value = pointer to location of data

Auffinden/Routen zu Daten (2) Zugriff auf Kontent K/V-Paar wird an Suchenden zurückgegeben Suchender analysiert K/V-Tupel (und lädt Daten von Speicherort im indirekten Fall) H( my data ) = 317 79 18 Get_Data(ip, port) 1622 211 227 In case of indirect storage: After knowing the actual Location, data is requested? 611 3485 296 Node 3485 sends (317, (ip/port)) to requester 31 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

DHT Algorithmen Lookup algorithm for nearby objects (Plaxton et al 1997) Vor P2P später in Tapestry genutzt Chord (Stoica et al 21) Unmittelbare Umsetzung einer 1-dim. DHT Pastry (Rowstron & Druschel 21) Entfernungsoptimierte Nachbarschaftswahl CAN (Ratnasamy et al 21) Routenoptimierung in multidimensionalem ID-Raum Kademlia (Maymounkov & Mazières 22) 32 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Überblick Früher, erfolgreicher Algorithmus Simpel & elegant einfach zu verstehen und zu implementieren viele Erweiterungen und Optimierungen Kernaufgaben: Routing Logischer Adressraum: l-bit Identifiers statt IPs Effizientes Routing: log(n) Hops Selbstorganisation Verarbeitung von Knoteneintritt, -austritt und -fehlern 33 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Topologie Hash-table Speicherung put (key, value) fügt Daten in Chord ein Value = get (key) ermittelt Daten aus Chord Identifizierer durch consistent hashing Nutzt monotone, lastverteilende Hash Funktion z.b. SHA-1, 16-bit output <= identifier < 2 16 Key assoziiert mit Datenwert z.b. key = sha-1(value) ID assoziiert mit Host z.b. id = sha-1 (IP address, port) 34 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Topologie Keys und IDs auf Ring, d.h. Arithmetik modulo 2 16 (key, value) Paare zugeordnet im Urzeigersinn: Nachfolger ist zuständig 6 (successor) 7 1 1 successor(1) = 1 successor(6) = 6 6 Chord Ring 2 2 successor(2) = 3 5 4 3 2 X Identifier Node Key 35 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Topologie Topologie bestimmt durch Links zwischen Knoten Link: Wissen um Nachbarknoten Gespeichert in Routing Tabelle 7 1 Einfachste Topologie: kreisförmig verlinkte Liste 6 2 Jeder Knoten hat Verweis auf nächsten Knoten (im Uhrzeigersinn) 5 4 3 36 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Routing auf dem Ring? Primitives Routing: Schrittweise für key x bis successor(x) gefunden Ergebnisrückgabe direkt an Suchenden Pros: Einfach Feste Anzahl Knotenzustände 7 6 1 1 Node Key 6? Cons: Geringe Sucheffizienz: O(1/2 * N) durchschnittl. Hops (bei N Knoten) Knotenausfall bricht Kreis 6 5 4 3 2 2 37 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Verbessertes Routing auf dem Ring? Erweiterte Routeninformationen: Speichere Links für z Nachbarn, leite Suche nach k zu weitesten bekannten Vorgänger von k For z = N: vollständig vermaschtes Routing System Lookup-Effizienz: O(1) Knotenzustände: O(N) Weiterhin geringe Skalierbarkeit durch lineare Zustandszahl Skalierbares Routing: Mischung von nahen und fernen Links: Akkurates Routing in Nachbarschaft des Knoten Schneller Routing-Fortschritt über weite Distanzen Beschränkte Anzahl von Links per Knoten 38 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Routing Chord s RoutingTabelle: finger table Speichert log(n) Links per Knoten Überdeckt exponentiell wachsende Distanzen: Knoten n: Eintrag i zeigt auf successor(n + 2 i ) (i-th finger) finger table i start succ. keys 6 1 2 1 2 4 1 3 7 1 finger table i start 1 2 2 3 5 succ. 3 3 keys 1 6 2 5 3 finger table i start succ. keys 2 4 1 2 4 5 7 39 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Routing Chord s Routing Algorithmus: Jeder Knoten n leitet Suche für key k im Uhrzeigersinn zum entferntesten finger vor k bis n = predecessor(k) und successor(n) = successor(k) Rückgabe successor(n) zum Anfragenden i 2^i Target Link 52 1 i 2^i 4 43Target 42 45Link 1 2 1 41 44 24 53 42 4526 54 1 2 25 54 26 54 49 lookup 2 4 43 46 (44) (44) = 49 45 2 4 27 56 3 56 3 8 3 8 47 5 31 6 49 5233 6 4 164164 55 58 39 456 639 4 45 5 325325 1 7 55 213 7 56 23 44 56 54 42 39 37 6 63 33 3 4 26 7 23 13 14 16 19 4 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Selbstorganisation Handhabung veränderlicher Netzwerkbedingungen Knotenfehler Netzwerkfehler Ankunft neuer Knoten Verschwinden bisheriger Knoten Erhalt konsistenter Systemzustände Halte Routing Informationen aktuell Routing Korrektheit liegt in den richtigen Nachfolgerinformationen Routing Effizienz liegt in richtigen finger tables Fehlertoleranz für alle Operationen erforderlich 41 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

Chord: Knotenbeitritt Knoten bildet seine ID Kontaktiert bestehenden Chord Knoten (vom Bootstrapping) Sucht eigene ID und erfährt so seinen Nachfolger Erfragt (key, value) Paare vom Nachfolger Konstruiert finger table mittels Standard-Routing/lookup() finger table i start succ. keys 6 1 2 1 2 4 1 3 7 1 finger table i start 1 2 2 3 5 succ. 3 3 keys 1 6 2 finger table keys i 1 2 start 7 2 succ. 3 42 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt 5 4 3 finger table i start 1 2 4 5 7 succ. keys 2

Chord: Zusammenfassung Komplexität Nachrichten per lookup: O(log N) Speicherplatz per Knoten: O(log N) Nachrichten pro Managementaktion (join/leave/fail): O(log² N) Vorteile Theoretische Modelle und Beweise der Komplexität Einfach & flexibel Nachteile Keine Kenntnis der (Underlay-) Distanz Chord Ringe können in der Realität auseinander fallen Viele publizierte Verbesserungen z.b. Proximität, bi-directionale Links, Lastausgleich, etc. 43 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt

References Andy Oram (ed.): Peer-to-Peer, O Reilly, 21. R. Steinmetz, K. Wehrle (eds.): Peer-to-Peer Systems and Applications, Springer LNCS 3485, 25. C.Plaxton, R. Rajaraman, A. Richa: Accessing Nearby Copies of Replicated Objects in a Distributed Environment, Proc. of 9th ACM Sympos. on parallel Algor. and Arch. (SPAA), pp.311-33, June 1997. I. Stoica, R. Morris, D. Karger, F. Kaashoek, and H. Balakrishnan: Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. Proc. of the 21 ACM SigComm, pp. 149 16, ACM Press, 21. 44 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt