Traceroute

Da Wikipedia, l'enciclopedia libera.

In informatica si definisce traceroute un software, scritto in qualunque linguaggio, che si occupa di ricavare il percorso seguito dai pacchetti sulle reti informatiche, ovvero l'indirizzo IP di ogni router attraversato per raggiungere il destinatario.[1][2]

Il termine traceroute indica, oltre al programma, anche il percorso restituito dall'applicazione stessa.

Identiche operazioni vengono effettuate con il comando "ping".

Descrizione[modifica | modifica wikitesto]

Il campo TTL[modifica | modifica wikitesto]

Questa applicazione sfrutta una particolare caratteristica del protocollo IP, ovvero il campo TTL (time to live) del messaggio. Questo campo specifica il numero degli apparati di rete che il pacchetto potrà attraversare prima di essere dichiarato scaduto.

Il funzionamento di questo campo è semplice: ogni router che riceve il pacchetto, prima di inviarlo nuovamente, diminuisce il campo di un'unità. Se si accorge che il campo ha assunto il valore 0, invia al mittente del pacchetto un messaggio di errore ICMP specificando l'indirizzo del router che l'ha generato.

Funzionamento[modifica | modifica wikitesto]

Un'applicazione traceroute, quindi, invia un pacchetto al destinatario di cui si vuole ricavare il percorso di traceroute con il campo TTL impostato ad 1. Il primo router che lo riceverà, constatando che il campo TTL ha raggiunto lo 0, invierà un errore al mittente (ICMP Time Exceeded). L'applicazione memorizzerà l'indirizzo IP del primo router, quindi invierà un nuovo pacchetto con TTL impostato a 2. L'operazione verrà ripetuta finché il pacchetto non sarà arrivato al destinatario, che invierà un ICMP Echo Reply.

Alla fine l'applicazione avrà ottenuto la lista degli indirizzi IP dei router su cui hanno transitato i pacchetti.

Calcolando anche il tempo trascorso tra l'invio di un pacchetto e l'arrivo del corrispondente messaggio di errore è possibile anche verificare la velocità di risposta dei router.

Il primo indirizzo IP fornito è quello del nodo client, che invia il pacchetto di prova. Questo risulta utile ad esempio nelle connessioni ad un proxy server, per visualizzare il proprio IP.

Problemi[modifica | modifica wikitesto]

  1. Il principale problema del traceroute è che spesso i pacchetti possono seguire più di un percorso. In questo modo l'intera operazione perde di affidabilità, in quanto gli indirizzi IP ricavati si riferiscono a due (o più) percorsi differenti e non c'è modo di sapere in corrispondenza di quale router i percorsi si sono separati.
  2. Se i pacchetti e i rispettivi messaggi di errore seguono percorsi differenti, il calcolo del tempo di risposta dei router non è più affidabile.
  3. Poiché l'indirizzo IP restituito dai router corrisponde a quello della sua interfaccia in ingresso, talvolta questo indirizzo non è quello effettivo su cui transita il pacchetto.

Applicazioni di traceroute[modifica | modifica wikitesto]

  • Su Microsoft Windows, esiste il comando del prompt dei comandi tracert.
  • Su Linux, esiste il comando della shell tracepath e il più avanzato programma traceroute.
  • Su AS400, esiste il comando TRCTCPRTE
  • Su Mac OS X, esiste il comando traceroute disponibile anche in Utility Network.

Note[modifica | modifica wikitesto]

  1. ^ (EN) How Traceroute Works, inetdaemon.com. URL consultato il 14 maggio 2012.
  2. ^ (EN) Understanding the Ping and Traceroute Commands, cisco.com. URL consultato il 14 maggio 2012.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica