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 |
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.