numero 2 - gen/feb 1997
networking

Routing su Internet

di Antonio Gullì


Questo articolo è il primo di una serie di quattro in cui ci proponiamo di approfondire le problematiche di instradamento da affrontare quando si connette una rete ad Internet

Nel presente articolo descriveremo in dettaglio gli aspetti del protocollo TCP/IP, approfondendo le questioni teoriche mediante alcuni esempi pratici di configurazione sia di una macchina Unix generica che di un router scelto come "macchina tipo": il classico cisco 2511. Le considerazioni che faremo si adatteranno, tuttavia, anche ad altri gateway.
Anticipiamo sin da adesso che nei successivi articoli entreremo nel dettaglio degli algoritmi di routing discutendo le scelta più appropriata per le topologie di rete che richiedono l'utilizzo di una rete di routers di grandi dimensioni.


La crescita di Internet : un problema di risorse.

Da qualche anno il numero di reti IP connesse ad Internet ha un tasso di crescita esponenziale. Se da un lato questo testimonia il successo di una tecnologia che rappresenta un mezzo innovativo di comunicazione, dall'altro comporta dei problemi di dimensionamento delle risorse usate. Avere molti provider, aziende e enti pubblici o privati connessi alla rete delle reti significa avere un numero altrettanto alto di possibili cammini percorribili per raggiungerli (d'ora in avanti spesso riferiti con il termine inglese di route). Alcune stime attendibili riportano che il loro numero raddoppia ogni 9 mesi. Questa enorme dimensione comporta problemi che, come vedremo, sono stati solo parzialmente risolti. Un problema che si delinea subito è il dimensionamento delle risorse associate ai router (in particolare, la memoria). Lo scambio di informazioni tra i gateway, come vedremo, porta alla costruzione di tabelle di instradamento di dimensioni ragguardevoli. Esse dovranno esser sviluppate in modo tale che le informazioni contenute siano aggiornabili, in modo automatico, non appena una nuova rete venga connessa.
Una ulteriore questione da tenere presente è l'obsolescenza dei router già presenti sulla rete. Questa macchine sono state progettate qualche anno fa: un periodo in cui non era ipotizzabile una simile crescita improvvisa della rete delle reti. Poiché non è possibile programmare (per un problema di costi ed anche di mantenimento degli standard raggiunti) una loro sostituzione in toto, sono stati proposti alcuni meccanismi che consentono di continuare a sfruttarli mediante particolari accorgimenti.


Uno sguardo al Protocollo Internet

