Suchen

Definition Was ist Peer-to-Peer (P2P)?

In einem Peer-to-Peer-Netzwerk sind alle Teilnehmer untereinander gleichberechtigt. Es existieren keine typischen Client-Server-Strukturen und jeder Rechner kann Funktionen, Ressourcen oder Services anbieten oder diese in Anspruch nehmen. Die Daten sind dezentral organisiert und verteilt.

Firma zum Thema

(© aga7ta - Fotolia)

In Peer-to-Peer-Systemen (P2P) arbeiten die verschiedenen Rechner gleichberechtigt zusammen. Jeder Rechner kann Anbieter oder Konsument von Dienstleistungen, Ressourcen oder Funktionen sein. Es handelt sich um eine dezentral organisierte Struktur, die ohne zentrale Server auskommt.

Grundsätzlich kann in einem Peer-to-Peer-Netzwerk jeder Rechner mit einem anderen Rechner verbunden sein. Einfache gleichberechtigte Strukturen organisieren sich völlig selbständig, komplexere Systeme können in Gruppen aufgeteilt sein, die jeweils spezifische Aufgaben erfüllen. Beispielsweise stellen einzelne Systeme übergeordnete Suchfunktionen zur Verfügung.

Peer-to-Peer-Netze lassen sich durch direkte Rechnerverbindungen oder durch Overlay-Netze per Internet realisieren. Das Client-Server-Modell stellt den genauen Gegensatz zum P2P-System dar, da bei diesem die Rollen des Servers und der Clients eindeutig verteilt sind. Der Server stellt Dienste bereit und die Clients nutzen diese.

Die verschiedenen Peer-to-Peer-Architekturen und -Strukturen

Es existieren verschieden Architekturen und Strukturen des P2P-Computings. Sie lassen sich in der Art der Strukturierung, dem Grad der Selbstorganisation und der Ausprägung der Dezentralität unterscheiden. In unstrukturierten Systemen sind keinerlei Informationen über die Wege zu den Zielsystemen mit den gewünschten Daten gespeichert. Außer dem tatsächlichen Zielsystem weiß kein Endsystem, wo spezifische Daten zu finden sind. Die Suche in diesen unstrukturierten P2P-Systemen wird daher meist mit Hilfe von Suchanfragen realisiert, die an alle beteiligte Systeme geschickt werden (Flooding). Steigt die Zahl der teilnehmenden Systeme, steigt auch die Belastung des P2P-Systems durch die Suche.

Strukturierte Systeme speichern Informationen über Wege zu den Daten auf einzelnen Endsystemen. Dadurch ist eine wesentlich effizientere Weiterleitung der Suchanfragen ohne Flooding möglich. Die Speicherung von Informationen auf verschiedenen Endsystemen ist beispielsweise durch verteilte Tabellen realisierbar.

Ein weiteres Unterscheidungsmerkmal beim P2P-Computing ist der Grad der Dezentralität. Die Unterscheidung ist davon abhängig, ob im Gesamtsystem ausschließlich dezentrale oder auch zentrale Elemente vorhanden sind. Bei einer vollständig dezentralen Verteilung müssen sämtliche Informationen auf den beteiligten und verteilten Rechnern vorgehalten werden.

Systeme mit zentralen Elementen verwenden Rechner, die für bestimmte Aufgaben und die Koordination des P2P-Systems eine Server-Rolle übernehmen. Beispielsweise verwalten sie Adressen oder Dateilisten der Teilnehmer. Neue Teilnehmer im P2P-Netz müssen zunächst ihre Informationen an den Server senden. Dieser ermöglicht eine effiziente Suche nach Daten im System. Der eigentliche Datenaustausch findet allerdings nach wie vor direkt von Teilnehmer zu Teilnehmer statt.

Es existieren zudem Peer-to-Peer-Systeme, in denen so genannte Supernodes zum Einsatz kommen. Diese sind P2P-Teilnehmer, die eine hohe Bandbreite und Rechenleistung besitzen. Sie stellen einen wesentlichen Teil der Ressourcen für das System zur Verfügung.

Vorteile des Peer-to-Peer-Modells

