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.
- a:Symmetrisch => b:symmetrisch ---- nicht möglich
- a:Conic => b:Conic ------------ einfach möglich
- a:Symmetrisch => b:Conic --------- möglich / nur einseitiger Handshake
- 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.