Peer-to-Peer

Aus besserwiki.de
Peer-to-Peer-Modell

Peer-to-Peer (kurz meist P2P genannt, von englisch peer „Gleichgestellter“, „Ebenbürtiger“) und Rechner-Rechner-Verbindung sind synonyme Bezeichnungen für eine Kommunikation unter Gleichen, hier bezogen auf ein Rechnernetz. In einigen Kontexten spricht man auch von Querkommunikation.

In einem reinen Peer-to-Peer-Netz sind alle Computer gleichberechtigt und können sowohl Dienste in Anspruch nehmen, als auch zur Verfügung stellen. In modernen P2P-Netzwerken werden die Netzwerkteilnehmer jedoch häufig abhängig von ihrer Qualifikation in verschiedene Gruppen eingeteilt, die spezifische Aufgaben übernehmen. Kernkomponente aller modernen Peer-to-Peer-Architekturen, die meist bereits als Overlay-Netz auf dem Internet realisiert werden, ist daher ein zweites internes Overlay-Netz, welches normalerweise aus den besten Computern des Netzwerks besteht und die Organisation der anderen Computer sowie die Bereitstellung der Such-Funktion übernimmt.

Mit der Suchfunktion („lookup“) können Peers im Netzwerk diejenigen Peers identifizieren, die für eine bestimmte Objektkennung (Object-ID) zuständig sind. In diesem Fall ist die Verantwortlichkeit für jedes einzelne Objekt mindestens einem Peer fest zugeteilt, man spricht daher von strukturierten Overlays. Mittels der Such-Operation können die Peers nach Objekten im Netzwerk suchen, die gewisse Kriterien erfüllen (z. B. Datei- oder Buddynamen-Übereinstimmung). In diesem Fall gibt es für die Objekte im P2P-System keine Zuordnungsstruktur, man spricht also von unstrukturierten Overlays.

Sobald die Peers, die die gesuchten Objekte halten, in dem P2P-System identifiziert wurden, wird die Datei (in Dateitauschbörsen) direkt, d. h. von Peer zu Peer, übertragen. Es existieren unterschiedliche Verteilungsstrategien, welche Teile der Datei von welchem Peer heruntergeladen werden soll, z. B. BitTorrent.

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-to-Peer-Netzen ist diese Rollenverteilung aufgehoben. Jeder Teilnehmer ist ein peer, denn er kann einen Dienst gleichermaßen nutzen und selbst anbieten.

Obwohl P2P-Systeme bereits in vielen Anwendungsbereichen eingesetzt wurden, wurde die Architektur durch das 1999 veröffentlichte Filesharing-System Napster populär gemacht. Das Konzept hat in vielen Bereichen der menschlichen Interaktion zu neuen Strukturen und Philosophien geführt. In solchen sozialen Kontexten bezieht sich Peer-to-Peer als Mem auf die egalitären sozialen Netzwerke, die in der gesamten Gesellschaft entstanden sind und durch die Internettechnologien im Allgemeinen ermöglicht wurden.

Historische Entwicklung

SETI@home wurde im Jahr 1999 gegründet.

Obwohl P2P-Systeme bereits zuvor in vielen Anwendungsbereichen eingesetzt worden waren, wurde das Konzept durch Filesharing-Systeme wie die Musiktauschbörse Napster (ursprünglich 1999 veröffentlicht) populär gemacht. Die Peer-to-Peer-Bewegung ermöglichte es Millionen von Internetnutzern, sich "direkt zu verbinden, Gruppen zu bilden und zusammenzuarbeiten, um von Nutzern geschaffene Suchmaschinen, virtuelle Supercomputer und Dateisysteme zu werden". Das Grundkonzept des Peer-to-Peer-Computing wurde bereits in früheren Diskussionen über Softwaresysteme und Netzwerke vorgestellt und geht auf die Grundsätze zurück, die im ersten Request for Comments (RFC 1) dargelegt wurden.

Tim Berners-Lees Vision für das World Wide Web kam einem P2P-Netzwerk insofern nahe, als er davon ausging, dass jeder Benutzer des Webs ein aktiver Redakteur und Mitwirkender sein würde, der Inhalte erstellt und verlinkt, um ein miteinander verknüpftes "Netz" von Links zu bilden. Das frühe Internet war offener als heute, wo zwei an das Internet angeschlossene Rechner ohne Firewalls und andere Sicherheitsmaßnahmen Pakete aneinander senden konnten. Dies steht im Gegensatz zu der rundfunkähnlichen Struktur des Internets, wie sie sich im Laufe der Jahre entwickelt hat. Als Vorläufer des Internets war das ARPANET ein erfolgreiches Client-Server-Netz, bei dem "jeder teilnehmende Knoten Inhalte anfordern und bereitstellen konnte". Das ARPANET war jedoch nicht selbstorganisiert, und es fehlte ihm die Fähigkeit, "über das 'einfache' adressbasierte Routing hinaus Mittel für kontext- oder inhaltsbasiertes Routing bereitzustellen".

