PROGRAMMIAMO
Internet - Il NAT e le porte
Il gateway predefinito

Ogni computer in una rete LAN (o meglio ogni scheda di rete) deve indicare un indirizzo di gateway, il quale corrisponde sostanzialmente all'indirizzo dal quale la nostra LAN si connette a un'altra rete (spesso alla più vasta rete Internet esterna). Normalmente, in una rete domestica, tale indirizzo corrisponde all'indirizzo del nostro modem-router ADSL.

In Windows è abbastanza facile risalire all'indirizzo del gateway predefinito usando la scheda Dettagli della connessione di rete (accessibile dal pannello di controllo):

Un altro modo è usare il comando ipconfig di cui parleremo più avanti.

Tipicamente il router-gateway si occupa di trasferire i pacchetti dalla rete LAN alla rete Internet e, nel fare ciò, modifica anche l'indirizzo IP dei pacchetti stessi, in modo da trasformare gli IP privati (interni alla rete) in IP pubblici (visibili dall'esterno).

IP privati e IP pubblico

Ma come fa il gateway (ovvero il modem-router) a cambiare gli indirizzi IP trasformandoli da privati a pubblici? Quali regole deve seguire?

Per comprendere meglio il problema, consideriamo un computer host connesso in una rete LAN con i seguenti parametri:

Indirizzo IPv4. . . . . . . . . . .. . : 192.168.0.10
Subnet mask . . . . . . . . . .  . . : 255.255.255.0
Gateway predefinito . . . . . . . . : 192.168.0.1

Supponiamo ancora per concretezza che l'IP pubblico assegnato alla nostra rete sia 151.16.31.194

Immaginiamo ora che il computer di indirizzo 192.168.0.10 voglia inviare un messaggio a un altro computer di indirizzo 192.168.0.8. L'indirizzo viene riconosciuto dal nostro modem/router come un indirizzo di rete locale. Infatti in base alla subnet mask, tutti gli indirizzi che iniziano con 192.168.0.X appartengono alla nostra stessa rete. Pertanto il messaggio stesso non viene inviato in Internet, ma viene smistato immediatamente al computer locale di indirizzo 192.168.0.8.

Supponiamo ora invece che sempre lo stesso computer (192.168.0.10) voglia spedire un altro messaggio all'indirizzo 126.32.69.2. Questo secondo indirizzo non appartiene evidentemente alla nostra stessa LAN e dunque deve essere inviato dal modem/router sulla rete Internet.

La situazione presenta qualche analogia con quelle cassette delle lettere con due fessure, una per la posta urbana e l'altra per il resto della corrispondenza:

I messaggi inviati a indirizzi IP locali alla rete corrispondono alle lettere "Per la città", mentre gli altri sono le lettere "Per tutte le altre destinazioni". Come abbiamo detto l'operazione di smistamento viene effettuata dal modem/router.

C'è però un altro problema. Il messaggio che, nel nostro esempio, il computer 192.168.0.10 ha inviato verso il computer 126.32.69.2 deve contenere, oltre all'indirizzo del destinatario, anche l'indirizzo del mittente. Questo è perfettamente analogo a ciò che accade nella normale corrispondenza ed è indispensabile affinché 126.32.69.2 sappia a chi deve inviare la risposta. Tuttavia il numero del destinatario indicato sulla "busta" non può essere 192.168.0.10, poiché questo è un IP privato non univoco che ha senso solo all'interno della nostra LAN ma che non permette di identificare il nostro computer all'esterno.

Pertanto il modem/router, prima di inviare il messaggio in Internet dovrà sostituire l'IP locale 192.168.0.10 con l'IP pubblico, per esempio 151.16.31.194, in modo che il mittente possa essere rintracciato in Internet.

 

Il NAT

Il NAT (Network Address Translation) è una tecnica usata per sostituire nell’intestazione di un messaggio (più precisamente, un pacchetto IP) un indirizzo, sorgente o destinazione, con un altro indirizzo. Viene usato per permettere ad una rete che usa una classe di indirizzi privata di accedere ad Internet usando uno o più indirizzi pubblici. ll principio del NAT consiste quindi nell'utilizzare un gateway di connessione a Internet (per esempio un modem/router ADSL), con almeno un'interfaccia di rete connessa alla rete interna e almeno un'interfaccia di rete connessa ad Internet (con un indirizzo IP per il router), per connettere l'insieme dei terminali di rete.

Si presti attenzione al fatto che il NAT è una tecnica non un particolare dispositivo di rete (come hub, switch, router, modem). In una normale situazione domestica il NAT è implementato dal nostro router (che, come abbiamo visto prima, tanto per complicare un po' le cose, in questo contesto si chiama anche gateway).

Dato che il gateway camuffa completamente l'indirizzamento interno della rete, il meccanismo di traslazione di indirizzi (NAT) permette di assicurare una funzione di protezione della LAN verso l'esterno. In effetti, per un osservatore esterno alla rete, tutte le richieste sembrano provenire dall'indirizzo IP del gateway. In altre parole, non esiste alcun modo per stabilire se e quanti host privati ci siano dietro un IP pubblico: il vostro provider non è in grado di sapere se in casa vostra c’è un solo PC oppure un intero datacenter!

Client on a Private Network Accessing a Resource

Il NAT funziona così: nel messaggio in uscita viene tolto l’indirizzo IP privato e viene inserito l'IP pubblico; quando arriva il messaggio di risposta, viene eseguita l'operazione opposta (viene tolto l'IP pubblico e sostituito con l'IP privato di chi aveva inoltrato la richiesta).

 

Video lezione 4: due sottoreti collegate con un router

Video lezione 7: routing table

Video lezione 9: NAT

 

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it