Was ist Peer-to-Peer?

Peer-to-Peer oder kurz P2P wird auch als „Kommunikation unter Gleichen“ oder in einigen Fällen als „Querkommunikation“ bezeichnet. Gemeint ist damit ein Netzwerk, in dem alle Rechner gleichberechtigt sind und über dieselben Funktionen verfügen. Anders als in einem klassischen Client-Server-Modell, bei dem Clients Anfragen stellen und diese vom Server beantwortet werden, können in einem Peer-to-Peer-Netzwerk sämtliche Parteien sowohl als Server als auch als Client fungieren. Das gesamte Netzwerk ist somit dezentral organisiert und verzichtet völlig auf einen übergeordneten Server. In einfachen P2P-Netzwerken werden alle Rechner miteinander verbunden, in komplexeren Peer-Peer-Strukturen werden die Teilnehmer in Gruppen aufgeteilt.

Wie funktioniert Peer-to-Peer?

Um zu verstehen, wie Peer-to-Peer funktioniert, lohnt zunächst der Blick auf die klassische Client-Server-Struktur: Um eine Datei zu downloaden, öffnen Sie Ihren Browser, besuchen die entsprechende Website und stellen dann eine Anfrage an den Server. Dieser stellt Ihnen die gesuchte Datei zur Verfügung und überträgt sie auf Ihren Computer. Die Übertragung läuft also ausschließlich in eine Richtung und die Rollen von Client und Server sind klar verteilt.

Wenn Sie innerhalb dieses Peer-to-Peer-Netzwerks eine Datei herunterladen wollen, senden Sie die Anfrage nicht an einen zentralen Server, sondern an zahlreiche Computer gleichzeitig. Alle Rechner oder Peers (eng. für „Gleichgestellte“), die diese Datei enthalten, stellen sie Ihnen zur Verfügung. So laden Sie einzelne Teile von unterschiedlichen Quellen herunter. Zugleich stellen sie alle bereits erhaltenen Teile wieder bereit, sodass andere Nutzerinnen und Nutzer die Datei nun auch von Ihrem Rechner erhalten können. Die Übertragung läuft also gleichzeitig in viele verschiedene Richtungen, wobei alle angeschlossenen Rechner in einem P2P-Netzwerk gleichermaßen als Quelle und Zielort fungieren können.

Welche P2P-Architekturen gibt es?

Es gibt zahlreiche unterschiedliche Peer-to-Peer-Architekturen und -Strukturen. P2P-Netzwerke lassen sich grob in strukturierte Systeme und unstrukturierte Systeme unterteilen. Auch der Grad der Zentralisierung oder Dezentralisierung spielt bei der Unterscheidung verschiedener Peer-to-Peer-Systeme eine große Rolle.

Strukturierte und unstrukturierte Peer-to-Peer-Systeme

Unstrukturierte P2P-Systeme enthalten keine Informationen über die Wege zwischen den einzelnen Quellen und dem Zielort. Daten oder Fragmente lassen sich somit nur auf dem Zielsystem finden. Diese Peer-to-Peer-Netzwerke funktionieren meistens über Suchanfragen. Wird eine Datei benötigt, sendet der Empfänger eine Anfrage an alle Rechner im P2P-Netzwerk. Dieses Vorgehen wird als Flooding bezeichnet.

Wenn mehr Systeme in einem Netzwerk integriert sind, steigen auch die Anforderungen an das gesamte P2P-System. In strukturierten P2P-Systemen werden die Informationen über Übertragungswege oftmals in verteilten Hashtabellen (DHT) gespeichert. Suchanfragen können dadurch zielgerichteter gestellt und aus einem verteilten Index beantwortet werden. Das Flooding entfällt bei dieser Methode.

Zentrale und dezentrale P2P-Netzwerke