Daher wurde das Usenet eingerichtet, ein verteiltes Nachrichtensystem, das oft als eine frühe Peer-to-Peer-Architektur beschrieben wird. Es wurde 1979 als ein System entwickelt, das ein dezentrales Kontrollmodell durchsetzt. Das Grundmodell ist ein Client-Server-Modell aus der Benutzer- oder Client-Perspektive, das einen selbstorganisierenden Ansatz für Newsgroup-Server bietet. Allerdings kommunizieren Newsserver untereinander als Peers, um Usenet-Newsartikel über die gesamte Gruppe von Netzwerkservern zu verbreiten. Die gleiche Überlegung gilt für SMTP-E-Mail in dem Sinne, dass das Kernnetz der Mail-Transfer-Agents einen Peer-to-Peer-Charakter hat, während die Peripherie der E-Mail-Clients und ihrer direkten Verbindungen eine reine Client-Server-Beziehung darstellt.

Im Mai 1999, als Millionen von Menschen das Internet nutzten, stellte Shawn Fanning die Musik- und Filesharing-Anwendung Napster vor. Napster war der Beginn der Peer-to-Peer-Netzwerke, wie wir sie heute kennen, bei denen "die teilnehmenden Nutzer ein virtuelles Netzwerk aufbauen, das völlig unabhängig vom physischen Netzwerk ist, ohne sich an irgendwelche Verwaltungsbehörden oder Beschränkungen halten zu müssen."

Architektur

Ein Peer-to-Peer-Netz basiert auf der Idee, dass gleichberechtigte Peer-Knoten gleichzeitig als "Client" und "Server" für die anderen Knoten im Netz fungieren. Dieses Modell der Netzwerkanordnung unterscheidet sich vom Client-Server-Modell, bei dem die Kommunikation in der Regel zu und von einem zentralen Server erfolgt. Ein typisches Beispiel für eine Dateiübertragung nach dem Client-Server-Modell ist das File Transfer Protocol (FTP), bei dem die Client- und Serverprogramme getrennt sind: Die Clients initiieren die Übertragung, und die Server erfüllen diese Anforderungen.

Routing und Ressourcenermittlung

Peer-to-Peer-Netze implementieren in der Regel eine Art virtuelles Overlay-Netz über der physischen Netztopologie, wobei die Knoten im Overlay eine Teilmenge der Knoten im physischen Netz bilden. Der Datenaustausch erfolgt nach wie vor direkt über das zugrunde liegende TCP/IP-Netz, aber auf der Anwendungsschicht können die Teilnehmer über die logischen Overlay-Links (die jeweils einem Pfad durch das zugrunde liegende physische Netz entsprechen) direkt miteinander kommunizieren. Overlays werden für die Indizierung und die Erkennung von Peers verwendet und machen das P2P-System unabhängig von der physischen Netzwerktopologie. Je nachdem, wie die Knoten innerhalb des Overlay-Netzes miteinander verbunden sind und wie die Ressourcen indiziert und lokalisiert werden, können wir die Netze als unstrukturiert oder strukturiert (oder als eine Mischung aus beidem) klassifizieren.

Unstrukturierte Netze

Overlay-Netzwerkdiagramm für ein unstrukturiertes P2P-Netzwerk, das den Ad-hoc-Charakter der Verbindungen zwischen den Knoten verdeutlicht

Unstrukturierte Peer-to-Peer-Netze geben dem Overlay-Netz nicht von vornherein eine bestimmte Struktur vor, sondern werden von Knoten gebildet, die zufällig Verbindungen zueinander herstellen. (Gnutella, Gossip und Kazaa sind Beispiele für unstrukturierte P2P-Protokolle).

Da ihnen keine globale Struktur auferlegt wird, lassen sich unstrukturierte Netzwerke leicht aufbauen und ermöglichen lokalisierte Optimierungen in verschiedenen Regionen des Overlay. Da die Rolle aller Peers im Netzwerk dieselbe ist, sind unstrukturierte Netzwerke auch sehr robust gegenüber hohen Abwanderungsraten, d. h. wenn eine große Anzahl von Peers dem Netzwerk häufig beitritt und es wieder verlässt.

Die wichtigsten Einschränkungen von unstrukturierten Netzwerken ergeben sich jedoch auch aus dieser fehlenden Struktur. Insbesondere, wenn ein Peer ein gewünschtes Datenstück im Netzwerk finden möchte, muss die Suchanfrage durch das Netzwerk geflutet werden, um so viele Peers wie möglich zu finden, die die Daten teilen. Das Flooding verursacht einen sehr hohen Signalisierungsverkehr im Netz, verbraucht mehr CPU/Speicher (da jeder Peer alle Suchanfragen bearbeiten muss) und stellt nicht sicher, dass die Suchanfragen immer gelöst werden. Da außerdem keine Korrelation zwischen einem Peer und den von ihm verwalteten Inhalten besteht, gibt es keine Garantie, dass Flooding einen Peer findet, der die gewünschten Daten hat. Beliebte Inhalte sind wahrscheinlich bei mehreren Peers verfügbar, und jeder Peer, der danach sucht, wird wahrscheinlich das Gleiche finden. Wenn ein Peer jedoch nach seltenen Daten sucht, die nur von einigen wenigen anderen Peers geteilt werden, dann ist es sehr unwahrscheinlich, dass die Suche erfolgreich ist.

