Wie stellen p2p-Knoten eine Verbindung über das Internet her?

2490
Alexander Ho

Ich war schon immer gespannt, wie sich zwei Computer über das Internet verbinden.

Wenn ich beispielsweise die IP-Adresse des Whatismyip-Dienstes verwende, kann ich nur die Konfigurationsseite meines Routers sehen, aber reine P2P-Dienste wie Bitcoin verbinden zwei Computer direkt miteinander, wenn sie die IP-Adresse verwenden. der hätte sich an meinen Router / WLAN-AP angeschlossen. Verwenden sie wirklich IP oder andere Methoden? Ich brauche nicht einmal Port-Forwarding, um die p2p-Software zum Laufen zu bringen.

1
Der Grund, warum Sie Ihre Routerseite sehen können, liegt darin, dass Sie von Ihrem eigenen Netzwerk aus darauf zugreifen. Andere Computer behandeln Ihre IP-Adresse als Adresse für Ihren Computer. Doktoro Reichard vor 10 Jahren 0
https://en.bitcoin.it/wiki/Protocol_specification für ein paar Informationen zur Funktionsweise des Bitcoin-Protokolls auf Netzwerkebene. Am unteren Rand der Seite sieht es aus, als wäre ein Bitcoin-Dissektor für WireShark (Packet Capture Tool für Win / Linux / Mac) geschrieben. Richie086 vor 10 Jahren 0
Hallo @DoktoroReichard Ich meine, wenn ich den Whatismyip-Dienst benutze, um meine externe IP-Adresse zu erhalten, erhalte ich die IP-Adresse meines Routers. Also habe ich darüber gelesen, wenn ich das bekomme, muss ich einen Port an die interne IP meines Computers weiterleiten. Aber ich stoße darauf, dass ich, wenn ich Peer-to-Peer-Clients verwende, dies nicht tun muss. Was ich unter p2p verstehe, ist, dass Knoten direkt miteinander verbunden sind. Wie wird das gemacht, wenn ich nicht einmal über mein externes Netzwerk eine Verbindung zu meinem Computer herstellen kann? Alexander Ho vor 10 Jahren 0
Weil p2p die Verbindung zwischen zwei Computern übernommen hat, die dies akzeptieren. Sie können sich nicht über ein externes Netzwerk mit Ihrem Computer verbinden, da dies unter anderem nicht dafür eingerichtet ist. Ein Beispiel ist ein HTTP-Server wie Apache. Wenn Sie über Apache verfügen und eine Webseite konfiguriert haben, wird jede an Ihre IP-Adresse über Port 8080 gerichtete Anforderung von Apache als HTTP-Anforderung behandelt ... auf eine Art und Weise, wie Sie jetzt mit Ihrem Computer verbunden sind. Portweiterleitung ist jedoch erforderlich, wenn der Router die Kommunikation nicht routen kann. Doktoro Reichard vor 10 Jahren 0

1 Antwort auf die Frage

0
Richie086

Wenn Sie daran interessiert sind, wie P2P-Anwendungen über das Internet kommunizieren, hängt es wirklich davon ab, von welcher P2P-Anwendung Sie sprechen. Alle P2P-Anwendungen, von denen ich weiß, dass sie über TCP / IP übertragen, sind die Grundlagen, auf denen das Internet basiert.

Jede Anwendung kommuniziert über ein Netzwerkprotokoll, das in der Regel speziell von dem Entwickler der jeweiligen Anwendung erstellt wird. Zum Beispiel überträgt BitTorrent normalerweise über eine Reihe von Ports (6881-6889), und die Funktionalität von BitTorrent hinsichtlich der Kommunikation über das Internet lässt sich am besten in folgendem zusammenfassen (aus WikiPedia entnommen).

Ein BitTorrent-Client ist ein Programm, das das BitTorrent-Protokoll implementiert. Jeder Client kann mithilfe des Protokolls jede Art von Computerdatei über ein Netzwerk vorbereiten, anfordern und übertragen. Ein Peer ist ein Computer, auf dem eine Instanz eines Clients ausgeführt wird.

Dasselbe kann für jede Anwendung gesagt werden, sei es Server-Client-basiert oder P2P oder was auch immer für eine andere Art von Topologie verwendet wird. Die gesamte Kommunikation erfolgt über Netzwerkprotokolle, die beide Computer verstehen.