Peer-to-Peer-Systeme werden außerdem in zentrale und dezentrale Netzwerke unterteilt. Zentralisierte P2P-Netzwerke nutzen einen zentralen Server, der die Verwaltung des gesamten Systems übernimmt. Dieser ist mit dem Server anderer Netzwerktypen vergleichbar. Bestimmte Aufgaben oder Rechte können in einem zentralisierten Peer-to-Peer-System allerdings auch auf mehrere Rechner verteilt werden, die dann z. B. Datenströme oder Adresslisten verwalten. Möchten neue Nutzerinnen oder Nutzer einem solchen Peer-to-Peer-Netzwerk beitreten, müssen sie zunächst persönliche Daten auf diesen Servern hinterlegen. Lediglich der eigentliche Datenaustausch findet weiterhin zwischen den einzelnen Rechnern statt und wird durch die Server nur kontrolliert.

Dezentralisierte Peer-to-Peer-Systeme verzichten vollständig auf eine solche Kontrollinstanz. Stattdessen werden alle Informationen auf sämtlichen Rechnern hinterlegt. Diese Herangehensweise birgt allerdings einige Risiken, weshalb es ein paar angepasste Ansätze gibt. Bei Friend-to-Friend- oder Web-of-Trust-Netzwerken wird die Last zwar ebenfalls auf alle Schultern gleichermaßen verteilt, im jeweiligen P2P-Netzwerk werden dafür aber nur Nutzerinnen und Nutzer zugelassen, die untereinander bekannt sind. Dieses Trusted-Friends-Prinzip schafft eine Vertrauensbasis und beugt Missbrauch des dezentralen Peer-to-Peer-Systems vor.

Hybride Peer-to-Peer-Netzwerke

Ein Sonderfall sind hierarchische oder hybride P2P-Netzwerke. Diese sind zwar in ihren Grundzügen ebenfalls dezentral, setzen allerdings auf besonders leistungsstarke Rechner innerhalb der Community, die durch eine große Bandbreite und hohe Rechenleistung wichtige Teile der Infrastruktur beisteuern können. Insbesondere Verwaltungsaufgaben werden über diese sogenannten Supernodes erfüllt. Der restliche Datentransfer läuft dabei weiterhin zwischen den einzelnen Rechnern ab.

Welche Vorteile bietet Peer-to-Peer?

Peer-to-Peer-Systeme bieten zahlreiche Vorteile, weshalb viele Unternehmen und Communitys Zeit und Ressourcen in die Entwicklung und Weiterentwicklung der P2P-Netzwerke stecken. Zu den wichtigsten Vorzügen gehören folgende:

Skalierbarkeit

Theoretisch ist die Leistungsfähigkeit eines Peer-to-Peer-Netzwerks unbegrenzt. Je mehr Rechner dem System beitreten, desto leistungsstärker wird es. Schließlich stellt jeder neue Teilnehmer seine Leistung, Speicher und Bandbreite in den Dienst der gesamten Community. Die gesamte Last des P2P-Netzwerks ist auf viele Schultern gleichzeitig verteilt.

Sicherheit

Das stärkt auch die Sicherheitsarchitektur eines Peer-to-Peer-Netzwerks. Da es zumindest in dezentralisierten Systemen keinen Hauptserver gibt, kann dieser auch nicht angegriffen werden. Auch wenn einer der Rechner im Netzwerk ausfällt, hat dies nur geringe Auswirkungen auf den gesamten Betriebsablauf. Lediglich Störungen an einem Supernode machen sich im größeren Rahmen bemerkbar. Das betrifft auch den Angriff mit Malware, der zwar einem einzelnen Rechner zusetzen kann, in der Regel vom System im Verbund allerdings abgewehrt wird.

Flexibilität

In P2P-Netzwerken können sämtliche Aufgaben flexibel verteilt werden. Das betrifft die angesprochenen Ausfälle, die sich optimal abfedern lassen, kann aber auch im ungestörten Betrieb von Vorteil sein. Während im Client-Server-Modell für einige Anforderungen besonders anspruchsvolle Hardware nötig ist, lassen sich die Aufgaben bei Peer-to-Peer so aufteilen, dass jeder und jede seinen oder ihren Beitrag leistet und dabei vergleichbare oder sogar größere Ressourcen bereitgestellt werden.