Strukturierte Netzwerke

Overlay-Netzwerkdiagramm für ein strukturiertes P2P-Netzwerk, das eine verteilte Hash-Tabelle (DHT) zur Identifizierung und Lokalisierung von Knoten/Ressourcen verwendet

In strukturierten Peer-to-Peer-Netzwerken ist das Overlay in einer bestimmten Topologie organisiert, und das Protokoll stellt sicher, dass jeder Knoten das Netzwerk effizient nach einer Datei/Ressource durchsuchen kann, selbst wenn die Ressource extrem selten ist.

Die gebräuchlichste Art von strukturierten P2P-Netzwerken implementiert eine verteilte Hash-Tabelle (DHT), in der eine Variante des konsistenten Hashings verwendet wird, um das Eigentum an jeder Datei einem bestimmten Peer zuzuweisen. Dies ermöglicht es den Peers, mit Hilfe einer Hash-Tabelle nach Ressourcen im Netz zu suchen: Paare (Schlüssel, Wert) werden in der DHT gespeichert, und jeder teilnehmende Knoten kann den mit einem bestimmten Schlüssel verbundenen Wert effizient abrufen.

Verteilte Hash-Tabellen

Um den Verkehr effizient durch das Netz zu leiten, müssen die Knoten in einem strukturierten Overlay jedoch Listen von Nachbarn führen, die bestimmte Kriterien erfüllen. Dies macht sie weniger robust in Netzwerken mit einer hohen Abwanderungsrate (d. h. mit einer großen Anzahl von Knoten, die häufig dem Netzwerk beitreten und es verlassen). Neuere Bewertungen von P2P-Ressourcenfindungslösungen unter realen Arbeitsbelastungen haben mehrere Probleme bei DHT-basierten Lösungen aufgezeigt, wie z. B. hohe Kosten für die Werbung/Ermittlung von Ressourcen und statische und dynamische Lastungleichgewichte.

Zu den bemerkenswerten verteilten Netzwerken, die DHTs verwenden, gehören Tixati, eine Alternative zu BitTorrents verteiltem Tracker, das Kad-Netzwerk, das Storm-Botnet, YaCy und das Coral Content Distribution Network. Einige prominente Forschungsprojekte sind das Chord-Projekt, Kademlia, das Speicherdienstprogramm PAST, P-Grid, ein selbstorganisiertes und neu entstehendes Overlay-Netzwerk, und das CoopNet-System zur Verteilung von Inhalten. DHT-basierte Netze werden auch häufig für die effiziente Erkennung von Ressourcen für Grid-Computing-Systeme eingesetzt, da sie die Ressourcenverwaltung und die Planung von Anwendungen unterstützen.

Hybride Modelle

Hybridmodelle sind eine Kombination aus Peer-to-Peer- und Client-Server-Modellen. Ein gängiges Hybridmodell ist ein zentraler Server, der den Peers hilft, sich gegenseitig zu finden. Spotify war ein Beispiel für ein Hybridmodell [bis 2014]. Es gibt eine Vielzahl von Hybridmodellen, die alle einen Kompromiss zwischen der zentralisierten Funktionalität eines strukturierten Server/Client-Netzwerks und der Gleichheit der Knoten in reinen unstrukturierten Peer-to-Peer-Netzwerken darstellen. Gegenwärtig sind hybride Modelle leistungsfähiger als reine unstrukturierte Netze oder reine strukturierte Netze, da bestimmte Funktionen, wie z. B. die Suche, zwar eine zentralisierte Funktionalität erfordern, aber von der dezentralisierten Aggregation von Knoten in unstrukturierten Netzen profitieren.

CoopNet System zur Verteilung von Inhalten

CoopNet (Cooperative Networking) ist ein von den Informatikern Venkata N. Padmanabhan und Kunwadee Sripanidkulchai, die bei Microsoft Research und der Carnegie Mellon University arbeiten, vorgeschlagenes System zur Auslagerung von Diensten an Peers, die kürzlich Inhalte heruntergeladen haben. Wenn ein Server eine erhöhte Last erfährt, leitet er eingehende Peers an andere Peers um, die sich bereit erklärt haben, den Inhalt zu spiegeln, und entlastet so den Server. Alle Informationen werden auf dem Server gespeichert. Dieses System macht sich die Tatsache zunutze, dass der Engpass am ehesten bei der ausgehenden Bandbreite und nicht bei der CPU liegt, daher sein serverzentriertes Design. Es weist Peers anderen Peers zu, die "in der Nähe der IP" ihrer Nachbarn sind [gleicher Präfixbereich], um die Lokalität zu nutzen. Wenn mehrere Peers mit der gleichen Datei gefunden werden, wählt der Knoten den schnellsten seiner Nachbarn. Streaming-Medien werden übertragen, indem die Clients den vorherigen Stream zwischenspeichern und ihn dann stückweise an neue Knoten übertragen.

