informatica |
Internet Protocol
Il modulo IP è fondamentale per la tecnologia internet e la sua essenza
è la tabella di route. L'IP usa questa tabella per prendere tutte le
decisioni sull'instradamento dei pacchetti IP. Il contenuto della
tabella di route è definito dall'amministratore di rete. Gli errori
bloccano la comunicazione.
Capire come viene usata una tabella di route significa capire
l'internetworking. Questa comprensione è necessaria per amministrare e
mantenere con successo una rete IP.
La tabella di route è compresa bene avendo prima una veduta d'insieme
del routing, successivamente occorre apprendere il funzionamento degli
indirizzi di rete IP e infine si possono guardare i dettagli.
5.1 Instradamento Diretto
La ura sotto mostra una piccola internet con 3 computer: A, B, e C.
Ciascun computer usa la stessa pila di protocolli TCP/IP come in ura 1.
L'interfaccia Ethernet di ciascun computer ha un suo indirizzo Ethernet.
Ogni computer ha un indirizzo IP assegnato all'interfaccia IP dal
Gestore di rete, che ha anche assegnato un numero di rete IP
all'Ethernet.
A B C
| | |
-------o------o------o-------
Ethernet 1
Rete IP 'sviluppo'
ura 6. Una rete IP
Quando A invia un pacchetto IP a B, l'header IP contiene l'indirizzo IP
di A come indirizzo IP sorgente e l'Ethernet header contiene l'indirizzo
Ethernet di A come indirizzo Ethernet sorgente. L'header IP contiene
anche l'indirizzo IP di B come indirizzo IP destinazione e l'header
Ethernet contiene l'indirizzo Ethernet di B come indirizzo Ethernet
destinazione.
-------- ----- ------ -----------
|indirizzo sorgente destinazione |
|header IP A B |
|header Ethernet A B |
TABELLA 5. Indirizzi per un pacchetto IP in un frame Ethernet
da A a B
Per questo semplice caso, l'IP costituisce un "overhead" poichè esso
aggiunge poco al servizio offerto dall'Ethernet e porta invece dei
costi: tempo extra di CPU e spreco di banda per generare, trasmettere,
ed analizzare l'header IP.
Quando il modulo IP di B riceve il pacchetto IP da A, esso confronta
l'indirizzo IP di destinazione con il suo e, se il confronto ha esito
positivo, passa il datagramma al protocollo di livello superiore.
Questa comunicazione fra A e B usa l'instradamento diretto.
5.2 Instradamento Indiretto
La ura sotto mostra una veduta più realistica di una internet. Essa
è composta di 3 Ethernet e 3 reti IP connesse da un IP-router chiamato
computer D. Ogni rete IP ha 4 computer; ogni computer ha il proprio
indirizzo IP ed il proprio indirizzo Ethernet.
A B C ----D---- E F G
| | | | | | | | |
--o------o------o------o- | -o------o------o------o--
Ethernet 1 | Ethernet 2
rete IP 'sviluppo' | rete IP 'contabilità'
|
|
| H I J
| | | |
--o-----o------o------o--
Ethernet 3
rete IP 'fabbrica'
ura 7. Tre reti IP; Una internet
Eccetto il computer D, ogni altro computer ha una pila di protocolli
TCP/IP come quello in ura 1. Il computer D è l'IP-router; esso è
connesso a tutte le 3 reti e perciò possiede 3 indirizzi IP e 3
indirizzi Ethernet.
Il computer D ha una pila di protocolli TCP/IP simile a quella in ura
3, eccetto per il fatto che possiede 3 moduli ARP e 3 driver Ethernet
invece di 2. Notate che il computer D ha un solo modulo IP.
L'amministratore di rete ha assegnato un numero unico, chiamato numero
IP di rete, a ciascuna Ethernet. Nella ura 7 tale numero non è
mostrato, sono invece indicati i nomi delle reti.
Quando il computer A invia un pacchetto IP al computer B, il processo è
identico a quello mostrato nell'esempio della singola rete. Qualsiasi
comunicazione fra i computer che si trovano su una stessa rete IP è
fatta usando l'instradamento diretto discusso prima.
Quando i computer D ed A comunicano, si ha una comunicazione diretta,
come quando D comunica con E o con H. Questo perché ciascuna coppia di
computer si trova sulla stessa rete IP.
Comunque, quando il computer A comunica con un computer che non si trova
sulla stessa rete, la comunicazione non è più diretta. A deve usare D
per forwardare il pacchetto IP sull'altra rete. Questa comunicazione è
chiamata 'indiretta'.
Questi instradamenti di pacchetti IP packets sono fatti dai moduli IP e
sono trasparenti a TCP, UDP, ed alle applicazioni di rete.
Se A invia un pacchetto IP ad E, l'indirizzo IP sorgente e l'indirizzo
Ethernet sorgente sono quelli di A. L'indirizzo IP di destinazione IP è
quello di E, ma poiché il modulo IP di A invia i pacchetti IP a D per il
forwarding, l'indirizzo Ethernet di destinazione è quello di D.
|indirizzo sorgente destinazione|
-------- ----- ------ ------------
|header IP A E |
|header Ethernet A D |
TABELLA 6. Indirizzi in un frame Ethernet per un pacchetto IP
da A ad E (prima di D)
Il modulo IP di D riceve il pacchetto IP ed esamina il suo indirizzo IP
di destinazione, dice 'Questo non è il mio indirizzo IP' ed invia il
pacchetto IP direttamente ad E.
-------- ----- ------ ------------
|indirizzo sorgente destinazione|
-------- ----- ------ ------------
|header IP A E |
|header Ethernet D E |
TABELLA 7. Indirizzi in un frame Ethernet per un pacchetto IP
da A ad E (dopo di D)
Riassumendo, per le comunicazioni dirette, gli indirizzi sorgenti IP ed
Ethernet sono quelli del mittente, mentre quelli destinazione sono
dell'effettivo destinatario. Per le comunicazioni indirette non è così,
in particolare durante il percorso gli indirizzi Ethernet cambiano.
Questo esempio di internet è molto semplice. Le reti reali sono spesso
complicate da vari fattori, per la presenza di più IP-router e di
diversi tipi di reti fisiche. L'esempio di internet mostrato si può
avere quando l'amministratore di rete vuole dividere una Ethernet troppo
grande in tante più piccole in modo da limitare localmente il traffico
di broadcast.
5.3 Regole di Instradamento del Modulo IP
Questa panoramica sul routing ha mostrato ciò che accade, ma non come
accade. Esaminiamo ora le regole, o algoritmi, usati dal modulo IP.
Per un pacchetto IP in partenza, che entra nel modulo IP dal lato
superiore, l'IP deve decidere se usare l'instradamento diretto o
quello indiretto e scegliere una interfaccia di rete. Queste scelte
sono fatte attraverso la consultazione della tabella di route.
Per un pacchetto IP in arrivo, che entra nel modulo IP dal lato
inferiore, l'IP deve decidere se farne il forward o passarlo al
livello superiore. Se il pacchetto IP deve essere forwardato, esso
viene trattato come un pacchetto IP in partenza.
Quando arriva un pacchetto IP, esso non è mai forwardato indietro
sulla stessa interfaccia di rete dalla quale è arrivato.
Queste decisioni sono prese prima che il pacchetto IP sia inviato alla
interfaccia bassa del modulo IP e prima che la tabella ARP sia
consultata.
5.4 Indirizzo IP
Il Gestore di Rete assegna gli indirizzi IP ai computer in accordo con
la rete IP alla quale i computer sono collegati. Una parte
dell'indirizzo IP a 4-byte è il numero di rete IP, l'altra parte è il
numero IP del computer (o numero dell'host). Per il computer della
tabella 1 avente indirizzo IP di 223.1.2.1, il numero di rete è 223.1.2
ed il numero dell'host è 1.
Le parti dell'indirizzo usate come numero di rete e come numero di host
sono definite dai bit più significativi dei 4 byte dell'indirizzo.
Tutti gli esempi di indirizzi IP in questo tutorial sono di reti di
classe C, per le quali i 3 bit più significativi indicano che 21 bit
costituiscono il numero di rete, mentre gli 8 bit rimanenti formano il
numero host. Ciò consente di avere 2,097,152 reti di classe C, ciascuna
con 254 host.
Lo spazio di indirizzi IP è amministrato dal NIC (Network Information
Center). Tutte le internet connesse a formare una unica Internet
mondiale debbono usare i numeri di rete assegnati dal NIC. Se avete
creato una vostra internet e non intendete connetterla ad Internet, non
è però necessario che voi otteniate un numero di rete dal NIC.
D'altronde, se usate un numero IP a
caso di Internet correte il rischio di generare confusione e caos nella
eventualità che la vostra internet sia connessa ad Internet.
5.5 Nomi
Le persone trovano più facile riferirsi ai computer per nomi, piuttosto
che per numeri. Un computer chiamato alpha potrebbe avere l'indirizzo
IP 223.1.2.1. Per piccole reti, questa conversione nome-a-indirizzo è
tenuta su ogni computer nel file 'hosts'. Per reti ampie, questo file
di traslazione si trova su un server al quale si accede attraverso la
rete. Un pezzo di questo file potrebbe somigliare a questo:
223.1.2.1 alpha
223.1.2.2 beta
223.1.2.3 gamma
223.1.2.4 delta
223.1.3.2 epsilon
223.1.4.2 iota
La prima colonna è l'indirizzo IP, la seconda il nome del computer.
Nella maggior parte dei casi, si possono installare degli identici
file 'hosts' su tutti i computer. Si può osservare che 'delta'
possiede solo una riga in questi file sebbene abbia 3 indirizzi IP.
Delta può essere raggiunto con qualunque di questi indirizzi IP;
non importa quale si usa. Quando delta riceve un pacchetto IP e ne
guarda l'indirizzo destinazione, esso riconoscerà come suo ognuno di
quei 3 indirizzi IP.
Le reti IP sono note anche attraverso nomi. Se avete 3 reti IP, il
file 'networks' documenta questi nomi e potrebbe somigliare a questo:
223.1.2 sviluppo
223.1.3 contabilità
223.1.4 fabbrica
Nella prima colonna sono posti i numeri di rete IP e nella seconda i
loro rispettivi nomi.
Da questo esempio si può notare che "alpha" è il computer numero 1
sulla rete "sviluppo", "beta" è il computer numero 2 sulla stessa rete
e così via. Si potrebbe anche dire che alpha è sviluppo.1, beta è
sviluppo.2, e così via.
Il precedente file hosts è adeguato per gli utenti, ma il gestore di
rete probabilmente sostituirà la linea di delta con le tre linee:
223.1.2.4 routersvilup delta
223.1.3.1 routerfabbri
223.1.4.1 routercontab
Queste tre nuove linee del file "hosts" danno ad ogni indirizzo IP di
delta un nome significativo. Infatti, il primo indirizzo IP in elenco
ha 2 nomi; 'delta' e 'routersvilup' sono sinonimi. In pratica, 'delta'
è il nome per scopi generali del computer e gli altri 3 nomi sono usati
solamente quando si amministra la tabella di route IP.
Questi file sono usati dai comandi di amministrazione rete e dalle
applicazioni di rete per consentire l'uso di nomi significativi. Essi
non sono strettamente richiesti per poter operare sulle internet, ma
rendono più semplici per noi queste operazioni.
5.6 Tabella di Route IP
Come fa l'IP a conoscere quale interfaccia di rete usare per inviare
un certo pacchetto IP? Esso guarda la sua tabella di route usando una
chiave di ricerca basata sul numero di rete IP estratto dal campo
indirizzo destinazione del pacchetto IP
Le tabelle di route contengono una riga per ogni percorso. Le colonne
principali di queste tabelle sono: numero di rete IP, flag
diretto/indiretto, indirizzo IP del router, e numero interfaccia.
Queste tabelle sono usate da IP per ogni pacchetto in uscita.
Sulla maggior parte dei computer la tabella di route può essere
modificata col comando 'route'. Il contenuto della tabella di route è
definito dall'amministratore di rete, poiché è lui che assegna gli
indirizzi IP ai vari computer.
5.7 Dettagli sul Routing Diretto
Per spiegare come è usato, visitate in dettaglio le situazioni di
routing che abbiamo considerato in precedenza.
--------- ---------
| alpha | | beta |
| 1 | | 1 |
--------- ---------
| |
--------o----- ----- -----o-
Ethernet 1
Rete IP 'sviluppo'
ura 8. Veduta di una rete IP chiusa
La tabella di route di "alpha" è simile a questa:
-------- ----- ------ -------- ----- ------
|rete flag diretto/indiretto router numero interfaccia|
-------- ----- ------ -------- ----- ------
|sviluppo diretto <blank> 1 |
-------- ----- ------ -------- ----- ------
TABELLA 8. Esempio di Semplice Tabella di Route
Qualcosa di simile si può ottenere su vari sistemi UNIX attraverso il
comando 'netstat -r'. Con la nostra semplice rete, tutti i computer
hanno delle identiche routing table.
Per la nostra discussione, la tabella è stampata ancora senza il numero
di rete convertito nel suo nome di rete
|rete flag diretto/indiretto router numero interfaccia|
-------- ----- ------ -------- ----- ------
|223.1.2 direct <blank> 1 |
-------- ----- ------ -------- ----- ------
TABELLA 9. Esempio di Semplicee Route Table con Numeri
5.8 Scenario del Routing Diretto
Alpha spedisce un pacchetto IP a beta. Il pacchetto IP si trova nel
modulo IP di alpha e l'indirizzo IP di destinazione è beta o 223.1.2.2.
Il modulo IP estrae la parte rete di questo indirizzo IP e scandisce
la prima colonna della tabella fino a trovarlo. Con questa rete si ha
un riscontro sulla prima riga.
L'altra informazione in questa riga indica che i computer su questa rete
possono essere trovati direttamente attraverso l'interfaccia numero 1.
Una traduzione della tabella ARP viene fatta sull'indirizzo IP di beta
e quindi il frame Ethernet viene inviato direttamente a beta via la
interfaccia numero 1.
Se una applicazione prova a inviare dati ad un indirizzo IP che non si
trova sulla rete "sviluppo", il modulo IP non troverà un riscontro nella
tabella di route. Allora il pacchetto IP verrà scartato. Vari computer
danno in questo caso il messaggio di errore 'Network is unreachable'.
5.9 Dettagli sul Routing Indiretto
Adesso daremo un'occhiata ad uno scenario di routing molto più complesso
di quello visto fin qui
--------- --------- ---------
| alpha | | delta | |epsilon|
| 1 | |1 2 3| | 1 |
--------- --------- ---------
| | | | |
--------o----- ----- -----o- | -o----- ----- ------o--------
Ethernet 1 | Ethernet 2
IP network 'Sviluppo' | IP network 'contabilità'
|
| --------
| | iota |
| | 1 |
| --------
| |
--o--------o--------
Ethernet 3
IP network 'fabbrica'
ura 9. Veduta parziale di Tre reti IP
La tabella di route di alpha somiglia a questa:
-------- ----- ------ -------- ----- ------ ------
|rete flag diretto/indiretto router numero interfaccia|
-------- ----- ------ -------- ----- ------ ------
|sviluppo diretto <blank> 1 |
|contabilità indiretto routersvipup 1 |
|fabbrica indiretto routersvilup 1 |
-------- ----- ------ -------- ----- ------ ------
TABELLA 10. Tabella di Route di Alpha
Per la discussione la tabella viene ancora mostrata usando i numeri al
Posto dei nomi.
-------- ----- ------ -------- ----- ------ ------
|rete flag diretto/indiretto router numero interfaccia|
-------- ----- ------ -------- ----- ------ ------
|223.1.2 diretto <blank> 1 |
|223.1.3 indiretto 223.1.2.4 1 |
|223.1.4 indiretto 223.1.2.4 1 |
-------- ----- ------ -------- ----- ------ ------
TABELLA 11. Tabella di Route di Alpha con Numeri
Il router nella route table di Alpha è l'indirizzo IP della connessione di
delta alla rete "sviluppo".
5.10 Scenario Indiretto
Alpha invia un pacchetto IP a epsilon. Il pacchetto IP si trova nel
modulo IP di alpha e l'indirizzo IP di destinazione è epsilon
(223.1.3.2). Il modulo IP estrae la porzione rete di questo indirizzo
IP (223.1.3) e scandisce la prima colonna della tabella alla ricerca di
un riscontro. Esso viene trovato sulla seconda riga.
Questa riga indica che i computer sulla rete 223.1.3 possono essere
raggiunti tramite l'IP-router "routersvilup". Il modulo IP di Alpha
adesso richiede una traduzione tramite la tabella ARP per l'indirizzo IP
di "routersvilup" ed invia il pacchetto IP direttamente a "routersvilup"
attraverso l'interfaccia numero 1 di Alpha. Il pacchetto IP contiene
ancora l'indirizzo destinazione di epsilon.
Il pacchetto IP arriva alla interfaccia di delta sulla rete "sviluppo" e
viene passato al suo modulo IP. L'indirizzo IP di destinazione viene
esaminato e poichè esso non è trovato uguale a nessuno degli indirizzi
IP di delta, delta decide di forwardare il pacchetto IP.
Il modulo IP di Delta estrae la porzione rete dell'indirizzo IP di
destinazione (223.1.3) e scandisce la propria tabella di route alla
ricerca di un uguale campo rete. La tabella di route di Delta si mostra
simile a questa:
-------- ----- ------ -------- ----- ------ -----
|rete flag diretto/indiretto router numero interfaccia|
-------- ----- ------ -------- ----- ------ -----
|sviluppo diretto <blank> 1 |
|fabbrica diretto <blank> 3 |
|contabilità diretto <blank> 2 |
-------- ----- ------ -------- ----- ------ -----
TABELLA 12. Tabella di Route di Delta
Sotto vi è la tabella di delta senza la traduzione dei nomi.
-------- ----- ------ -------- ----- ------ -----
|rete flag diretto/indiretto router numero interfaccia|
-------- ----- ------ -------- ----- ------ -----
|223.1.2 diretto <blank> 1 |
|223.1.3 diretto <blank> 3 |
|223.1.4 diretto <blank> 2 |
-------- ----- ------ -------- ----- ------ -----
TABELLA 13. Tabella di Route di Delta con i numeri
L'indirizzo viene trovato sulla seconda riga. Il modulo IP allora invia
il Pacchetto IP direttamente ad epsilon attraverso l'interfaccia numero
3.
Il pacchetto IP contiene l'indirizzo IP di destinazione di epsilon e
l'indirizzo Ethernet di destinazione di epsilon.
Il pacchetto IP arriva ad epsilon e viene passato su al suo modulo IP.
L'indirizzo IP di destinazione viene esaminato e viene trovato uguale
all'indirizzo IP epsilon, così il pacchetto IP viene passato al
protocollo dello strato più alto.
5.11 Sommario sul Routing
Quando un pacchetto IP viaggia in una grande internet esso può
attraversare vari IP-router prima di arrivare alla sua destinazione.
Il percorso da esso fatto non è determinato da una fonte centrale ma
è il risultato delle consultazioni delle tabelle di routing usate da
ciascun IP-router attraversato in quel momento. Ciascun computer
definisce solo il successivo salto nel viaggio e conta sul computer al
quale spedisce il pacchetto IP.
5.12 Gestione dei Percorsi
Mantenere le corrette tabelle di routing su tutti i computer di una
grossa internet è un lavoro difficile; la conurazione di rete viene
continuamente modificata dai gestori di rete per realizzare i
cambiamenti richiesti. Errori nelle tabelle di routing possono bloccare
le comunicazioni in modo che sia poi difficile e scocciante
diagnosticare.
Trovare una semplice conurazione che renda affidabile una rete
comporta molto tempo. Ad esempio, il metodo che dà i migliori risultati
è quello di assegnare un singolo numero di rete IP ad ogni Ethernet.
Un aiuto è anche disponibile da certi protocolli ed applicazioni di
rete. L'ICMP (Internet Control Message Protocol) può fornire ragguagli
su vari problemi di routing. Per piccole reti la tabella di route è
riempita manualmente su ciascun computer dall'amministratore di rete.
Per grosse reti l'amministratore automatizza questo lavoro con un
protocollo di routing che distribuisce i percorsi attraverso una rete.
Quando un computer viene spostato da una rete IP ad un'altra, il suo
indirizzo IP deve cambiare. Quando un computer viene rimosso da una
rete IP il suo vecchio indirizzo non è più valido. Questi cambiamenti
richiedono frequenti aggiornamenti del file 'hosts'. Questo file può
divenire difficile da mantenere anche per reti di media ampiezza. Il
Domain Name System (DNS) aiuta a risolvere questi problemi.
Privacy
|
© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta