TCP/UDP Hole Punching vom und zum selben NAT-Netzwerk

TCP/UDP Hole Punching vom und zum selben NAT-Netzwerk

Ich habe mich gefragt, ob TCP/UDP-Hole Punching immer noch funktioniert, wenn Sie sich im selben Netzwerk (hinter einem NAT) befinden, und wie der Pfad des Pakets aussehen würde.

Wenn Sie Hole Punching im selben Netzwerk verwenden, wird ein Paket mit derselben Ziel- und Quelladresse gesendet. Nur der Quell- und Zielport unterscheiden sich. Ich kann mir vorstellen, dass ein Router mit aktiviertem NAT-Loopback dies ordnungsgemäß handhaben wird, aber wie sieht es mit anderen Routern aus? Würden sie das Paket verwerfen oder würde ein Router (der erste?) vom ISP das Paket zurückschicken, wonach es ordnungsgemäß behandelt wird?

Ich frage mich, weil ich darüber nachgedacht habe, diese Technik zu verwenden, um eine Sperre zwischen Peers in einem Netzwerk zu umgehen (wie ein Schulnetzwerk, in dem Clients nur auf das Internet zugreifen können, aber jeglicher Kontakt untereinander blockiert ist). Die einzige andere Möglichkeit besteht darin, einen Man-in-the-Middle als Proxy (Tunnel?) zu verwenden. Der Nachteil dabei ist, dass Sie einen Server mit deutlich mehr Bandbreite benötigen als einen, der nur Hole Punching ausführen kann. Auch die Latenz würde erheblich zunehmen.

Antwort1

Dies nennt man NAT Hairpinning. Ein NAT, das Hairpinning unterstützt, kann Übersetzungen durchführen, auch wenn sich beide Peers im selben NAT befinden.

Antwort2

Der Router führt nur dann ein „Routen“ durch, wenn sich das Zielnetzwerk vom Sendenetzwerk unterscheidet.

Wenn sich der Quellcomputer also auf der IP-Adresse 10.1.1.5 mit einer Maske von 255.255.255.0 befindet und die Zieladresse 10.1.1.50 ist, wird der NAT-Router dies ignorieren und nur der/die Switch(s) werden sich darum kümmern.

Wenn das Ziel 10.2.1.50 wäre, dannwürdeSie benötigen einen Router, aber je nach Routerkonfiguration ist es wahrscheinlich, dass die Route trotzdem nicht den NAT-Teil erreicht, da Sie normalerweise kein NAT in einem internen Netzwerk verwenden würden. NAT fügt Overheads und Probleme hinzu, die Sie nicht möchten, und Sie sollten intern nie NAT benötigen.

Also würde Ihr Vorschlag nicht funktionieren.

Wenn Peer-to-Peer-Verkehr blockiert wird, geschieht dies wahrscheinlich durch einen transparenten Filter irgendeiner Art.

Die einzige Möglichkeit, dies zu umgehen, besteht darin, einen Kanal zu finden, dertutzwischen den Peers arbeiten und dann einen verschlüsselten Kanal darüber ausführen.

Da die Peer-to-Peer-Verbindungen blockiert werden, versucht man schließlich, die Blockade zu umgehen.WILLEgegen Ihre Nutzungsbedingungen verstoßen - Sie werden aus dem Netzwerk geworfen, möglicherweise (von der Schule) verwiesen oder müssen sogar mit einer strafrechtlichen Verfolgung rechnen - das lohnt sich wirklich nicht! Richten Sie stattdessen Ihr eigenes WLAN-Netzwerk für Peer-to-Peer-Verkehr ein.

verwandte Informationen