Sicherheit und Vertrauen

Peer-to-Peer-Systeme stellen aus Sicht der Computersicherheit eine besondere Herausforderung dar.

Wie jede andere Form von Software können auch P2P-Anwendungen Schwachstellen enthalten. Besonders gefährlich für P2P-Software ist jedoch, dass Peer-to-Peer-Anwendungen sowohl als Server als auch als Client fungieren, was bedeutet, dass sie anfälliger für Remote-Angriffe sein können.

Routing-Angriffe

Da jeder Knoten eine Rolle bei der Weiterleitung des Datenverkehrs durch das Netzwerk spielt, können böswillige Benutzer eine Vielzahl von "Routing-Angriffen" oder Denial-of-Service-Angriffen durchführen. Beispiele für gängige Routing-Angriffe sind das "falsche Lookup-Routing", bei dem böswillige Knoten Anfragen absichtlich falsch weiterleiten oder falsche Ergebnisse zurückliefern, "falsche Routing-Updates", bei denen böswillige Knoten die Routing-Tabellen benachbarter Knoten beschädigen, indem sie ihnen falsche Informationen senden, und die "falsche Routing-Netzpartition", bei der neue Knoten beim Beitritt über einen böswilligen Knoten gebootet werden, der den neuen Knoten in eine Partition des Netzes setzt, die von anderen böswilligen Knoten bevölkert wird.

Korrumpierte Daten und Malware

Die Verbreitung von Malware variiert zwischen den verschiedenen Peer-to-Peer-Protokollen. Studien, die die Verbreitung von Malware in P2P-Netzwerken untersuchten, ergaben beispielsweise, dass 63 % der beantworteten Download-Anfragen im Gnutella-Netzwerk eine Form von Malware enthielten, während nur 3 % der Inhalte in OpenFT Malware enthielten. In beiden Fällen machten die drei häufigsten Arten von Malware die große Mehrheit der Fälle aus (99 % bei gnutella und 65 % bei OpenFT). Eine andere Studie, die den Datenverkehr im Kazaa-Netzwerk analysierte, ergab, dass 15 % der 500.000 untersuchten Dateien mit einem oder mehreren der 365 verschiedenen Computerviren infiziert waren, auf die getestet wurde.

Beschädigte Daten können auch über P2P-Netzwerke verbreitet werden, indem Dateien verändert werden, die bereits über das Netzwerk ausgetauscht werden. Im FastTrack-Netzwerk gelang es der RIAA beispielsweise, gefälschte Chunks in Downloads und heruntergeladene Dateien (meist MP3-Dateien) einzufügen. Die mit dem RIAA-Virus infizierten Dateien waren anschließend unbrauchbar und enthielten bösartigen Code. Es ist auch bekannt, dass die RIAA gefälschte Musik- und Filmdateien in P2P-Netzwerke hochgeladen hat, um den illegalen Dateiaustausch zu unterbinden. Infolgedessen haben die P2P-Netzwerke von heute ihre Sicherheits- und Dateiverifikationsmechanismen enorm verbessert. Moderne Hashing-, Chunk-Verifizierungs- und verschiedene Verschlüsselungsmethoden haben die meisten Netzwerke resistent gegen fast alle Arten von Angriffen gemacht, selbst wenn große Teile des jeweiligen Netzwerks durch gefälschte oder nicht funktionsfähige Hosts ersetzt worden sind.

Widerstandsfähige und skalierbare Computernetze

Die dezentralisierte Natur von P2P-Netzen erhöht die Robustheit, da sie den einzigen Fehlerpunkt beseitigt, der in einem Client-Server-basierten System auftreten kann. Wenn neue Knoten hinzukommen und die Nachfrage nach dem System steigt, erhöht sich auch die Gesamtkapazität des Systems, und die Wahrscheinlichkeit eines Ausfalls sinkt. Wenn ein Peer im Netz ausfällt, ist nicht das gesamte Netz gefährdet oder beschädigt. Im Gegensatz dazu teilen die Clients in einer typischen Client-Server-Architektur nur ihre Anforderungen mit dem System, aber nicht ihre Ressourcen. Je mehr Clients dem System beitreten, desto weniger Ressourcen stehen für die einzelnen Clients zur Verfügung, und wenn der zentrale Server ausfällt, wird das gesamte Netzwerk beschädigt.

Verteilte Speicherung und Suche

Suchergebnisse für die Abfrage "software libre" unter Verwendung von YaCy, einer kostenlosen verteilten Suchmaschine, die in einem Peer-to-Peer-Netzwerk läuft, anstatt Anfragen an zentrale Indexserver zu stellen (wie Google, Yahoo und andere Firmensuchmaschinen)

