4 Stimmen

Ist UDP-Lochstanzen möglich?

Ich versuche herauszufinden, ob UDP Hole Punching hinter einem bestimmten NAT möglich ist, aber ich habe festgestellt, dass wenn der Computer hinter dem NAT UDP-Pakete an zwei verschiedene IPs mit demselben Port sendet, während er an denselben Port gebunden ist, das NAT zwei verschiedene externe Portnummern zuweist. Daher glaube ich, dass UDP Hole Punching hinter diesem speziellen NAT unmöglich ist, stimmt das?

Danke

1voto

Martin v. Löwis Punkte 120025

Nicht unbedingt. Der Router könnte bereit sein, auf IGD zu antworten.

1voto

Toprak Punkte 275

Das bedeutet, dass Ihr NaT symmetrisch ist. Wenn Ihr NaT symmetrisch ist, werden für jede Verbindung unterschiedliche externe Ports angegeben. Es ist nicht möglich, eine Verbindung von beiden Seiten herzustellen, aber p2p ist immer noch möglich. Allerdings nur möglich, wenn die Agentenseite conic Nat verwendet. Suche danach.

Aber wenn zwei Standorte symmetrisches NaT verwenden, gibt es keine Möglichkeit, eine p2p-Verbindung mit UDP-Hole Punching herzustellen.

  1. a:Symmetrisch => b:symmetrisch ---- nicht möglich
  2. a:Conic => b:Conic ------------ einfach möglich
  3. a:Symmetrisch => b:Conic --------- möglich / nur einseitiger Handshake
  4. a:Conic => b:symmetrisch --------- nicht möglich / aber möglich, eine Verbindung mit einseitigem Handshake herzustellen

Aber Sie können immer noch Portvorhersagemethoden verwenden. Das bedeutet, dass Sie erraten müssen, welcher Port für die Verbindung verwendet werden kann und versuchen, ihn zu verbinden (Tcp Hole Punch).

Für Conic NaT können Sie sich zum Thema UDP Hole Punching bitte ein Beispiel auf https://github.com/turapulku/NaT-Traversal-UDP-Hole-punch.git ansehen.

Das ist noch in der Entwicklung, aber ich hoffe, es ist jetzt hilfreich.

0voto

lym Punkte 1

Sie können diese Website verwenden, um das Verhalten dieses bestimmten NAT zu bestätigen.

http://nattest.net.in.tum.de/test.php

Es wird Ihren NAT-Typ überprüfen und testen, ob UDP/TCP-Lochstanzen möglich ist.

Aber da Sie bereits wussten, dass die Portzuweisung zufällig ist, ist das UDP-Lochstanzen nicht möglich. Die Verwendung von UPnP ist eine andere Möglichkeit, funktioniert jedoch nicht hinter geschachtelten NATs.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X