Ogni host connesso ad Internet "parla" con gli altri grazie al modello teorico schematizzato in figura 1. Le comunicazioni avvengono tra strati (layer in inglese) di pari livello avvalendosi delle primitive di invio e ricezione che vengono messe a disposizione dagli strati inferiori sulla propria macchina. Vediamo come: le comunicazioni sulla rete fisica avvengono esclusivamente attraverso il protocollo non orientato alla connessione IP (Internet Protocol). I messaggi relativi ai protocolli sovrastanti (ad esempio TCP - Transport Control Protocol) vengono racchiusi (dopo una eventuale frammentazione) nel formato tipico dei pacchetti di IP. Una volta giunti a destinazione l'host ricevente provvederà a ricostruirli nel formato originale. Questo procedimento molto comune va sotto il nome di "Encapsulation". In tabella 1 è rappresentato il formato tipico del datagramma IP. Per gli scopi di questo articolo può essere necessaria la spiegazione di almeno due campi :
Campo lunghezza: IP può accettare un pacchetto prodotto da un protocollo di livello superiore (quale il TCP) e frammentarlo opportunamente per adattarlo al formato della sottorete fisica utilizzata senza superare la lunghezza massima che essa impone. In caso questo vincolo non sia attuabile il pacchetto viene rifiutato.
Tempo di Durata: Il parametro Time To Live (TTL) serve per indicare il tempo massimo di vita che un datagramma può trascorrere in Internet prima di venire consegnato. Nel caso questo tempo sia superato il pacchetto viene scartato. Spesso tale valore può esser utilizzato dai router per scoprire dei loop causati da un errata configurazione.
Le scelte relative ai possibili instradamenti per ogni pacchetto vengono fatte a livello IP. Tuttavia alcune informazioni relative alla tipologia della rete cui si è connessi possono essere acquisite avvalendosi anche dei protocolli di livello superiore come il TCP od il protocollo dedicato ai controlli ICMP (Internet Control Message Protocol).
Gli indirizzi di rete dell' Internet Protocol sono costituiti da 32 bit. Ad ogni macchina è attribuito un numero che la identifica univocamente; inoltre, per agevolarne la lettura, esso è suddiviso in quattro otteti ciascuno di 8 bit. Per ogni IP Address, una ulteriore suddivisione avviene tra la parte di indirizzo che distingue una rete dalle altre (Network Address Part) e l'indirizzo che distingue gli host all'interno di una rete (Host Address Part) La gestione dello spazio degli indirizzi è controllata da un ente centrale chiamato InterNIC o da una organizzazione da esso delegata. In base al numero di macchine da connettere viene assegnata una particolare classe di rete scegliendo fra tre possibili.
Ogni amministratore può scegliere secondo le proprie preferenze quale particolare indirizzo, fra quelli appartenenti al numero di rete ricevuta, assegnare a ciascun host della propria rete locale.
Le reti di classe A sono riconosciute grazie al fatto che in esse il primo bit del primo ottetto è settato a zero. Questi network hanno una numerazione che va, quindi, da 1 ad 126; i numeri 0 e 127 sono riservati: il primo, come vedremo, serve per indicare la default route; il secondo per designare l'host locale. La Network Address Part è costituita da soli 7 bit mentre la Host Address Part è costituita da ben 24 bit. Ciascuna delle 127 reti di classe A è, dunque, in grado di includere sino a 224 host.
Le reti di classe B hanno i primi due bit del primo ottetto settati a 10. La loro numerazione parte da 128 e giunge ad 191. La Network Address Part è formata da 14 bit e la Host Address Part da 16 bit. Le 214 reti di classe B hanno ciascuna 65534 host.
Le reti di classe C hanno i primi tre bit del primo ottetto settati ad 110. La loro numerazione parte da 192 e giunge a 223. La Network Address Part è composta da 21 bit e la Host Address Part da soli 8 bit.Le reti di classe D, E, F sono riservati per scopi di ricerca o per un utilizzo futuro.
Un problema sicuramente non secondario, che scaturisce da questa suddivisione in classi, è il repentino esaurimento dello spazio di indirizzi di rete TCP/IP disponibili. In tabella 2 sono riassunte le informazioni salienti sin qui riportate: se da una parte il numero di reti di classe B è ridotto, dall'altra il numero di reti di classe C è elevato. A ciascuna di esse vengono però associati soltanto 254 host, troppo pochi per soddisfare le esigenze di una rete locale di dimensioni medie.
Lo stesso principio di suddivisione gerarchica delle reti può essere ricreato all'interno di una singola rete sfruttando il meccanismo che va sotto il nome di subnetting: un singolo IP network viene ripartito in differenti sottoreti ciascuna autonoma dalle restanti. Grazie all'utilizzo di una maschera di bit di 32 bit utilizzata con un operazione di And Bit a Bit la Network Address Part viene estesa includendo alcuni bit della Host Address Part. Vediamo qualche esempio che ci chiarisca le idee.
Supponiamo che ad una università sia stata assegnata la rete di classe B 131.114.0.0. La subnet mask 255.255.000.000 indica che la Network Address Part occupa i primi 2 ottetti dell'address IP come avviene appunto nella reti di classe B. La stessa università è suddivisa in dipartimenti a ciascuno dei quali sarebbe opportuno assegnare una gestione autonoma del proprio spazio di indirizzamenti che rifletta le suddivisioni fisiche (differenti tronconi di ethernet), amministrative (autorità delegate) o geografiche. Ad esempio, attribuire al dipartimento di Storia la sottorete 131.114.17.0 ed a quello di Filosofia la 131.114.18.0. Ciascuno di essi avrà come subnet mask il numero 255.255.255.0.