P2P-Netzwerke haben sowohl Vor- als auch Nachteile, wenn es um die Sicherung, Wiederherstellung und Verfügbarkeit von Daten geht. In einem zentralisierten Netzwerk sind die Systemadministratoren die einzigen Kräfte, die die Verfügbarkeit der freigegebenen Dateien kontrollieren. Wenn die Administratoren beschließen, eine Datei nicht mehr weiterzugeben, müssen sie sie einfach von ihren Servern entfernen, und sie ist für die Benutzer nicht mehr verfügbar. Abgesehen davon, dass die Nutzer nicht mehr entscheiden können, was in der Gemeinschaft verbreitet wird, macht dies das gesamte System anfällig für Bedrohungen und Anfragen von Seiten der Regierung und anderer großer Kräfte. So wurde YouTube beispielsweise von der RIAA, der MPAA und der Unterhaltungsindustrie unter Druck gesetzt, urheberrechtlich geschützte Inhalte herauszufiltern. Obwohl Server-Client-Netzwerke die Verfügbarkeit von Inhalten überwachen und verwalten können, ist die Verfügbarkeit der Inhalte, die sie hosten wollen, stabiler. Ein Kunde sollte keine Probleme haben, auf obskure Inhalte zuzugreifen, die in einem stabilen, zentralen Netzwerk freigegeben werden. P2P-Netzwerke sind jedoch unzuverlässiger bei der Freigabe unbeliebter Dateien, da die Freigabe von Dateien in einem P2P-Netzwerk voraussetzt, dass mindestens ein Knoten im Netzwerk über die angeforderten Daten verfügt und dieser Knoten in der Lage sein muss, eine Verbindung zu dem Knoten herzustellen, der die Daten anfordert. Diese Anforderung ist gelegentlich schwer zu erfüllen, da die Benutzer die Daten jederzeit löschen oder nicht mehr weitergeben können.

In diesem Sinne ist die Gemeinschaft der Benutzer in einem P2P-Netz vollständig für die Entscheidung verantwortlich, welche Inhalte verfügbar sind. Unbeliebte Dateien werden mit der Zeit verschwinden und nicht mehr verfügbar sein, wenn mehr Leute aufhören, sie zu teilen. Beliebte Dateien hingegen werden in hohem Maße und leicht verbreitet. Beliebte Dateien in einem P2P-Netz sind sogar stabiler und verfügbarer als Dateien in zentralen Netzen. In einem zentralen Netzwerk reicht ein einfacher Verbindungsverlust zwischen dem Server und den Clients aus, um einen Ausfall zu verursachen, aber in P2P-Netzwerken müssen die Verbindungen zwischen jedem Knoten unterbrochen werden, um einen Ausfall der gemeinsamen Datennutzung zu verursachen. In einem zentralisierten System sind die Administratoren für alle Datenwiederherstellungen und Backups verantwortlich, während in P2P-Systemen jeder Knoten sein eigenes Backup-System benötigt. Da es in P2P-Netzwerken keine zentrale Autorität gibt, sind Kräfte wie die Plattenindustrie, RIAA, MPAA und die Regierung nicht in der Lage, den Austausch von Inhalten in P2P-Systemen zu löschen oder zu stoppen.

Anwendungen

Bereitstellung von Inhalten

In P2P-Netzen stellen Clients sowohl Ressourcen bereit als auch nutzen sie diese. Das bedeutet, dass im Gegensatz zu Client-Server-Systemen die Kapazität von Peer-to-Peer-Netzwerken für die Bereitstellung von Inhalten tatsächlich zunehmen kann, wenn mehr Benutzer auf die Inhalte zugreifen (insbesondere bei Protokollen wie Bittorrent, die eine gemeinsame Nutzung erfordern, siehe eine Studie zur Leistungsmessung). Diese Eigenschaft ist einer der Hauptvorteile von P2P-Netzwerken, da sie die Einrichtungs- und Betriebskosten für den ursprünglichen Inhaltsanbieter sehr gering hält.

Filesharing-Netzwerke

Viele Peer-to-Peer-Filesharing-Netzwerke wie Gnutella, G2 und das eDonkey-Netzwerk haben Peer-to-Peer-Technologien populär gemacht.

  • Peer-to-Peer-Netzwerke zur Bereitstellung von Inhalten.
  • Peer-to-Peer-Inhaltsdienste, z. B. Caches für verbesserte Leistung wie Correli Caches
  • Veröffentlichung und Verbreitung von Software (Linux-Distribution, verschiedene Spiele); über Filesharing-Netzwerke.

Verstöße gegen das Urheberrecht

Bei Peer-to-Peer-Netzwerken werden Daten von einem Nutzer zum anderen übertragen, ohne dass ein Zwischenserver verwendet wird. Unternehmen, die P2P-Anwendungen entwickeln, waren in zahlreiche Rechtsfälle verwickelt, vor allem in den Vereinigten Staaten, in denen es um Konflikte mit dem Urheberrechtsgesetz ging. Zwei wichtige Fälle sind Grokster gegen RIAA und MGM Studios, Inc. gegen Grokster, Ltd. Im letztgenannten Fall entschied der Gerichtshof einstimmig, dass die beklagten Peer-to-Peer-Filesharing-Unternehmen Grokster und Streamcast wegen Anstiftung zur Urheberrechtsverletzung verklagt werden können.