Eine Peer-to-Peer-Infrastruktur bietet gegenüber herkömmlichen Client-Server-Ansätzen eine ganze Reihe an Vorteilen. Einer der wesentlichen Vorzüge ist die hervorragende Skalierbarkeit des Systems. Je mehr Endsysteme am Gesamtsystem teilnehmen, desto höher ist dessen Leistungsfähigkeit und desto mehr Ressourcen sind verfügbar. Jedes einzelne System bringt zusätzliche Leistung in Form von Speicherplatz, Bandbreite oder Rechenkapazität mit ein.

Dank der vielen verschiedenen autark arbeitenden Teilnehmer beeinträchtigt der Ausfall eines einzelnen Rechners das komplette System kaum. Hohe Robustheit und Verfügbarkeit der Services sind die Folge. Auch gegenüber Angriffen von außen und gezielten Manipulationsversuchen sind diese Infrastrukturen sehr resistent. Bei Bedarf lassen sich Aufgaben im Rechnerverbund flexibel verteilen und den aktuellen Anforderungen individuell anpassen, ohne dass zusätzlich Hardware bereitzustellen ist. Ein Peer-to-Peer-System kann Arbeiten erbringen, für die unter Umständen in Client-Server-Strukturen teure Hochleistungsrechner notwendig sind.

Nachteile des Peer-to-Peer-Modells

Ein Nachteil des dezentralen P2P-Modells ist der hohe Aufwand für die Selbstorganisation und die Verwaltung der Teilnehmer. Veränderungen wie das Hinzufügen oder das Löschen von einzelnen Systemen haben Auswirkungen auf den kompletten Verbund und müssen in der P2P-Struktur bekannt gemacht werden.

Das initiale Fluten des Netzwerks und die Suche von Informationen führt zu einer hohen Belastung, die mit der Zahl teilnehmender Endsysteme überproportional steigt. Auf rechtlicher Ebene kann sich das Problem ergeben, dass die Verbreitung von geschützten Inhalten und die Unterbindung von gesetzwidrigen Services durch die Anonymisierung der User und die Verschlüsselung der Daten schwer zu verhindern oder gesetzlich zu verfolgen sind.

Beispiele für das P2P-Computing

P2P-Networking kommt in den unterschiedlichsten Bereichen zum Einsatz. Es existieren zahlreiche Filesharing-Services, die das Modell verwenden. Beispielsweise werden Dateien über Client-Software und Börsen wie Bittorrent oder KaZaA getauscht. Die Daten stehen ohne zentralen Server zur Verfügung und werden direkt von Peer zu Peer kopiert.

Ein installierter Client ermöglicht die Suche nach Dateien, indem er auf die Verzeichnisse der teilnehmenden Rechner zugreift. Aus rechtlicher Sicht kann die Teilnahme an einem solchen Filesharing-Dienst bei urheberrechtlich geschützten Daten bedenklich sein, da jeder Teilnehmer gleichzeitig auch zum Anbieter von Dateien wird.

Ein weiterer Anwendungsbereich ist das Distributed Computing. Bei diesem P2P-Modell lassen sich komplexe Rechenoperationen verteilt auf den vielen verschiedenen Teilnehmerrechner ausführen. Jedes teilnehmende System stellt hierfür seine freien Kapazitäten zur Verfügung. Die gesamte Rechenoperation wird hierfür in kleine Teilaufgaben zerlegt, auf Einzelsystemen berechnet und anschließend zu einem Ergebnis zusammengeführt.

Wissenschaftliche Auswertungen von großen Datenmengen wie SETI (Search for Extraterrestrial Intelligence) bedienen sich des Distributed Computings. SETI durchsucht den Radiobereich des elektromagnetischen Spektrums nach Anzeichen oder auffälligen Signalen, die auf ein intelligentes Leben im All schließen lassen. Um die Aufgaben aufzubereiten und im P2P-System zu verteilen, muss auf jedem Endsystem ein Client installiert sein.

Ebenfalls genutzt wird P2P-Computing für Messaging-Dienste oder Voice over IP-Services. Beispielsweise basierte die sehr bekannte und weit verbreitete Skype-Software lange Zeit auf einem P2P-Modell.

(ID:44959908)

Über den Autor