Wie das P2P-Protokoll über Netzwerke routet

Wie das P2P-Protokoll über Netzwerke routet

Ich möchte wissen, wie das P2P-Protokoll über Netzwerke routet (zum Beispiel in Torrents). In der Client-Server-Architektur haben wir eine gültige IP-Adresse für den Server, aber bei P2P haben wir diese nicht. Wenn wir lokale IP-Adressen haben, wie werden Pakete dann über das Internet geroutet? Vielen Dank.

Antwort1

„Peer-to-Peer“ bedeutet eigentlich, dass jeder Knoten oder Peer in gewisser Weise entweder als Client oder als Server fungieren kann. Dinge, die auf diese Weise funktionieren, benötigen also keinen einzelnen zentralen Knoten, um zu funktionieren.

Peers müssen die IP-Adressen anderer Peers kennen, um erfolgreich das tun zu können, was das Peer-to-Peer-Protokoll erreichen will. Daher ist eine Art Erkennungsmechanismus oder -protokoll erforderlich, und es ist wirklich eine Art zentral verfügbarer Punkt erforderlich, selbst wenn dieser nur eine einführende Rolle spielt.

Bittorrent verlässt sich auf einen Tracker als zentralen Punkt – es ist nichts anderes als ein HTTP-Server, der mit anderen IPs im Schwarm antwortet, wenn ein Peer diese Informationen anfordert. Andere Dinge wie verteilte Hash-Tabellen können verwendet werden – diese werden zwischen allen Peers ausgetauscht, sind aber auf einige wenige bekannte IP-Adressen angewiesen, um „gebootet“ zu werden.

Antwort2

Bei den einfachsten P2P-Verbindungen muss eine der beiden Seiten der Verbindung über eine Portweiterleitung verfügen (sei es UPnP oder manuelle Einrichtung), damit eine P2P-Verbindung hergestellt werden kann.

Danach sprechen Sie einfach mit der IP des Routers, der die Portweiterleitung eingerichtet hat. Dieser leitet die Pakete dann an den Computer weiter, der als „Server“ in der P2P-Verbindung fungiert (die „Client“-Seite ohne Portweiterleitung ist diejenige, die die Verbindung initiiert).

Es gibt einige Workarounds, bei denen Sie einen Drittanbieter für folgende Aufgaben einsetzen können:NAT-Lochstanzenund ist lediglich am Aufbau der P2P-Kommunikation beteiligt.

Beim Aufbau einer P2P-Kommunikationsverbindung muss immer mindestens ein Computer beteiligt sein, der eingehende Verbindungen annehmen kann.

Antwort3

Ein Peer-to-Peer-Netzwerk, sei es als Teil einer physischen Netzwerkkonfiguration oder über das Internet, ist eine häufige Verwendung für einMesh-Netzwerk. Aus diesem Wikipedia-Artikel:

Bei Verwendung einer Routing-Technik wird die Nachricht entlang eines Pfads weitergeleitet, indem sie von Knoten zu Knoten springt, bis das Ziel erreicht ist. Um die Verfügbarkeit aller Pfade sicherzustellen, muss ein Routing-Netzwerk kontinuierliche Verbindungen und Neukonfigurationen um unterbrochene oder blockierte Pfade herum ermöglichen und dabei selbstheilende Algorithmen verwenden.

Wenn Sie sich für das BitTorrent-Protokoll interessieren (das etwas spezifischer ist als allgemeines p2p), können SieLesen Sie die Spezifikation, oderDurchsuchen Sie die Website von BitTorrentund Foren für weitere Informationen.

verwandte Informationen