Multimedia

  • Die P2PTV- und PDTP-Protokolle.
  • Einige proprietäre Multimedia-Anwendungen nutzen ein Peer-to-Peer-Netzwerk zusammen mit Streaming-Servern, um Audio- und Videodaten an ihre Kunden zu übertragen.
  • Peercasting für Multicasting-Streams.
  • Die Pennsylvania State University, das MIT und die Simon Fraser University führen ein Projekt namens LionShare durch, das die gemeinsame Nutzung von Dateien zwischen Bildungseinrichtungen weltweit erleichtern soll.
  • Osiris ist ein Programm, das es seinen Benutzern ermöglicht, anonyme und autonome Webportale zu erstellen, die über ein P2P-Netzwerk verteilt werden.

Andere P2P-Anwendungen

Torrent-Dateien verbinden Peers
  • Bitcoin und weitere wie Ether, Nxt und Peercoin sind Peer-to-Peer-basierte digitale Kryptowährungen.
  • Dat, eine verteilte, versionsgesteuerte Veröffentlichungsplattform.
  • Filecoin ist ein quelloffenes, öffentliches Kryptowährungs- und digitales Zahlungssystem, das eine Blockchain-basierte kooperative digitale Speicher- und Datenabrufmethode sein soll.
  • I2P, ein Overlay-Netzwerk, das zum anonymen Surfen im Internet verwendet wird.
  • Im Gegensatz zum verwandten I2P ist das Tor-Netzwerk selbst kein Peer-to-Peer-Netzwerk; es kann jedoch über Onion-Dienste Peer-to-Peer-Anwendungen darauf aufbauen.
  • Das InterPlanetary File System (IPFS) ist ein Protokoll und Netzwerk, das entwickelt wurde, um eine inhaltsadressierbare Peer-to-Peer-Methode zum Speichern und Teilen von Hypermedia-Distributionsprotokollen zu schaffen. Die Knoten im IPFS-Netzwerk bilden ein verteiltes Dateisystem.
  • Jami, eine Peer-to-Peer-Chat- und SIP-Anwendung.
  • JXTA, ein Peer-to-Peer-Protokoll, das für die Java-Plattform entwickelt wurde.
  • Netsukuku, ein drahtloses Gemeinschaftsnetzwerk, das unabhängig vom Internet sein soll.
  • Open Garden, eine Anwendung zur gemeinsamen Nutzung von Verbindungen, die den Internetzugang mit anderen Geräten über Wi-Fi oder Bluetooth teilt.
  • Resilio Sync, eine Anwendung zur Synchronisierung von Verzeichnissen.
  • Forschung wie das Chord-Projekt, das PAST-Speicherprogramm, das P-Grid und das CoopNet-Inhaltsverteilungssystem.
  • Syncthing, eine App zur Verzeichnissynchronisierung.
  • Tradepal und M-Commerce-Anwendungen, die Echtzeit-Marktplätze betreiben.
  • Das US-Verteidigungsministerium erforscht P2P-Netzwerke als Teil seiner Strategie für eine moderne Netzwerk-Kriegsführung. Im Mai 2003 sagte Anthony Tether, der damalige Direktor der DARPA, aus, dass das Militär der Vereinigten Staaten P2P-Netzwerke nutzt.
  • WebTorrent ist ein P2P-Streaming-Torrent-Client in JavaScript zur Verwendung in Webbrowsern sowie in der eigenständigen Version WebTorrent Desktop, die eine Brücke zwischen WebTorrent- und BitTorrent-Netzwerken ohne Server schlägt.
  • Microsoft verwendet in Windows 10 eine proprietäre Peer-to-Peer-Technologie namens "Delivery Optimization", um Betriebssystem-Updates über Endbenutzer-PCs entweder im lokalen Netzwerk oder auf anderen PCs bereitzustellen. Nach Angaben von Microsofts Channel 9 führte dies zu einer Reduzierung der Internet-Bandbreitennutzung um 30-50%.
  • Artisofts LANtastic wurde als Peer-to-Peer-Betriebssystem entwickelt. Die Maschinen können gleichzeitig Server und Arbeitsstationen sein.
  • Hotline Communications Hotline Client wurde als dezentraler Server mit Tracker-Software für jede Art von Dateien entwickelt und ist heute noch in Betrieb.

JXTA ist ein solcher Standard, der stark von Sun Microsystems unterstützt wurde und Open Source ist. Sun stellte die zurzeit umfangreichste und stabilste Referenzimplementierung her.

Gnutella ist ein weiterer offener Standard, der umfangreich getestet ist, jedoch bisher fast ausschließlich für Dateiverteilung und dezentrales Suchen von Dateien genutzt wird.

Soziale Implikationen

Anreize für die gemeinsame Nutzung von Ressourcen und die Zusammenarbeit

Das BitTorrent-Protokoll: In dieser Animation stellen die farbigen Balken unter allen 7 Clients in der oberen Region die Datei dar, die geteilt wird, wobei jede Farbe für einen einzelnen Teil der Datei steht. Nachdem die ersten Teile vom Seed (großes System unten) übertragen wurden, werden die Teile einzeln von Client zu Client übertragen. Der ursprüngliche Seeder muss nur eine Kopie der Datei verschicken, damit alle Clients eine Kopie erhalten.

