Un altro comando che permette di controllare il collegamento è traceroute, che come dice il nome serve a tracciare la strada che fanno i pacchetti per arrivare alla destinazione indicata.
In questo caso l'analogia telefonica non ci aiuta, perché di solito con il telefono questo tipo di controllo non può essere fatto. Infatti quello che succede con Internet è che, in realtà non esiste una connessione diretta fra due computer, anche se poi i programmi usano delle funzionalità che permettono di lavorare come se le cose fossero effettivamente così, ma i dati che inviate vengono passati da un computer all'altro fino ad arrivare alla loro destinazione, e viceversa.
Allora un'analogia che può spiegare un po' meglio la cosa, ed illustrare un po' più chiaramente i concetti del routing è più che quella delle reti telefoniche è quella delle reti autostradali. Ad esempio lavoravo per l'università capitava spesso di dover andare al CERN (a Ginevra). Per farlo si prendeva l'autostrada a Firenze Sud, a Firenze Nord si cambiava sulla Firenze Mare, uscendo a Lucca per fare il raccordo per prendere l'autostrada per Genova, da Genova si proseguiva per Alessandria, li si cambiava di nuovo per Torino, dove fatta la circonvallazione si prendeva l'autostrada per il traforo del Monte Bianco. Da li il raccordo ci portava sull'autostrada per Ginevra.
Come vedete si tratta di un bel percorso complicato, che comporta di entrare e uscire da diversi caselli; ora quando inviate un pacchetto su internet succede qualcosa di simile, e anche lui deve passare attraverso dei ``caselli''. Quello che succede ad esempio quando vi collegate con un modem e iniziate a chattare con qualcun'altro, è che i pacchetti che escono dal vostro computer vengono inviati al router (l'equivalente del casello) del vostro provider; da li prenderanno la strada opportuna per arrivare al router del provider a cui è collegato il computer del vostro interlocutore.
In tutto questo percorso i pacchetti passeranno per una serie di altri router che sanno che strada devono prendere i pacchetti per poter arrivare alla destinazione finale. La differenza fra i caselli ed i router è che questi ultimi sanno trovare da soli la strada su cui ti devono mandare per farti arrivare a destinazione. In realtà sono ancora più intelligenti, e sono in grado di farti prendere la strada più veloce, tenendo conto di eventuali ingorghi, incidenti ecc. Così se il tunnel del Monte Bianco viene chiuso, quando arrivate a Torino il router vi farà dirottare per il Frejus.
Usando un accorgimento previsto dal protocollo TCP/IP il comando traceroute si fa mandare un messaggio di ritorno da ciascuno dei router attraverso cui passa un pacchetto per arrivare alla destinazione che avete indicato, in questo modo si può avere tracciata tutta la strada che fa. Un esempio del funzionamento di traceroute è il seguente:
1 gw5a-65.wind.it (212.245.127.230) 125.017 ms 108.475 ms 100.188 ms 2 c-fi1-fe5a.wind.it (212.245.96.1) 99.628 ms 89.136 ms 100.163 ms 3 c-rm6-fi1-pos.wind.it (212.245.248.81) 110.412 ms 109.086 ms 110.687 ms 4 c-mix2-rm6-pos.wind.it (212.245.250.30) 119.925 ms 111.059 ms 108.968 ms 5 inet-mix.mix-it.net (217.29.66.2) 119.797 ms 110.656 ms 119.937 ms 6 ge0-0-0.milano1-cr10.net.inet.it (194.185.46.75) 119.939 ms 119.880 ms 110.663 ms 7 s1-1.firenze1-ar1.net.inet.it (194.185.64.238) 129.952 ms 125.473 ms s2-0.firenze1-ar1.net.inet.it (194.185.64.30) 130.921 ms 8 e0.firenze1-r4.net.inet.it (194.185.128.104) 119.915 ms 119.684 ms 130.637 ms 9 s1-4.gw-chlcpn2.inet.it (194.185.66.230) 129.236 ms !A s1-3.gw-chlcpn.inet.it (194.185.66.226) 128.835 ms !A s1-4.gw-chlcpn2.inet.it (194.185.66.230) 129.127 ms !A
Così se per un qualche motivo non riuscite a raggiungere il vostro indirizzo di destinazione potete verificare se questo è dovuto al fatto che la strada che prendono i vostri pacchetti è interrotta da qualche parte.17