Porta NAT di perforazione UDP


8

Ho appena letto un articolo sul processo di "punzonatura" con il protocollo UDP. Capisco come è fatto, ma ho un'ultima domanda per chiarire le cose. Abbiamo il server rendezvous e il client A, B.

Il client A ha già creato un buco per il client B. Il client B riceve l'IP NAT e la porta NAT dal server rendezvous e inizia a inviare i dati alla stessa porta del server rendezvous. Diciamo che per caso conosco una seconda porta che il NAT ha aperto per le connessioni UDP. Posso inviare i miei pacchetti anche attraverso questa seconda porta? O la porta si distingue per ogni connessione UDP in uscita? In tal caso, come mai possiamo usare la stessa porta per il client B e il server rendezvous? Il NAT non aprirebbe una nuova porta quando il client A perforava il foro e il client B doveva sapere quale nuova porta apriva il NAT per questa specifica connessione?

Spero che la mia domanda sia in qualche modo comprensibile.

Risposte:


6

Il dispositivo NAT manterrà una tabella con connessioni attualmente aperte in modo da poter inviare pacchetti di ritorno all'host interno che ha aperto la connessione. Una voce nella tabella di stato potrebbe essere simile a questa:

IP sorgente interna | Porta S interna | Porta S esterna | IP di destinazione | D-Port
192.168.1.12 10123 10123 203.0.113.1 5555

Quando si riceve un pacchetto (dal lato esterno), il dispositivo NAT verificherà la IP di origine , Porta di origine e destinazione Port del pacchetto e confrontarlo con il Destination IP, D-Porte External S-Portcampi nella sua tabella di connessione. Quando trova una corrispondenza, inoltra il pacchetto su Internal Source IPon Internal S-Port.

La perforazione UDP dipende dal fatto che le porte di sorgente interne ed esterne sono uguali. Questo è normalmente il caso a meno che non si disponga di un secondo host interno che utilizza la stessa porta di origine per connettersi alla stessa combinazione destinazione / porta D esterna.

Quando supponiamo che la S-Port interna ed esterna siano uguali, entrambi i client A, B possono comunicare la loro porta di origine al server rendezvous, che quindi ritrasmetterà le informazioni all'altro client.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.