Warum benötigen P2P-Verbindungen keine offenen Ports?

8

Ich meine, wenn jemand eine Datei von mir herunterlädt, heißt das nicht, dass ich der Host bin und er eine Verbindung zu mir herstellt?

Oder verbinde ich mich mit ihm?

Wie auch immer, einer von uns braucht einen offenen Hafen, nein?

Ich habe kein Open-Port-Routing zu meinem Computer in meinem Router. Wie akzeptiere ich also Verbindungen?

Zequez
quelle
Warum nicht einen Netzwerkanalysator wie Wireshark herunterladen und herausfinden
Conrad Frix

Antworten:

10

Wenn Ihr Router UPnP unterstützt, öffnet die von Ihnen verwendete p2p-Anwendung möglicherweise Ports auf dem Router, ohne dass Sie offene Ports manuell konfigurieren müssen.

Wikipedia UPnP

Andernfalls verwendet Ihre Anwendung möglicherweise einen Prozess namens NAT-Traversal, der in P2P-Anwendungen und Remotedesktopanwendungen wie GoToMyPC oder Hamachi üblich ist. Diese Technologie wurde für die Netzwerkadressübersetzung entwickelt, die als Firewall betrachtet wird, aber auch ein Mittel dafür ist, dass ein privates Netzwerk eine einzelne IP-Adresse im Internet gemeinsam nutzt (was Ihr Router verwendet).

Wikipedia NAT Traversal

Dustin G.
quelle
1
Ich denke, er spricht wahrscheinlich über NAT Traversal. Die Kurzversion ist, dass es einen Drittanbieter-Server gibt (der über offene Ports verfügt), der die Verbindung zwischen den beiden P2P-Clients aushandelt.
NReilingh
Welcher von ihnen ist also besser? Ist UPnP nicht ein Sicherheitsrisiko? EDIT: Das macht nichts, ich habe gerade dieses: networking.nitecruzr.net/2006/01/...
Zequez
7

In Protokollen wie BitTorrent fungiert die Portweiterleitung immer als Host, solange auf einer der beiden Seiten der Verbindung die Portweiterleitung auf der offenen Seite aktiviert ist. Wenn beide Seiten offen sind, könnte jedes Ende der "Host" sein. Wenn beide Seiten geschlossen sind, benötigen Sie einen Drittanbieter, der eine offene Verbindung hat, um die Verbindung auszuhandeln. So funktioniert dies beispielsweise bei Skype (der Drittanbieter wird als Supernode bezeichnet).

Hier ist ein guter Blog-Beitrag, der erklärt, wie Skype Supernodes verwendet und wie es verwendet wird, um Firewalls zu umgehen.

Scott Chamberlain
quelle
4

Ich würde Open Port mit einer Telefonnummer vergleichen.

Stellen Sie sich vor, Sie können ein Telefon wählen, aber keine Telefonnummer, um Anrufe entgegenzunehmen.

Für zwei Parteien, die miteinander sprechen (oder eine, die ständig spricht), spielt es keine Rolle, wer tatsächlich wählt. Der wichtige Teil ist, dass mindestens einer von ihnen eine Telefonnummer hat, dann ruft ihn der andere Partner einfach an.

Wenn keiner von ihnen eine Telefonnummer hat, wird in einigen Systemen ein Superknoten verwendet. Dies kann ein Freund sein, der zwei Anrufe empfängt, einen von jedem von ihnen, und sie miteinander verbindet. Dies ist die einzige Möglichkeit zu sprechen, wenn keine der beiden Parteien eine Telefonnummer hat. Das Problem ist, dass das Gespräch dann auf die Qualität der Telefonleitung dieses Superknoten-Freundes beschränkt ist.

Ich hoffe, diese Analogie erleichtert das Verständnis der drei möglichen Szenarien.

Sitoplex
quelle