Opzioni dei pacchetti TCP
Versione e Lunghezza intestazione(dimensione 4 + 4)
Tipo di Servizio(dimensione 8)
Lunghezza Totale(dimensione 16)
Identificatore(dimensione 16)
Flag, Scostamento dal frammento(dimensione 3 + 13)
Tempo di durata(dimensione 8)
Protocollo(dimensione 8)
Checksum(dimensione 16)
IP Origine(dimensione 32)
IP destinazione(dimensione 32)
Opzione Riempimento(dimensione variabile)
Dati(dimensione variabile)
Tabella 1



La filosofia di routing su Internet

La filosofia che è alla base del routing su Internet distingue tra macchine raggiungibili direttamente e macchine non raggiungibili direttamente. Le prime sono quelle connesse alla stessa lan in cui è situata la macchina che origina i messaggi; le seconde sono situate su una rete distinta dalla lan locale e per essere raggiunte è necessario attraversare uno o più gateway. Si noti, a tal proposito, che nel modello IP esistono due sistemi con funzioni ben distinte : gli host e i router (o gateway); i secondi hanno il compito esclusivo di gestire l'invio dei messaggi che i primi si scambiano l'un l'altro.
In figura 2 è presente una situazione di rete con macchine raggiungibili direttamente e macchine che non lo sono. Allo scopo di distinguere tra di esse, il protocollo IP provvede a confrontare esclusivamente i bit della parte rete dell'indirizzo destinazione con la parte analoga dell'indirizzo di provenienza. Se esse coincidono la macchina destinazione è raggiungibile direttamente; non lo è in caso contrario (in altre parole, due macchine con identico IP network Number devono appartenere alla stessa rete).



Trovare un host all'interno della propria rete locale

Supponiamo che, mediante il meccanismo descritto di sopra, il sistema abbia scoperto che l'indirizzo di destinazione appartenga alla nostra rete locale. Il passo successivo è capire il metodo mediante il quale i messaggi vengono inviati alla macchina destinazione.
Supponiamo di usufruire di un mezzo trasmissivo ad accesso condiviso (quale ethernet o token ring). Gli standard di costruzione delle schede di rete impongono che esse siano contraddistinte da un indirizzo fisico univoco scelto in uno spazio di 248 identificativi distinti: questi non hanno nulla a che vedere con gli IP address. Quello di cui abbiamo bisogno è, dunque, di una funzione che mappi gli indirizzi IP in indirizzi fisici di schede di rete. Mediante una interrogazione in broadcast, detta richiesta di ARP (Address Resolution Protocol), la stazione mittente prima di iniziare l'invio dei pacchetti IP (i datagrammi) chiede quale stazione tra quelle connesse in lan possiede l'indirizzo IP del destinatario.
L'host che soddisfa questa condizione risponderà inviando l'indirizzo fisico della propria scheda di rete. Da quel momento in poi, la stazione mittente avrà, in una cache preposta allo scopo, l'indirizzo della scheda di rete corrispondente all'IP della stazione destinataria. Il protocollo di ARP, riassunto in figura 3, contente dunque di identificare ogni stazione all'interno della rete locale.

Protocollo ARP
Figura 3



Proxy Arp

