Ich habe gerade einen Artikel über den Prozess des "Stanzens von Löchern" mit dem UDP-Protokoll gelesen. Ich verstehe, wie es gemacht wird, aber ich habe noch eine letzte Frage, um die Dinge zu klären. Wir haben den Rendezvous-Server und Client A, B.
Client A hat bereits eine Lücke für Client B geschlagen. Client B empfängt die NAT-IP und den NAT-Port vom Rendezvous-Server und beginnt, Daten an denselben Port wie der Rendezvous-Server zu senden. Angenommen, ich kenne zufällig einen zweiten Port, den das NAT für UDP-Verbindungen geöffnet hat. Könnte ich meine Pakete auch über diesen zweiten Port senden? Oder wird der Port für jede ausgehende UDP-Verbindung unterschieden? Wenn ja, warum können wir denselben Port für Client B und den Rendezvous-Server verwenden? Würde das NAT nicht einen neuen Port öffnen, wenn Client A das Loch schlägt und Client B wissen muss, welchen neuen Port das NAT für diese bestimmte Verbindung geöffnet hat?
Ich hoffe meine Frage ist etwas verständlich.