Tabelle di Routing  
 

Vengono presentati ora alcuni approfondimenti sulle tabelle di instradamento di host con
piu' porte (LAN/WAN).

Interfaccia

Una Interfaccia è piu' correttamente una "Interfaccia Logica" associata ad un elemento di
comunicazione hardware su cui è costruito uno stack TCP/IP. Fra gli elementi hardware
considerabili come interfacce ci sono i modem, le schede ethernet, le porte ethernet dei
router ecc. Ogni Interfaccia ha sempre un indirizzo IP associato. Questi indirizzi IP
devono essere unici all'interno di tutte le sottoreti connesse.

Tabelle di instradamento

Per effettuare una connessione TCP/IP o, piu' semplicemente, per inviare qualche
pacchetto ad un'altra stazione, occorre sempre identificare l'interfaccia attraverso cui il
flusso di dati deve avvenire. Ad esempio, i pacchetti che devono raggiungere Internet non
devono passare attraverso la scheda LAN e viceversa i pacchetti per la LAN interna non
devono passare attraverso l'interfaccia modem.

Per tale ragione sono state implementate le tabelle di instradamento.

Una tabella di instradamento è una tabella che viene interrogata dallo stack TCP/IP in ogni
caso di invio di pacchetti per qualche destinazione: attraverso la tabella lo stack TCP/IP
riesce ad individuare l'interfaccia corretta da utilizzare per l'invio dei pacchetti in funzione
della destinazione da raggiungere.

Sinteticamente le informazioni contenute nella tabella di instradamento sono:

1.Un insieme di destinazioni (ognuna delle quali identificata dalla coppia "Indirizzo di
Rete" / "Subnet Mask" - vedi dopo)
2.Il router (gateway) da usare per inviare pacchetti alle precedenti destinazioni
3.Le interfacce da cui inviare pacchetti per raggiungere le precedenti destinazioni

In Windows la sintassi da usare (in una finestra DOS) è

ROUTE ADD <indirizzo di rete> MASK <subnet mask> <gateway>

<subnet mask> è un modo per specificare quali bit ignorare dell'indirizzo di destinazione
nei confronti con gli elementi della tabella. In altri termini, se il subnet mask è
255.255.255.0 allora vengono ignorati gli ultimi 8 bit dell'indirizzo (ultimo ottetto) nei casi
in cui si debba verificare se il record della tabella di instradamento possa applicarsi per
quella destinazione.

Esempio

La seguente è una tipica tabella di instradamento per una stazione connessa
contemporaneamente ad una LAN e ad Internet tramite modem:

Indirizzo di rete interfaccia

Metrica
0.0.0.0 0.0.0.0 203.96.10.254 203.96.10.51

1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1

2
192.168.0.0 255.255.0.0 192.168.0.4 192.168.0.4

1
192.168.0.4 255.255.255.255 127.0.0.1 127.0.0.1

1
192.168.0.255 255.255.255.255 192.168.0.4 192.168.0.4

1
203.96.10.0 255.255.255.0 203.96.10.51 203.96.10.51

1
203.96.10.51 255.255.255.255 127.0.0.1 127.0.0.1

1
203.96.10.255 255.255.255.255 203.96.10.51 203.96.10.51

1
224.0.0.0 224.0.0.0 203.96.10.51 203.96.10.51

1
224.0.0.0 224.0.0.0 192.168.0.4 192.168.0.4

1
255.255.255.255 255.255.255.255 192.168.0.4 192.168.0.4

1

In tale esempio sono presenti 2 interfacce: una scheda LAN con indirizzo IP 192.168.0.4
ed un'interfaccia PPP tramite modem con indirizzo 203.96.10.51

Osservando la quarta riga, si rileva l'informazione relativa alla scheda di rete (LAN). Si
nota infatti che ogni pacchetto avente come indirizzo di destinazione 192.168.0.4 (MASK
255.255.255.255, cioè solo questo indirizzo) deve essere inviato attraverso l'interfaccia
192.168.0.4, il gateway viene ignorato.

La riga piu' significativa è la terza. In tale riga viene specificato che ogni pacchetto
destinato alla rete 192.168.0.0 (MASK 255.255.0.0, cioè tutti gli indirizzi di destinazione
compresi fra 192.168.0.1 e 192.168.254.254) deve essere inviato attraverso l'interfaccia
192.168.0.4. Tutto il traffico LAN esce attraverso tale interfaccia.

In maniera analoga per il traffico via interfaccia PPP (modem), la settima riga è come la
quarta e la sesta riga è come la terza (si applica all'intervallo di indirizzi 203.96.10.1 -
203.96.10.254, che è una sottorete mantenuta dall'access provider contenente
probabilmente il router di accesso ad Internet).

Altra riga molto importante è la prima. L'indirizzo 0.0.0.0 (MASK 0.0.0.0) posto come
destinazione identifica tutti gli indirizzi IP rappresentabili con quattro ottetti. Esso viene
chiamato DEFAULT ROUTE e serve come ultima risorsa nel caso in cui un indirizzo IP
su cui si richiede la connessione non venga rappresentato dalle altre righe della tabella di
instradamento. L'indirizzo 0.0.0.0 è quello che rappresenta il problema nel caso di LAN
multisegmento poiché in fase di negoziazione iniziale PPP (durante la connessione via
modem all'access provider) viene modificato. In altri termini, se non è presente uno
STATIC ROUTE per una destinazione il pacchetto per tale destinazione viene inviato
tramite il DEFAULT ROUTE al 203.96.10.254 che è accessibile attraverso l'interfaccia
203.96.10.51 (modem).

La destinazione 127.0.0.0 è il cosiddetto "localhost" (interfaccia "loopback"), ovvero una
interfaccia software virtuale interna allo stack TCP/IP stesso e non accessibile da altre
interfacce che può essere usata per scopi di test dello stack.

L'indirizzo 192.168.0.255 è l'indirizzo di broadcast per i pacchetti in transito sulla LAN.
L'indirizzo 203.96.10.255 è l'indirizzo di broadcast per i pacchetti in transito sul segmento
LAN dell'access provider.

L'indirizzo 224.0.0.0 è un altro indirizzo di broadcast (o piu' precisamente di multicast). I
pacchetti inviati a tale indirizzo vengono propagati a tutti gli indirizzi della LAN interna e
della LAN dell'access provider.

L'indirizzo 255.255.255.255 è l'indirizzo di broadcast globale.

 

Esempio: TABELLA DI INSTRADAMENTO CON MODEM OFF-LINE

Indirizzo di rete Netmask Indirizzo di gateway Interfaccia Metrica
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1

1
192.168.0.0 255.255.0.0 192.168.0.4 192.168.0.4

1
192.168.0.4 255.255.255.255 127.0.0.1 127.0.0.1

1
192.168.0.255 255.255.255.255 192.168.0.4 192.168.0.4

1
224.0.0.0 224.0.0.0 192.168.0.4 192.168.0.4

1
255.255.255.255 255.255.255.255 192.168.0.4 192.168.0.4

1

Le destinazioni sono le stesse dell'esempio precedente, salvo per l'interfaccia PPP
(modem), che è stata rimossa dato che il modem risulta off-line.

ROUTE AUTOMATICAMENTE CREATI DAL S.O.

Esiste un certo numero di ROUTE creati automaticamente dal S.O. ed aggiunti alla
tabella di instradamento. Ogni volta che viene aggiunta una interfaccia, viene aggiunto
anche un ROUTE per tale interfaccia, uno per la sottorete cui l'interfaccia è collegata e
uno per l'indirizzo di broadcast associato a quella interfaccia.

IMPORTANTE

Se viene usato un DEFAULT GATEWAY per la LAN (nel caso in cui sia presente un
router sulla LAN stessa), viene aggiunto un DEFAULT ROUTE nella tabella di
instradamento. Quest'ultimo viene usato per accede a TUTTE le sottoreti di cui è
composta la LAN.

CHE COSA SIGNIFICA TUTTO CIO'

Il significato di tutto ciò è che lo stabilirsi della connessione PPP modifica il DEFAULT
ROUTE e quindi tutti i pacchetti vengono inviati di default all'access provider, rendendo
irraggiungibili le sottoreti piu' esterne della LAN. Il problema può essere risolto
aggiungendo manualmente degli STATIC ROUTE (tramite il comando ROUTE ADD ... )per
tutte le sottoreti da raggiungere.

Occorre procedere attentamente in tal senso.

Supponiamo di avere i seguenti segmenti sulla LAN:

Segment A: 192.168.0.0 mask 255.255.255.0 (IP da 192.168.0.1 a
192.168.0.254)

Segment B : 192.168.1.0 mask 255.255.255.0

Segment C : 192.168.2.0 mask 255.255.255.0

Segment D : 192.168.3.0 mask 255.255.255.0

Segment E : 192.168.4.0 mask 255.255.255.0

Segment F : 192.168.5.0 mask 255.255.255.0

Segment G : 192.168.6.0 mask 255.255.255.0

con il primo router posizionato all'indirizzo 192.168.0.254

Occorre in tal caso aggiungere dei ROUTE STATICI per ognuno dei segmenti da B ad F in
questo modo:

route ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.254

route ADD 192.168.2.0 MASK 255.255.255.0 192.168.0.254

route ADD 192.168.3.0 MASK 255.255.255.0 192.168.0.254

route ADD 192.168.4.0 MASK 255.255.255.0 192.168.0.254

route ADD 192.168.5.0 MASK 255.255.255.0 192.168.0.254

route ADD 192.168.6.0 MASK 255.255.255.0 192.168.0.254

Oppure è possibile compattare i precedenti sei comandi in un unico comando facendo
ignorare anche il terzo ottetto (oltre al quarto) nella verifica delle destinazioni in questo
modo:

route ADD 192.168.0.0 MASK 255.255.0.0 192.168.0.254

Se qualcuno dei segmenti da B ad F è raggiungibile tramite un altro router, occorre
aggiungere dei ROUTE STATICI all'interno del router di indirizzo 192.168.0.254 oppure
modificare la tabella di instradamento precedente.

Normalmente l'ordine con cui viene utilizzata un record della tabella di instradamento è il
seguente:

1.Ricerca di un indirizzo di HOST (quelli col mask pari a 255.255.255.255)
coincidente con l'indirizzo IP richiesto
2.Ricerca di una sottorete (STATIC ROUTE) contenente l'indirizzo IP richiesto
3.Uso del DEFAULT ROUTE