Welche Nachteile hat Peer-to-Peer?

Die Vorteile des Peer-to-Peer-Computings sind auf den ersten Blick sehr überzeugend. Doch gibt es aber auch einige Nachteile, die zumindest im Vorfeld bedacht werden sollten. Dazu zählen insbesondere folgende Aspekte:

Aufwand

Die Verwaltung und Organisation eines großen Peer-to-Peer-Netzwerks sind vergleichsweise aufwendig. Weil unter Umständen eine zentrale Kontrollinstanz fehlt, müssen Änderungen und Probleme in einem großen Verbund geklärt werden.

Abhängigkeiten

Zwar funktionieren P2P-Systeme insgesamt unabhängiger als Client-Server-Lösungen, dies kann aber auch einen gegenteiligen Effekt haben. Veränderungen an einem Rechner innerhalb des Netzwerks haben unter Umständen Auswirkungen auf alle anderen Systeme, da schließlich alle zusammenhängen. Auch die Datenverfügbarkeit kann eingeschränkt werden, wenn Daten auf einem Rechner gelöscht werden und die entsprechenden Fragmente auch von anderen Teilnehmern nicht mehr angeboten wird. Auch das Flooding belastet alle angeschlossenen Systeme und führt unter Umständen zu hohen Anforderungen an die einzelnen Rechner.

Rechtliche Probleme

Die Freiheit ist eigentlich ein großer Vorteil des Peer-to-Peer-Ansatzes. Dieser kann allerdings auch missbraucht werden. Laden User beispielsweise urheberrechtlich geschützte Inhalte hoch, ist das nur sehr schwer zu unterbinden. Auch hier spielt die fehlende Kontrollinstanz eine große Rolle. Auch die Verfolgung ist in einem P2P-Netzwerk deutlich komplizierter.

Wo wird Peer-to-Peer angewendet?

Um Teil eines Peer-to-Peer-Netzwerks zu werden, benötigen Sie spezielle P2P-Software, die Sie auf Ihrem Rechner installieren. Im Anschluss können Sie verschiedene Anwendungen und Dienste nutzen, die nach dem Peer-to-Peer-Prinzip funktionieren. Dazu gehören:

Filesharing

Die bekannteste und wohl am kontroversesten diskutierte Form von Peer-to-Peer waren lange Zeit Tauschbörsen und Filesharing-Angebote im Internet. Problem: Es kam in vielen Fällen zu Urheberrechtsverletzungen. Grundsätzlich ist Filesharing aber legal und auch sehr praktisch. Ein P2P-Netzwerk ist dabei nur eine von mehreren möglichen Methoden.

Messenger und VoIP

Auch Messaging- oder VoIP-Dienste (Video over IP) nutzen häufig die P2P-Herangehensweise und setzen auf verschiedene Knotenpunkte anstelle eines zentralen Servers.

Distributed Computing

In der Forschung kommt Peer-to-Peer in Form von Distributed Computing zum Einsatz. Hierbei werden Teilprozesse auf unterschiedlichen Rechnern durchgeführt und am Ende zu einem Gesamtergebnis zusammengeführt.

Blockchains

Auch in der Welt der Kryptowährungen und Blockchains ist P2P ein wichtiger Faktor. So funktionieren die Transaktionen ohne zentralen Server oder Zwischenhändler.

Interne Netzwerke

Im Bürokontext kann ein Peer-to-Peer-Netzwerk ebenfalls sehr sinnvoll sein. Daten von allen Rechnern stehen dabei allen berechtigten Personen jederzeit zur Verfügung. Dazu können Scanner, Drucker und andere Arbeitsmaterialien vom Netzwerk aus angesteuert werden.