Un altro meccanismo utilizzato all'interno delle reti locali per raggiungere gli host connessi è quello del Proxy Arp o Promiscuous Arp. In figura 4 è presente una topologia di rete che si basa su questo sistema.
Una macchina Unix è utilizzata come terminal server. Ad ogni linea seriale di questo host vengono connessi dei modem per dare possibilità di accesso a stazioni remote attraverso le linee telefoniche commutate. Ciascuna linea è gestita mediante il protocollo specifico PPP che assegna, per tutto il tempo della connessione, un indirizzo IP alle postazioni remote.
Affinché le macchine presenti sulla rete locale raggiungano le postazioni remote connesse attraverso i modem è necessario che la macchina Unix intercetti tutte le richieste di ARP che giungono sulla propria interfaccia ethernet e coinvolgono gli IP assegnati alle postazioni remote. Il Proxy Arp realizza proprio questo compito.
Da una macchina Unix ci si può rendere conto della gestione della tavola di arp con il comando "arp -a"; esso darà un output del tipo :
Address          HW type         HW address         Flags  Mask
194.21.mmm.1     10Mbps Ethernet 00:00:0C:3E:6D:C1    C      *
194.21.mmm.19    10Mbps Ethernet 00:40:95:80:4D:BD    C      *
194.21.mmm.104   10Mbps Ethernet 00:40:95:80:52:3B   CMP     *
194.21.mmm.106   10Mbps Ethernet 00:40:95:80:52:3B   CMP     *
194.21.mmm.103   10Mbps Ethernet 00:40:95:80:52:3B   CMP     *
194.21.mmm.102   10Mbps Ethernet 00:40:95:80:52:3B   CMP     *
In questo caso la scheda di rete ad un unico indirizzo fisico ha associati molteplici indirizzi IP: sta, dunque, agendo da proxy.

Proxy ARP
Figura 4



Trovare il router locale

Quando la destinazione del messaggio non è locale il datagramma IP deve esser inviato al router. (Ricordo che questo test viene compiuto controllando solo la parte network dell'indirizzo IP del destinatario, eventualmente esteso con l'utilizzo della subnet mask) . In caso di presenza, su una stessa lan, di più router di uscita sarebbe desiderabile che la scelta ricada su quello più vicino alla destinazione (vedremo, in seguito, che il criterio di scelta del gateway di uscita non debba essere necessariamente basato sulla distanza). Per svolgere questo compito avremo bisogno di due condizioni:
  1. La conoscenza di tutti router presenti sulla rete locale e raggiungibili dall'host mittente
  2. Informazioni che ci permettano di capire quali siano i benefici che derivano dalla scelta di un router piuttosto che un altro.
Riguardo al primo punto la scelta può ricadere su uno dei seguenti metodi. Il primo consiste nel copiare manualmente tutti gli indirizzi dei gateway in una tabella, detta di routing, presente in ogni host. Da una macchina Unix questo viene fatto avvalendosi del comando route. Ad esempio la sequenza di comandi :
route add -net 191.21.mmm.0 eth0
route add default 194.21.mmm.1
informa l'host che la rete di classe C 194.21.mmm.0 cui la macchina appartiene è raggiungibile attraverso la porta ethernet. Inoltre setta staticamente il comportamento da seguire per tutti quei messaggi che non soddisfano la prima regola. Essi devono essere, in ogni caso, inviati alla macchina 194.21.mmm.1 che provvederà a smistarli opportunamente. Avrete intuito che questo deve essere l'indirizzo IP della porta ethernet del router. La tavola di routing di ogni singolo host può esser visualizzata con il comando netstat -nr il cui output è qualcosa di simile quanto riportato in tabella 3. Ogni volta che un pacchetto deve essere inviato all'esterno il kernel dell'host accederà alla tavola di routing e lo smisterà in base alle regole in essa contenute.
Particolare interesse riveste il campo Metric utilizzato nel caso in cui una stessa rete sia raggiungibile attraverso più gateway. Tra di essi si sceglie quello che ha la metrica più bassa. Tale valore viene settato a mano dall'amministratore di sistema. Per scopi diagnostici è utile, anche, conoscere il significato del campo flags: i vari significati sono riassunti in tabella 4.
Il secondo metodo consente di apprendere dinamicamente il numero di router presenti sulla lan locale e le reti che essi connettono. Allo stato attuale, sebbene sia stata già definita una proposta di standardizzazione la RFC 1256, questo sistema non ha grossa diffusione. In ogni caso lo riportiamo per completezza.In maniera periodica ogni router annuncia la propria presenza sulla lan cui è connesso avvalendosi di un particolare messaggio ICMP. L'invio di questo messaggio di esistenza può essere sollecitato dagli host mediante l'immissione sulla lan di un ulteriore messaggio ICMP preposto allo scopo.


