Wikipedia · einfach zusammengefasst · Stand
Peer-to-Peer
Der Gegensatz zum Peer-to-Peer-Modell ist das Client-Server-Modell. Bei diesem bietet ein Server einen Dienst an und ein Client nutzt diesen Dienst. In Peer …
Inhalt4 Abschnitte
Grundprinzip und Funktionsweise
Peer-to-Peer (P2P) und Rechner-Rechner-Verbindung bezeichnen die Kommunikation unter Gleichgestellten in einem Rechnernetz; in manchen Zusammenhängen wird auch von Querkommunikation gesprochen. Im reinen P2P-Netz sind alle Computer gleichberechtigt: Jeder Teilnehmer kann Dienste und Ressourcen anderer nutzen und selbst anbieten. Damit ist die feste Rollenverteilung des Client-Server-Modells aufgehoben, bei dem ein Server einen Dienst bereitstellt und ein Client ihn nutzt.
Moderne P2P-Netzwerke teilen Teilnehmer jedoch häufig nach ihrer Qualifikation in Gruppen mit unterschiedlichen Aufgaben ein. Eine wichtige Komponente ist ein internes Overlay-Netz. Ein Overlay-Netz ist ein zusätzliches, meist auf dem Internet aufgebautes logisches Netz. Es besteht normalerweise aus den leistungsfähigsten Computern und organisiert die übrigen Teilnehmer sowie die Suchfunktion.
Über die Suchfunktion, den „lookup“, werden diejenigen Peers identifiziert, die für eine bestimmte Objektkennung (Object-ID) zuständig sind. Ist jedem Objekt mindestens ein zuständiger Peer fest zugeordnet, handelt es sich um ein strukturiertes Overlay. Können Peers dagegen nach Objekten suchen, die bestimmte Kriterien erfüllen, etwa eine Übereinstimmung von Datei- oder Buddynamen, ohne dass eine feste Zuordnungsstruktur besteht, spricht man von einem unstrukturierten Overlay. Sobald die Peers mit den gesuchten Objekten gefunden wurden, wird die Datei beispielsweise in Dateitauschbörsen direkt von Peer zu Peer übertragen. Verteilungsstrategien legen fest, von welchem Peer welche Dateiteile heruntergeladen werden, etwa bei BitTorrent.
Typische Merkmale
Die folgenden Eigenschaften sind typisch, aber nicht zwingend für jedes P2P-System:
- Peers sind hinsichtlich Bandbreite, Rechenkraft und Online-Zeit sehr unterschiedlich. Diese Heterogenität bedeutet, dass die Teilnehmer technisch nicht gleich leistungsfähig sind.
- Verfügbarkeit und Verbindungsqualität können sich ändern und nicht vorausgesetzt werden. Dieses häufige Kommen und Gehen von Peers wird als „Churn“ bezeichnet.
- Jeder Peer kann Dienste und Ressourcen anbieten und zugleich Dienste anderer Peers nutzen.
- Dienste und Ressourcen können zwischen allen teilnehmenden Peers ausgetauscht werden.
- Die Peers bilden ein Overlay-Netz und bieten dadurch zusätzliche Suchfunktionen.
- Peers besitzen eine deutliche Autonomie bei der Bereitstellung ihrer Ressourcen.
- Das P2P-System organisiert sich selbst.
- Alle übrigen Systeme bleiben konstant intakt und werden nicht skaliert.
Diese Merkmale beschreiben vor allem die verteilte Verantwortung, die wechselnde Teilnahme der Rechner und die Selbstorganisation eines P2P-Systems.
Strukturierte und unstrukturierte Systeme
P2P-Systeme werden grundsätzlich in unstrukturierte und strukturierte Systeme eingeteilt.
Unstrukturierte Systeme unterscheiden sich nach der Art ihres Aufbaus:
- Zentralisierte P2P-Systeme benötigen einen zentralen Server für die Verwaltung, um funktionieren zu können. Napster ist ein Beispiel.
- Reine P2P-Systeme besitzen keine zentrale Instanz. Beispiele sind RetroShare, Gnutella 0.4 und Freenet. Eine besondere Form ist das Friend-to-Friend- oder Web-of-Trust-Netzwerk. Es unterhält keine Verbindungen zu unbekannten IP-Adressen, sondern ausschließlich zu Freunden, den sogenannten trusted friends.
- Hybride beziehungsweise hierarchische P2P-Systeme bestimmen dynamisch mehrere zentrale Server als „Superknoten“ für Verwaltungsaufgaben. Beispiele sind Gnutella 0.6, Gnutella2 (G2) und JXTA.
Zentralisierte und reine P2P-Systeme werden als Systeme erster Generation bezeichnet, dezentrale Systeme als Systeme zweiter Generation. Systeme, die Dateien über nicht direkte Verbindungen weiterreichen, gelten als Systeme dritter Generation. Ausführlicher wird dieser Zusammenhang beim Begriff Filesharing behandelt.
Strukturierte P2P-Systeme verwenden häufig eine Verteilte Hashtabelle (DHT). Eine DHT ist ein verteilter Index: Suchanfragen können aus diesem über mehrere Peers verteilten Verzeichnis beantwortet werden.
Standardisierung und mögliche Entwicklung
Die weitere Entwicklung der P2P-Technik hängt vor allem davon ab, ob ein Standard geschaffen werden kann. Gemeint ist eine Art Plattformtechnik, auf der weitere Anwendungen aufbauen können.
JXTA ist ein solcher offener Standard. Er wurde stark von Sun Microsystems unterstützt und ist Open Source. Sun stellte dafür die zu dieser Zeit umfangreichste und stabilste Referenzimplementierung bereit. Gnutella ist ebenfalls ein offener, umfangreich getesteter Standard, wurde bisher jedoch fast ausschließlich zur Dateiverteilung und zur dezentralen Suche nach Dateien eingesetzt.
Als mögliche technische Entwicklung wird genannt, dass die Netzwerkübertragungsleistung ähnlich stark wie die Rechenleistung von PCs steigen könnte. Dann könnte ein Peer möglicherweise noch den „übernächsten“ Peer kennen. Dadurch würde die Sichtweite eines Peers auf Datenbestände und andere Peers weiter anwachsen.