Lexikon

Peer-to-Peer-Networking & -Computing

Unter dem Begriff „Peer-to-Peer" etabliert sich ein höchst interessantes Paradigma für die Kommunikation im Internet. Obwohl ursprünglich nur für die sehr pragmatischen und rechtlich umstrittenen Dateitauschbörsen entworfen, können die Peer-to-Peer-Mechanismen zur verteilten Nutzung unterschiedlichster Betriebsmittel genutzt werden und neue Möglichkeiten für Internet-basierte Anwendungen eröffnen.

Zahlreiche Telekommunikationsunternehmen berichten, dass zur Zeit das Verkehrsaufkommen von Peer-to-Peer-Diensten etwa 50% des Gesamtvolumens ausmacht, in Spitzenzeiten sogar 75%. Aufgrund des weiterhin anhaltenden Wachstums des Internets hinsichtlich Teilnehmerzahlen und Datenaufkommen, aber auch durch die gestiegenen Anforderungen des ständig wachsenden Anwendungsspektrums, lassen sich zahlreiche Anwendungen mit den traditionellen, auf Client-Server-Ansätzen basierenden Methoden oft nur noch mit erheblichem Aufwand realisieren. Als aktuelle Beispiele sind hier neben Dateitauschbörsen insbesondere verteilte Dateisysteme und Grid-Computing zu nennen.

