Le LAN e TCP/IP





In una LAN TCP/IP, ogni host dispone di una tabella di instradamento che gli permette di determinare se l'indirizzo IP del destinatario appartiene o no alla rete.  

Riportiamo come esempio la tabella di routing  di una stazione Window con indirizzo IP=192.168.12.20 appartenente alla rete 192.168.12.0. Nella rete è presente un router con IP=192.168.12.1

Indirizzo rete Maschera Gateway Interfaccia Costo
0.0.0.0 0.0.0.0 192.168.12.1 192.168.12.20 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.12.0 255.255.255.0 192.168.12.20 192.168.12.20 1
192.168.12.20 255.255.255.255 127.0.0.1 127.0.0.1 1
255.255.255.255 255.255.255.255 192.168.12.20 192.168.12.20 1

La procedura d'identificazione effettua l'AND fra l'indirizzo richiesto e le varie maschere e confronta il risultato con l'indirizzo di rete corrispondente. Se il confronto ha successo  Il pacchetto viene inviato sull'interfaccia corrispondente.  Se il confronto non ha successo, e questo significa che l'indirizzo non appartiene alla rete, viene usata la la prima riga con maschera 0.0.0.0 che gli permetterà di inviare il pacchetto al router di default che  lo  instraderà su un'altra rete. 

Per gestire la tabella di routing si utilizza il comando route con una delle seguenti opzioni

Comando

Operazione

print Visualizza la tabella
add Aggiunge una voce
delete Elimina una voce
change Modifica una voce esistente

Gli indirizzi IP delle stazioni di una LAN sono indirizzi privati, cioè indirizzi non presenti o riconosciuti su Internet. La creazione di uno spazio d'indirizzamento privato si è resa necessaria soprattutto per la scarsità di indirizzi IP, ma anche per consentire una maggiore facilità di gestione, per es. per evitare che un indirizzo assegnato localmente coincida con un indirizzo conosciuto su Internet e garantire una maggiore sicurezza (le LAN diventano "invisibili").   Ad ogni classe di indirizzamento è stato assegnato uno specifico blocco d'indirizzi "privati" da utilizzare esclusivamente all'interno delle LAN (non routable address):

Classe A :  10.0.0.0/8

Classe B :  172.16.0.0/16

Classe C :  192.168.0.0/16

Sorge a questo punto il problema di come "identificare" una stazione con indirizzo privato al di fuori della rete locale.

Nella figura la rete 192.168.12.0 accede ad Internet tramite il router. 

 

Il router ha indirizzo IP 192.168.12.3 verso la LAN  e indirizzo IP 200.150.150.150 verso Internet

Supponiamo ora che la stazione 192.168.12.50 voglia collegarsi con un sito WEB di indirizzo 100.20.40.85. 

La stazione invierà allora al  router un pacchetto TCP/IP con le seguenti informazioni:

IP Sorgente = 192.168.12.50

IP destinazione = 100.20.40.85

Source Port Number = 2500

Source Port dest = 80 

Poichè il router utilizza un solo indirizzo d'uscita, 200.150.150.150, deve trovare il modo di distinguere la richiesta della stazione dalle altre. 
L'operazione che il router compie prende il nome di  NAT (Network Address Traslation).  Il router sostituisce l'indirizzo privato 192.168.12.50 con l'indirizzo pubblico 200.150.150.150 e il port number TCP 2500 con un altro a sua scelta e diverso per ogni stazionei client;  quindi memorizza in una tabella di stato del NAT, chiamata IP Traslation Table, il riferimento alla stazione e al port number originari. Infine trasmette il pacchetto sulla rete. 
Quando arriverà la risposta da parte del server richiesto, il router utilizzerà la tabella di traslazione per individuare la stazione a cui inoltrare il pacchetto.