La scelta del router di entrata ed uscita

Siamo giunti alla descrizione delle informazioni che ci consentono l'individuazione del router ottimale per raggiungere l'host destinazione nel caso in cui questo non sia presente sulla rete locale. La complessità intrinseca della questione richiede che essa sia affrontata gradualmente e sarà affrontata in parte in questo articolo e poi nei successivi.


Un solo gateway di uscita

Questo è il primo caso: Partiamo dalla descrizione di una tipologia di rete semplice come quella descritta in figura 5. Siamo in presenza di una rete lan interconnessa ad Internet mediante un unico router. Questa situazione è, allo stato attuale, molto comune per i piccoli ISP e le piccole e medie aziende. Nei prossimi anni, tuttavia, è prevedibile uno spostamento verso architetture di rete che prevedano l'utilizzo di link di back-up o l'introduzione di molteplici linee di collegamento per effettuare un bilanciamento del carico ottimale. Ritornando alla figura 5, poiché il collegamento verso il mondo esterno alla propria lan è unico, la scelta più semplice è quella di configurare il router in modo che tutti i pacchetti non destinati alla nostra rete siano catturati dal router mediante l'interfaccia verso la lan ed inviati alla interfaccia verso Internet. Per contro, tutti i pacchetti che giungono al router attraverso la porta connessa ad Internet dovranno essere inviati alla interfaccia che collega il router alla nostra lan. Supponiamo il cisco 2511 che abbiamo scelto come router campione abbia le interfacce numerate come descritto sempre in figura 5. Le istruzioni che realizzano questo scopo sono le seguenti :
ip route 0.0.0.0 0.0.0.0 10.0.mmm.1
setta l'invio di tutti i pacchetti che non vengono matchate da altre regole di routing (si indicano con la chiave 0.0.0.0) attraverso l'interfaccia 10.0.mmm.1
ip route 194.21.mmm.0 255.255.255.0 194.21.mmm.1
setta l'invio di tutti i paccheti inviati alla rete 194.21.mmm.xxx (dove xxx varia nel range [1...254] grazie alla specifica della subnet mask 255.255.255.0 ) attraverso l'interfaccia ethernet 194.21.mmm.1
Tengo a precisare, sin da subito, che anche in situazioni semplici come quella rappresentata in figura 5 la scelta di utilizzare entry statiche non è mai la più flessibile perché il nostro router può fare parte di una rete di gateway che evolve la propria topologia dinamicamente nel tempo. Settare delle entry statiche non consente di verificare tempestivamente questi mutamenti. Questo argomento sarà di un successivo articolo dedicato al routing.

LAN ed un gateway con backbone Internet
Figura 5



Entry statiche con molteplici uscite

