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
|