Die Zusammenarbeit zwischen einer Gemeinschaft von Teilnehmern ist der Schlüssel zum anhaltenden Erfolg von P2P-Systemen, die sich an Gelegenheitsnutzer richten; diese erreichen ihr volles Potenzial nur, wenn eine große Anzahl von Knoten Ressourcen beisteuert. In der gegenwärtigen Praxis gibt es in P2P-Netzen jedoch häufig eine große Zahl von Nutzern, die von anderen Knoten freigegebene Ressourcen nutzen, aber selbst nichts beitragen (oft als "Trittbrettfahrerproblem" bezeichnet). Freeloading kann tiefgreifende Auswirkungen auf das Netzwerk haben und in einigen Fällen zum Zusammenbruch der Gemeinschaft führen. In dieser Art von Netzwerken "haben die Nutzer natürliche Anreize, nicht zu kooperieren, weil die Kooperation ihre eigenen Ressourcen verbraucht und ihre eigene Leistung beeinträchtigen kann." Die Untersuchung der sozialen Eigenschaften von P2P-Netzwerken ist aufgrund der hohen Fluktuation, der Asymmetrie der Interessen und der Null-Kosten-Identität eine Herausforderung. Es wurde eine Vielzahl von Anreizmechanismen eingeführt, um Knoten zu ermutigen oder sogar zu zwingen, Ressourcen beizusteuern.

Einige Forscher haben die Vorteile der Selbstorganisation virtueller Gemeinschaften untersucht und Anreize für die gemeinsame Nutzung von Ressourcen und die Zusammenarbeit geschaffen. Sie argumentieren, dass der soziale Aspekt, der in den heutigen P2P-Systemen fehlt, sowohl als Ziel als auch als Mittel zum Aufbau und zur Förderung selbstorganisierter virtueller Gemeinschaften betrachtet werden sollte. Die laufenden Forschungsarbeiten zur Entwicklung wirksamer Anreizmechanismen in P2P-Systemen, die auf den Grundsätzen der Spieltheorie beruhen, nehmen allmählich eine eher psychologische und informationsverarbeitende Richtung an.

Privatsphäre und Anonymität

Einige Peer-to-Peer-Netze (z. B. Freenet) legen großen Wert auf Datenschutz und Anonymität, d. h. darauf, dass der Inhalt der Kommunikation vor Mithörern verborgen bleibt und die Identität bzw. der Aufenthaltsort der Teilnehmer nicht bekannt wird. Die Kryptographie mit öffentlichem Schlüssel kann zur Verschlüsselung, Datenvalidierung, Autorisierung und Authentifizierung von Daten/Nachrichten eingesetzt werden. Onion-Routing und andere gemischte Netzwerkprotokolle (z. B. Tarzan) können verwendet werden, um Anonymität zu gewährleisten.

Täter, die sexuellen Missbrauch per Live-Streaming und andere Cyberstraftaten begehen, haben Peer-to-Peer-Plattformen genutzt, um ihre Aktivitäten anonym auszuführen.

Politische Implikationen

Recht des geistigen Eigentums und illegaler Austausch

Obwohl Peer-to-Peer-Netzwerke für legitime Zwecke genutzt werden können, haben Rechteinhaber Peer-to-Peer wegen der Beteiligung am Austausch urheberrechtlich geschützten Materials ins Visier genommen. Bei Peer-to-Peer-Netzwerken werden Daten von einem Benutzer zum anderen übertragen, ohne dass ein Zwischenserver verwendet wird. Unternehmen, die P2P-Anwendungen entwickeln, waren in zahlreiche Rechtsfälle verwickelt, vor allem in den Vereinigten Staaten, bei denen es hauptsächlich um Fragen des Urheberrechts ging. Zwei wichtige Fälle sind Grokster gegen RIAA und MGM Studios, Inc. gegen Grokster, Ltd. In beiden Fällen wurde die Filesharing-Technologie als legal eingestuft, solange die Entwickler keine Möglichkeit hatten, die Weitergabe des urheberrechtlich geschützten Materials zu verhindern. Um eine strafrechtliche Haftung für Urheberrechtsverletzungen durch Peer-to-Peer-Systeme zu begründen, muss die Regierung nachweisen, dass der Angeklagte das Urheberrecht vorsätzlich zum Zwecke des persönlichen finanziellen Gewinns oder kommerziellen Vorteils verletzt hat. Fair-Use-Ausnahmen erlauben eine begrenzte Nutzung von urheberrechtlich geschütztem Material zum Herunterladen, ohne die Erlaubnis der Rechteinhaber einholen zu müssen. Bei diesen Dokumenten handelt es sich in der Regel um Nachrichtenberichte oder um Dokumente aus dem Bereich der Forschung und Wissenschaft. Im Zusammenhang mit der unrechtmäßigen Nutzung von Peer-to-Peer-Netzen im Hinblick auf die öffentliche und nationale Sicherheit haben sich Kontroversen entwickelt. Wenn eine Datei über ein Peer-to-Peer-Netzwerk heruntergeladen wird, ist es unmöglich zu wissen, wer die Datei erstellt hat oder welche Benutzer zu einem bestimmten Zeitpunkt mit dem Netzwerk verbunden sind. Die Vertrauenswürdigkeit von Quellen ist eine potenzielle Sicherheitsbedrohung, die bei Peer-to-Peer-Systemen zu beobachten ist.

Eine von der Europäischen Union in Auftrag gegebene Studie ergab, dass das illegale Herunterladen zu einem Anstieg des Gesamtumsatzes bei Videospielen führen kann, da bei neueren Spielen zusätzliche Funktionen oder Levels kostenpflichtig sind. Die Studie kam zu dem Schluss, dass die Piraterie negative finanzielle Auswirkungen auf Filme, Musik und Literatur hat. Die Studie stützte sich auf Selbstauskünfte über Spielekäufe und die Nutzung illegaler Download-Sites. Es wurden Maßnahmen ergriffen, um die Auswirkungen falscher und falsch erinnerter Antworten auszuschließen.

Netzneutralität

Peer-to-Peer-Anwendungen sind eines der Hauptthemen in der Kontroverse um die Netzneutralität. Es ist bekannt, dass Internetdienstanbieter (ISP) den P2P-Tauschbörsenverkehr wegen der hohen Bandbreitennutzung drosseln. Im Vergleich zu Webbrowsing, E-Mail oder vielen anderen Internetnutzungen, bei denen Daten nur in kurzen Intervallen und in relativ geringen Mengen übertragen werden, wird beim P2P-Filesharing aufgrund der ständigen Dateiübertragungen und der Schwarm-/Netzwerkkoordinierungspakete häufig eine relativ hohe Bandbreite genutzt. Im Oktober 2007 begann Comcast, einer der größten Breitband-Internetanbieter in den Vereinigten Staaten, P2P-Anwendungen wie BitTorrent zu blockieren. Die Begründung lautete, dass P2P hauptsächlich zum Austausch illegaler Inhalte genutzt wird und die Infrastruktur des Unternehmens nicht für einen kontinuierlichen Datenverkehr mit hoher Bandbreite ausgelegt ist. Kritiker weisen darauf hin, dass P2P-Netzwerke legitime legale Zwecke haben und dass dies ein weiterer Versuch der großen Anbieter ist, die Nutzung und den Inhalt des Internets zu kontrollieren und die Menschen auf eine Client-Server-basierte Anwendungsarchitektur zu lenken. Das Client-Server-Modell stellt für kleine Verlage und Einzelpersonen finanzielle Einstiegshürden dar und ist für den Austausch großer Dateien weniger effizient. Als Reaktion auf diese Bandbreitendrosselung begannen mehrere P2P-Anwendungen mit der Implementierung von Protokollverschleierung, wie z. B. die Verschlüsselung des BitTorrent-Protokolls. Bei Techniken zur "Protokollverschleierung" werden ansonsten leicht erkennbare Eigenschaften von Protokollen wie deterministische Bytesequenzen und Paketgrößen entfernt, indem die Daten wie zufällig aussehen. Die Lösung des Internetdienstanbieters für die hohe Bandbreite ist das P2P-Caching, bei dem ein Internetdienstanbieter den Teil der Dateien speichert, auf den P2P-Kunden am häufigsten zugreifen, um den Zugang zum Internet zu sichern.

Aktuelle Forschung

Forscher haben Computersimulationen eingesetzt, um das komplexe Verhalten von Individuen innerhalb des Netzwerks besser zu verstehen und zu bewerten. "In der Netzwerkforschung wird häufig auf Simulationen zurückgegriffen, um neue Ideen zu testen und zu bewerten. Eine wichtige Voraussetzung für diesen Prozess ist, dass die Ergebnisse reproduzierbar sind, damit andere Forscher ihre Arbeit wiederholen, validieren und erweitern können. Wenn die Forschung nicht reproduziert werden kann, wird die Möglichkeit für weitere Forschung behindert. "Auch wenn immer wieder neue Simulatoren auf den Markt kommen, tendiert die Forschungsgemeinschaft zu einer Handvoll quelloffener Simulatoren. Wie unsere Kriterien und unsere Umfrage zeigen, ist die Nachfrage nach Funktionen in Simulatoren groß. Daher sollte die Gemeinschaft zusammenarbeiten, um diese Funktionen in quelloffener Software zu erhalten. Dies würde den Bedarf an maßgeschneiderten Simulatoren verringern und somit die Wiederholbarkeit und Seriosität von Experimenten erhöhen.

Neben all den oben genannten Fakten wurde auch an dem Open-Source-Netzwerksimulator ns-2 gearbeitet. Eine Forschungsfrage im Zusammenhang mit der Erkennung und Bestrafung von Trittbrettfahrern wurde hier mit dem ns-2-Simulator untersucht.