Una entry statica può essere un modo agevole per stabilire la connettività ma non è detto che essa sia la più efficiente anche all'interno della rete locale cui siamo connessi.
In figura 6 abbiamo rappresentato una situazione di rete locale leggermente più complessa di quella presente in figura 5. Siamo in presenza di una lan, lan1, cui sono connessi due gateway: uno, Gw1, connette l'host A appartenente alla classe C 194.21.mmm.0 con Internet. L'altro, Gw2, connette lan1 alla lan2 di indirizzo di rete 194.21.nnn.0.
Supponiamo che l'host A (indirizzo 194.21.mmm.69) voglia comunicare con l'host B (indirizzo 194.21.nnn.48).
Se seguiamo il modello di entry statiche descritto precedentemente l'host A avrà nella propria tabella di routing come "default gateway" l'indirizzo della ethernet del Gw1 (194.21.mmm.1).
Tutti i pacchetti inviati da A ad B saranno inviati, attraverso la lan1, ad Gw1. Questa macchina controllando l'indirizzo sull'intestazione dei datagrammi IP capirà che il destinatarioè un host sulla lan2 che può esser raggiunta esclusivamente attraverso la porta ethernet 194.21.mmm.2 del Gw2. Di nuovo i pacchetti verranno fatti transitare sulla lan1 fino a giungere a destinazione. Si intuisce che il procedimento non è per niente efficiente in quanto la lan1 viene attraversata due volte con grossi danni per la banda disponibile ed, inoltre, ilGw1 deve gestire anche i pacchetti inviati a lan2 a scapito di quelli da inviare su Internet.
Si potrebbe obiettare che l'amministratore di sistema della lan1 abbia commesso un errore dimenticando di settare una entry sulla tavola di routing dell'host A per trattare adeguatamente i pacchetti destinati alla lan2. Questa affermazione è solo parzialmente vera: Il network administrator dovrebbe svolgere questo compito per ognuno degli host connessi alla lan1. Fortunatamente le cose non stanno così: il protocollo ICMP ci viene nuovamente incontro con un messaggio ideato espressamente allo scopo: il messaggio redirect.
Non appena Gw1 riceve un pacchetto da A, attraverso la lan1,e si accorge che la destinazione viene raggiunta ripercorrendo la medesima lan1 invia un ICMP Redirect ad A per informare l'host che la destinazione può essere raggiunta attraverso un percorso più agevole ed indicandolo espressamente. Tutto questo avviene in maniera trasparente all'utente. Tuttavia, le modifiche fatte alla routing table dell'host A possono essere monitorate da una macchina Unix con il già citato comando netstat -nr. Se si è verificata la condizione descritta in questo paragrafo una entry presenterà il flag D od M a seconda che il comando ICMP abbia creato una nuova riga di route o modificato una già presente (tabella 4).


L'algoritmo di Routing di IP

Siamo, a questo punto, in grado di definire formalmente l'algoritmo di Routing adottato dal Protocollo Internet. Eccone i passi relativi alle scelte fatte internamente ad un host generico:
  • Esamina il campo To: all'interno del pacchetto IP.
  • Se esso appartiene ad un host connesso direttamente invia il pacchetto secondo quanto specificato nella tabella di ARP. Se l'host non è presente in tabella effettua una richiesta di ARP, prima di inviare.
  • In caso contrario, controlla se nella tabella di routing locale è presente una entry che informi come trattare quel pacchetto. In genere queste informazioni sono create a mano dal network administrator o generate automaticamente come risultato di un messaggio ICMP.
  • Se ciò non avviene, utilizza la entry default route per instradare al gateway predisposto dall'amministratore di sistema. Se questa entry manca segnala un errore di routing.
Viceversa, il cisco 2511 scelto come gateway modello adotta, per adesso, un algoritmo di routing più banale:
  • Qualunque pacchetto in arrivo dalla porta connessa ad Internet deve essere inviato alla porta connessa alla rete locale
  • Qualunque pacchetto in arrivo dalla interfaccia connessa alla lan deve essere inviato alla interfaccia che collega ad Internet.



ICMP: il protocollo dei messaggi di controllo

Gli schemi sopra riportati richiedono una qualche forma di comunicazione tra l'host e il gateway per segnalare reciprocamente l'evoluzione dei rispettivi stati. IP non possiede dei meccanismi espliciti di indicazione e correzione degli errori, ma si affida, come abbiamo avuto occasione di vedere ad un protocollo sovrastante. È utile una descrizione dettagliata di alcune delle sue funzionalità non ancora citate. Tra di esse:
Superamento del tempo massimo di vita di un datagramma IP: IP non è un protocollo orientato alla connessione (al contrario del TCP), per tale ragione un pacchetto può essere scartato da un router se la sua consegna non avviene in un tempo prefissato. Il protocollo di gestione del tempo di vita (TTL) è molto semplice : l'host setta il valore desiderato ed ogni gateway che viene attraversato provvede a modificare il pacchetto che lo attraversa decrementando opportunamente tale valore. Se ci si accorge che il TTL giunge a zero il datagramma viene scartato e l'evento è segnalato mediante un opportuno messaggio ICMP. Sarà compito del mittente ritrasmettere il dato.
Destinazione irraggiungibile: Se per qualche motivo la destinazione, host oppure rete, non è raggiungibile (ad esempio se non è presente una entry nella tavola di routing) o se lo specifico servizio richiesto non è disponibile (per esempio si prova a connettere una porta socket su cui non è stato fatto il bind) viene generato un adeguato messaggio ICMP.
Rallentamento della sorgente: Se un router ha problemi a gestire in relazione alle proprie risorse il rate di traffico che un host genera, può richiedere con uno specifico messaggio che la velocità di invio dei messaggi sia rallentata.L'utilizzo di questi messaggi consente di rendere l'operazione di instradamento un lavoro di collaborazione tra le parti fondamentali di ogni singola rete.


Gli strumenti di lavoro per la verifica della rete

Presentiamo, adesso, altri due strumenti di lavoro che ci saranno utili per testare la situazione sulla nostra rete. Essi affiancano i già citati comandi arp, route e netstat. Cominciamo dal più semplice: il ping. Questo comando permette di capire se una macchina presente in un qualunque punto della rete Internet è raggiungibile a partire dal nostro host locale. Il suo funzionamento è semplice vengono inviati ad intervalli regolari dei messaggi di tipo ICMP Echo cui la macchina risponde mediante il corrispondente messaggio ICMP Echo REPLY. In base al tempo intercorso tra l'invio e la ricezione dell'echo vengono stimati i tempi di ritardo che esistono tra l'host mittente e l'host destinatario. In genere, questi controlli vengono fatti su più prove per disporre di una stima media che testimoni l'evolversi della rete in un arco di tempo fissato. Molto più utile per i nostri scopi è un altro tool che sfrutta nuovamente i protocolli ICMP e IP: il traceroute. Mentre il ping cerca di descrivere lo stato delle connessioni end-to-end il traceroute da una descrizione dettagliata anche di tutti i passi che si verificano prima del delivery del messaggio. Nel riquadro 1 sono riportati gli output dei due comandi In particolare, analizzando il risultato del comando traceroute si nota che ogni riga tiene conto dei gateway attraversati per giungere a destinazione.


Conclusioni

In questo primo articolo abbiamo descritto come vengono implementati i compiti di routing all'interno della propria rete locale e come verificare quando un messaggio è diretto ad un host esterno alla nostra lan. Questi sono solo i primi aspetti (ed anche i più semplici) delle innumerevoli tecnologie che vengono coinvolte affinché il messaggio giunga a destinazione. Nel prossimo articolo descriveremo cosa accade non appena un pacchetto supera il gateway che ci connette al mondo esterno. Vedremo, in dettaglio, che tutta Internet è organizzata in un numero di networks raggruppati in entità a se stanti dette Autonomuos System la cui esistenza permette una gestione gerarchica dei rimanenti problemi di instradamento. L'algoritmo di routing triviale per i gateway, sin qui proposto verrà sostituito, con strategie adattive notevolmente più efficienti.

© 1996 Edizioni Infomedia S.r.l. - tutti i diritti riservati