Come fa il router a sapere a quale dispositivo inviare i pacchetti? [duplicare]


15

la mia domanda non riguarda il modo in cui si muove attraverso Internet, ma come si sposta attraverso il router verso un determinato dispositivo. Tutti i dispositivi collegati a un router in una rete domestica hanno lo stesso IP esterno. Supponiamo che il dispositivo A stia caricando una pagina e che i pacchetti vengano inviati da una fonte esterna al router perché i pacchetti conoscono l'IP esterno del dispositivo A e sono in grado di accedere al router. Ma ora, come si arriva al dispositivo A? Come fa il router a inviarlo al dispositivo A anziché al dispositivo B?

Penso che questo implichi il NAT, ma sto solo cercando una spiegazione logica di ciò che il NAT fa per raggiungere questo obiettivo.


Non posso darti una risposta molto specifica, ma il router tiene traccia di dove sta andando una richiesta e chi l'ha inviata. Quando la fonte esterna risponde, il router verifica semplicemente quale dispositivo ha tentato inizialmente di contattare la fonte esterna e inoltra la risposta a quel dispositivo. Se hai bisogno di maggiori informazioni, guarda NAT.
Jack Humphries il

Questa domanda appartiene a Superuser.com
TimothyP il

Risposte:


11

Quando si avvia una connessione a un sito esterno, il router utilizza ogni volta un numero di porta di origine diverso ... quindi utilizza quel numero di porta di origine (che è dove i dati ritornano) come chiave per cercare su quale macchina la tua rete interna da cui proviene la richiesta. Questo si chiama PORT Address Translation (al contrario di Network Address Translation, ovvero quando hai più indirizzi di rete disponibili sul tuo router).


1
questo spiegherebbe cose come le connessioni TCP, ma alcune applicazioni sono prive di connessione. E i pacchetti UDP? Che cosa succede se si ospita un server su 1 dispositivo, anche se utilizza TCP per la connessione, non sarà in grado di inizializzare una connessione senza che il router sappia su quale dispositivo si trova il server.

1
Per le connessioni UDP di solito è necessario pre-definire una porta sul router che può essere utilizzata per instradare verso un dispositivo specifico. Questa è la funzione "port forwarding" dei router e può essere utilizzata sia per i pacchetti UDP in entrata (in risposta a un messaggio in uscita o per un nuovo pacchetto in arrivo) sia per i pacchetti TCP in arrivo (ad esempio quelli avviati da un client remoto del tuo PC.)
Michael Bray il

1

Normalmente, tutti i dispositivi della rete domestica hanno un indirizzo interno diverso (indirizzo privato, sempre 192.168.0.1 ~ 192.168.0.255).

Quando un pacchetto viene inviato dalla rete domestica (diciamo Dispositivo A: 192.168.0.123), quando passa attraverso il router, il router tradurrà l'indirizzo privato nell'indirizzo esterno del router (supponiamo che sia 140.191.2.5), e il router registra anche questo mappatura nel suo NAT.

Quando la risposta è tornata, il router esegue il mapping del NAT e trova l'origine originale è Dispositivo A.

così il dispositivo A alla fine riceve il pacchetto.

Questo è solo un concetto, per maggiori dettagli, consultare wiki: NAT.

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.