Im Zuge dieser jüngsten Entwicklungen lassen sich drei grundlegende Anforderungen an Internet-basierte Anwendungen im künftigen Internet identifizieren:

  • Die Skalierbarkeit ist eine elementare Voraussetzung, um den weiterhin steigenden Teilnehmerzahlen sowie dem immensen Ressourcenbedarf (Bandbreite, Speicherplatz, Rechenkapazität) bestimmter Anwendungen gerecht zu werden. So gilt es von Beginn an Flaschenhälse zu vermeiden, um auch ein Wachstum um mehrere Größenordnungen effizient bewältigen zu können.
  • Sicherheit und Verlässigkeit spielen im Zuge einer wachsenden Anzahl gezielter Angriffe (sog. „Distributed-denial-of-service-Attacken") auf zentrale Dienste eine entscheidende Rolle für die Verfügbarkeit strategisch wichtiger und sicherheitsrelevanter Dienste [Projekte: FreeNet http://freenet.sourceforge.net, Tarzan http://pdos.lcs.mit.edu/tarzan/] . Auch eine zensurresistente Speicherung von Daten und Anonymität gewinnt durch aktuelle Entwicklungen entscheidend an Bedeutung.
  • Mehr Flexibilität und Dienstgüte sind für die einfache und schnelle Integration neuer Dienste ein weiteres entscheidendes Erfolgskriterium künftiger Internet-Technologien. So konnten bisher dringend benötigte Dienste, wie etwa Gruppenkommunikation oder Mobilität, bis heute nicht mit einer adäquaten Qualität realisiert werden [Projekt i3: http://i3.cs.berkeley.edu] .

Somit wird deutlich, dass die seit Anfang der 80er-Jahre zunehmend eingesetzten Client-Server-basierten Anwendungen den neuen Anforderungen des Internets nicht mehr umfassend gerecht werden. Insbesondere zentrale Instanzen – deren Ressourcen zum Flaschenhals werden können, die gezielte Angriffspunkte darstellen oder, die aufgrund ihrer strategischen Lage im Netzwerk nicht ohne hohe Kosten modifiziert werden können – bereiten zunehmend Probleme. An dieser Stelle versprechen nun die Konzepte des Peer-to-Peer-Networking bzw. Peer-to-Peer-Computing durch einen grundlegenden Paradigmenwechsel die genannten Probleme einfacher lösen zu können. Es sei angemerkt, dass wir hier Peer-to-Peer-Networking nicht von Peer-to-Peer-Computing unterscheiden wollen, sondern uns auf „peer to peer" als Eigenschaft, Charakter, Verfahren bzw. Mechanismus konzentrieren.

Ausgehend von einer ersten Definition bei Oram wird unter einem Peer-to-Peer-System ein „sich selbst organisierendes System gleichberechtigter, autonomer Einheiten (Peers)" verstanden, „das vorzugsweise ohne Nutzung zentraler Dienste auf der Basis eines Rechnernetzes mit dem Ziel der gegenseitigen Nutzung von Ressourcen operiert" – kurzum ein System mit vollständig dezentraler Selbstorganisation und Ressourcennutzung .Neben diesen grundlegenden Prinzipien lassen sich Peer-to-Peer-Systeme nach unserem Verständnis durch die folgenden Charakteristika beschreiben, wobei oftmals nur im Idealfall alle Eigenschaften gleichzeitig zutreffen.

Zur dezentralen Ressourcennutzung

  1. Die relevanten Betriebsmittel (Bandbreite, Speicherplatz, Rechenkapazität) werden möglichst gleichmäßig verteilt genutzt und befinden sich an den sog. „Kanten" der Rechnernetze, bei den „Peers". Damit könnte man aus Sicht des Netzwerkes Peer-to-Peer-Systeme als die konsequente Weiterentwicklung des Ende-zu-Ende-Prinzips auffassen, das als eines der entscheidenden Prinzipien für den bisherigen Erfolg des Internets gilt.
  2. Eine Menge von Peers nutzen untereinander die von ihnen wiederum zur Verfügung gestellten Betriebsmittel. Die bekanntesten Beispiele solcher Betriebsmittel sind Speicherplatz (in Form von Dateien, u.a. mit Musik, Video und Programmen als Inhalt) und Prozessorleistung. Daneben sind aber auch Konnektivität, menschliche Präsenz oder aber geographische Nähe zu nennen. Beispiele hierfür sind Instant-Messaging-Daten und Gruppenkommunikationsanwendungen.
  3. Peers sind über das Netz miteinander verbunden und meist weltweit verteilt.
  4. Ein Peer ist oftmals nicht stets unter derselben Internet-Adresse zu identifizieren (variable Konnektivität).Typischerweise erhalten Peers beim Verbinden an das Netz jeweils eine neue Internet-Adresse dynamisch zugeteilt. Peers sind auch häufig über längere Zeit nicht am Netz angeschlossen oder gar abgeschaltet. Aufgrund dieser Unwägbarkeiten aber auch aus zahlreichen weiteren Gründen führen daher viele Peer-to-Peer-Anwendungen oberhalb der normalen Internet-Adressierung individuelle Adressräume ein. So werden Inhalte meist durch unstrukturierte Identifikatoren adressiert, die mit Hilfe von Hash-Funktionen aus den jeweiligen Inhalten gewonnen werden. Dies hat zur Folge, dass Daten nicht mehr mit ihrer Lokation (Adresse des Servers) identifiziert werden, sondern vielmehr durch den Inhalt selbst. Befinden sich beispielsweise mehrere Instanzen eines Datums im System, so kann jede dieser Instanzen das Ziel der Wegewahl werden. Das Auffinden eines Datums in einem Peer-to-Peer-System erfolgt somit durch eine inhaltsbasierte Wegewahl („content based routing") an Stelle der bislang angewandten ortsbezogenen Wegewahl.

Zur dezentralen Selbstorganisation

  1. Zur eigentlichen Nutzung der Betriebsmittel interagieren Peers direkt miteinander. Dies erfolgt im Allgemeinen ohne jegliche zentrale Steuerung. Hierin drückt sich wiederum ein ganz zentrales Merkmal von Peer-to-Peer-Systemen aus, das sie von traditionellen Client-Server-Systemen unterscheidet: während letztere Koordination ausgehend vom Server als ordnendes Paradigma verwenden, bauen Peer-to-Peer-Systeme auf Kooperation zwischen gleichberechtigten Partnern. Der Hintergrund dieses Wechsels begründet sich vor allem in der Vermeidung von Flaschenhälsen und dem Verlust von Zuverlässigkeit im Vergleich zu zentralisierten Lösungen.
  2. Der Zugriff auf bzw. Transfer der gemeinsam benutzten Betriebsmittel erfolgt direkt zwischen den Peers. Hierfür existiert kein zentraler Dienst. P2P-Systeme stehen für eine grundsätzliche Dezentralisierung der Steuerung, auch wenn im Sinne der Leistungssteigerung dann auch in existierenden Systemen unter Umständen zentrale Elemente eingefügt werden, beispielsweise um die Suche nach Betriebsmitteln effizienter zu gestalten. Man bezeichnet solche Systeme auch oft als hybride Peer-to-Peer-Systeme (Abb.1b).
  3. Peers selbst besitzen sowohl Client- als auch Server-Funktionalität, d.h. Peers sind beides zugleich (Abb.1c). Dies unterscheidet P2P-Systeme wesentlich von herkömmlichen Systemen mit asymmetrischer Funktionalitätsverteilung (Abb.1a) und führt sowohl zu erhöhter Flexibilität hinsichtlich der bereitgestellten Funktionalität als auch zu sehr unterschiedlichen Anforderungen an den Entwurf von Peer-to-Peer-Systemen.
  4. Peers sind untereinander gleichberechtigt. Sie besitzen individuell die vollständige Autonomie bezüglich ihrer jeweiligen Betriebsmittel.
  5. Das Auffinden von Ressourcen sollte möglichst ohne jeglichen zentralen Dienst erfolgen (in Abb.1a und 1b sind zentrale Dienste dafür vorhanden, in Abb.1c nicht). Idealerweise geschieht die gesamte Steuerung selbstorganisierend bzw. im ad-hoc-Modus. Wie bereits erwähnt kann hiervon im Sinne der Leistungssteigerung zwar abgewichen werden, ohne jedoch den dezentralen Charakter von P2P-Systemen völlig auszuhöhlen. Dies führt zu Peer-to-Peer-Systemen mit hybrider Struktur (Abb.1b).

Literatur

  1. Balakrishnan H., Kaashoek M. F., Karger D., Morris R., Stoica I.: Looking up data in P2P systems: Communications of the ACM 46 (2), Februar 2003
  2. Eberspächer J., Steinmetz R. (Hrsg.): Schwerpunktheft zu Peer-to-Peer, Praxis in der Informationsverarbeitung & Kommunikation (PIK). K. G. Sauer Verlag, Juni 2003
  3. Oram A.: Harnessing the power of disuptive technologies. O’Reilly, Sebastopol/CA, USA 2001
  4. Saltzer J. H., Reed D. P., Clark D. D.: End-to-end arguments in system design. ACM Transactions on Computer Systems 2 (4), 277 –288 (1984)

Hinweis: Die URLs entsprechen dem Stand bei der Veröffentlichung des Artikels und werden nicht aktualisiert.

Autor und Copyright

R. Steinmetz
TU Darmstadt, 
Darmstadt 
ralf.steinmetz@kom.tu-darmstadt.de

K. Wehrle
Universität Tübingen
Klaus.Wehrle@uni-tuebingen.de

DOI 10.1007/s00287-003-0362-9
© Springer-Verlag 2004