Blog di ClockTools

Diagnostica di rete

Cosa mostra Traceroute? Come leggere i risultati

Traceroute mostra gli hop di rete in risposta e gli esempi di andata e ritorno da sorgente a hop. Ecco come leggere l'output senza confondere il silenzio con un errore.

Di , sviluppatore ed editore | | Recensito sotto il ClockTools politica editoriale

Che cosa mostra Traceroute l'immagine in primo piano per ClockTools
Sommario

Traceroute sembra più sicuro di quanto non lo sia in realtà. Il risultato arriva sotto forma di linee numerate ordinate, ma quelle linee sono osservazioni di una serie di sonde, non una mappa perfetta di Internet.

Traceroute mostra gli hop 3 del livello di risposta tra un'origine e una destinazione, oltre a esempi di risposte di andata e ritorno dall'origine a ciascun hop. Non garantisce che ogni router sia visibile, non misuri il ritardo tra due hop vicini o provi la perdita di pacchetti. Una risposta vuota può semplicemente significare che un dispositivo ha scelto di non rispondere alla sonda.

Cosa mostra effettivamente traceroute

Un traceroute classico tenta di rivelare il percorso una risposta alla volta. Per ogni hop visibile, può riportare un numero di hop, un indirizzo IP, un nome host opzionale e uno o più campioni di tempo di andata e ritorno. Il Modello di misurazione del traceroute IETF li identifica come campi dei risultati comuni.

La parola attenta è rispondendo. Una riga rappresenta un'interfaccia che ha risposto a un sondaggio, non necessariamente un router fisico completo e certamente non tutti i dispositivi che hanno gestito il traffico. Due indirizzi con lo stesso numero di hop possono essere risponditori alternativi su un percorso con carico bilanciato. Una riga mancante potrebbe continuare a inoltrare perfettamente i pacchetti.

Traceroute è quindi meglio leggerlo come un'osservazione del percorso da una fonte, in un momento, utilizzando un metodo di sonda. Eseguilo in seguito, da VPN o da un'altra rete e il risultato potrebbe cambiare. Questo è un comportamento normale del routing, non automaticamente un errore.

Il piccolo trucco TTL dietro ogni salto

Il meccanismo è intelligente. In IPv4, ogni pacchetto inoltrato porta un valore Time to Live, solitamente trattato come un limite di hop. Un router lo riduce prima dell'inoltro. Quando il valore scade, il router può restituire un messaggio ICMP Time Exceeded invece di inoltrare il pacchetto.

Traceroute invia prima una o più sonde con TTL 1. Scadono al primo hop instradato. Il set successivo utilizza TTL 2 e può raggiungere un salto più avanti. Il processo continua finché la destinazione non risponde o lo strumento non raggiunge il massimo configurato. IPv6 utilizza un campo chiamato letteralmente Limite del salto, ma l'idea della scoperta è simile. I dettagli del protocollo sono documentati in RFC 5388 e il Specifica IPv6.

Diagramma che mostra le sonde traceroute con valori TTL di uno, due e tre che rivelano risponditori progressivamente più lontani
Diagramma che mostra le sonde traceroute con valori TTL di uno, due e tre che rivelano risponditori progressivamente più lontani

La risposta di destinazione dipende dall'implementazione. Una traccia tradizionale basata su UDP spesso termina quando la destinazione segnala che la porta scelta non è raggiungibile. Finestre tracert utilizza le sonde ICMP Echo e termina quando la destinazione risponde. Esistono anche varianti basate su TCP. Questo è il motivo per cui due programmi traceroute possono intraprendere lo stesso viaggio di base inviando diversi tipi di sonde.

Come leggere una riga di output

Considera una comune linea in stile Windows con un numero di hop, tre valori temporali e un indirizzo. Le colonne diventano semplici una volta che smetti di chiedere loro di fare più di quello che possono.

CampoCosa significaCiò che non dimostra
Numero del saltoIl passo TTL o Hop Limit utilizzato per quella rigaLa distanza fisica o la proprietà del router
Tre valori RTTTre campioni separati da sorgente a risponditore e ritornoMinimo, medio e massimo; o ritardo tra hop adiacenti
Nome hostUn nome inverso-DNS quando la risoluzione ha esito positivoIl ruolo, l'azienda o la posizione esatta del dispositivo
Indirizzo IPL'indirizzo dell'interfaccia di rispostaOgni interfaccia sul router o sul percorso di ritorno
AsteriscoNessuna risposta è arrivata per quella sonda prima del timeoutChe il router ha interrotto il traffico inoltrato

I tre valori medi meritano un'attenzione particolare. Sono tre tentativi distinti. Microsoft li descrive come misurazioni di andata e ritorno dal tuo dispositivo a quel salto e ritorno nel suo ufficiale documentazione "tracert".. Non sono tre fasi del viaggio di un pacchetto e non sono un riepilogo minimo/medio/massimo già pronto.

Un RTT include anche il percorso di risposta e il tempo di elaborazione sul dispositivo che risponde. Il routing Internet può essere asimmetrico, quindi la risposta potrebbe arrivare attraverso un percorso diverso. RFC 9198 spiega perché questo tipo di tempistica ICMP non è una stima riproducibile del ritardo di una domanda. Tratta il numero come un campione end-to-end tra la sorgente e il risponditore, non un cronometro posizionato su un cavo tra due router.

Gli asterischi sono silenzio, non un verdetto

Un asterisco significa che la sonda non ha ricevuto una risposta prima del timeout. Questo è tutto ciò che significa da solo. Il router potrebbe filtrare quel tipo di sonda, limitare la velocità delle risposte ICMP, depriorizzare le risposte del piano di controllo o inviare una risposta che viene persa sulla via del ritorno.

Un asterisco tra due tempi misurati significa che una delle tre domande è rimasta senza risposta. Tre asterischi o "Richiesta scaduta" significano che nessuna delle indagini di quella riga ha risposto in tempo. Se gli hop successivi, inclusa la destinazione, rispondono ancora, la traccia continua oltre quel TTL, quindi la riga silenziosa non dimostra un errore di inoltro. Il routing multipercorso significa che le sonde successive potrebbero non aver seguito esattamente la stessa sequenza del risponditore. L'esempio di Microsoft mostra righe scadute seguite da una risposta di destinazione riuscita.

Questa è una cattiva diagnosi comune nella lettura del traceroute: trattare ogni salto silenzioso come perdita di pacchetti. Inoltrare il traffico e rispondere alle sonde diagnostiche sono compiti diversi. Un router può eseguire il primo rifiutando il secondo.

Per l'indagine sulle perdite effettive, utilizzare misurazioni ripetute. Su Windows, PathPing combina la scoperta del percorso con una serie più lunga di sonde e calcola le statistiche. Anche in questo caso, la perdita segnalata *a* un router intermedio dovrebbe essere confrontata con gli hop successivi prima di concludere che il traffico inoltrato sia interessato.

Come non dare la colpa al router sbagliato

La domanda utile non è “Quale riga ha il numero più grande?” È "Dove inizia un cambiamento e persiste verso la destinazione?"

Modello in test ripetutiInterpretazione prudenteUtile il prossimo controllo
L'RTT aumenta con un salto e rimane alto attraverso la destinazioneUn cambiamento potrebbe iniziare in prossimità di quel punto, ma il percorso di ritorno conta ancoraRipeti in un altro momento e confronta da un'altra rete
Un salto è lento, i salti successivi sono normaliQuel risponditore potrebbe essere lento a rispondere alle sonde piuttosto che lento a inoltrare il trafficoNon etichettatelo come un collo di bottiglia solo per questa traccia
Vengono visualizzati gli asterischi, quindi in seguito il luppolo rispondeIl dispositivo silenzioso può filtrare o limitare le risposteControllare il risultato di destinazione ed eseguire nuovamente
Indirizzi diversi appaiono nello stesso numero di hopPotrebbero essere coinvolti il bilanciamento del carico o la variazione del percorsoConfronta diverse tracce invece di unire gli indirizzi in un unico percorso
Solo la destinazione rimane costantemente lentaLa destinazione, la sua rete o il percorso di ritorno meritano maggiore attenzioneConfronta i tempi delle applicazioni e la raggiungibilità del servizio

La distanza, la congestione, il Wi-Fi, il routing VPN, le code e il comportamento dei risponditori possono modificare l'RTT. Un singolo campione elevato è un indizio, non una convinzione. Cerca uno schema ripetuto che continui negli hop successivi e corrisponda al sintomo effettivo dell'utente.

Traceroute inoltre non misura la capacità di download o upload. Se il reclamo è "la connessione sembra lenta ovunque", an test di velocità di internet controlla il throughput, la latenza e il jitter in modo più diretto. I due strumenti rispondono a domande diverse.

Ciò che traceroute non può mostrare in modo affidabile

Traceroute fornisce un'istantanea rapida del percorso. Leggerlo bene significa sapere cosa lascia fuori quella istantanea.

  • Potrebbe non rivelare ogni hop 3 di Layer; alcuni dispositivi non rispondono mai alle sonde.
  • Normalmente non mostra gli interruttori trasparenti del livello 2. Questi dispositivi inoltrano i frame senza apparire come hop IP.
  • Osserva il percorso della sonda in avanti, mentre ciascuna risposta può prendere un percorso di ritorno diverso.
  • Potrebbe provare uno dei numerosi percorsi a parità di costo anziché ogni percorso possibile.
  • Non stabilisce percentuali stabili di perdita di pacchetti da una manciata di sonde.
  • Non può dimostrare il percorso che seguirà ogni flusso di applicazione, soprattutto quando i protocolli di sonda sono diversi.
  • Un indirizzo IP o un nome host non è una lettura esatta della posizione fisica.

Utilizza il test adiacente che corrisponde alla domanda irrisolta. Se un sito web risponde ma un particolare servizio no, analizzare attentamente l'ambito controllo del porto può testare le porte TCP pubbliche selezionate dal ClockTools edge. Se gli intervalli privati o i confini CIDR confondono la traccia, il Calcolatore della sottorete IP aiuta a separare le porzioni di rete e host.

Tipi di tracert, traceroute e sonda

Windows nomina il comando tracert. macOS, Linux, BSD e molti dispositivi di rete utilizzano comunemente traceroute. L'output sembra familiare su tutte le piattaforme, ma le sonde predefinite possono differire.

Finestre tracert invia richieste ICMP Echo con valori TTL crescenti. Il tradizionale traceroute simile a Unix inizia comunemente con UDP, sebbene le implementazioni e le opzioni possano anche utilizzare ICMP o TCP. Evita la regola generale secondo cui "traceroute utilizza sempre UDP" o "traceroute utilizza sempre ICMP". Decidono il programma e il metodo selezionato.

Per una rapida traccia di Windows senza ricerche del nome host, utilizzare tracert /d esempio.com. Su un tipico sistema macOS o Linux, inizia con traceroute esempio.com e leggere il manuale del sistema per le opzioni di protocollo e timeout. Il /d flag può velocizzare una traccia di Windows ignorando la risoluzione dei nomi reverse-DNS, ma non nasconde gli indirizzi IP nell'output.

Il termine tracepath di solito si riferisce a un'utilità simile a Unix correlata con un'interfaccia e un modello di privilegi diversi. MTR e WinMTR ripetono le sonde nel tempo. PathPing aggiunge statistiche ripetute dopo aver scoperto il percorso. Scegli tra questi a seconda che tu abbia bisogno di un'istantanea del percorso rapido o di una misurazione prolungata.

Dove si adatta ClockTools

Una normale pagina del browser non può aprire le stesse sonde ICMP, UDP o TCP grezze come un comando del terminale locale. I sandbox del browser e il runtime ClockTools Cloudflare Worker non espongono il controllo TTL del pacchetto richiesto, quindi ClockTools non inventa una tabella hop.

Il ClockTools Diagnostica traccia percorso funziona entro quel confine. Il protocollo HTTP e il client RTT descrivono la tratta da browser a ClockTools. Una richiesta pubblica separata HTTP o HTTPS viene eseguita dal perimetro ClockTools alla destinazione e riporta raggiungibilità, stato, tempo di risposta, tipo di contenuto e reindirizzamenti. È utile per un rapido controllo del sito Web dall'esterno, ma non è la tabella hop locale del tuo laptop.

ClockTools Diagnostica Trace Route utilizzando example.com, con la limitazione del hop e i pannelli di risposta del target evidenziati
ClockTools Diagnostica Trace Route utilizzando example.com, con la limitazione del hop e i pannelli di risposta del target evidenziati

Nello screenshot, il callout 1 contrassegna l'avviso di limitazione; callout 2 contrassegna i dati della risposta di destinazione. L'esempio utilizza esempio.com, un dominio di documentazione pubblica, non un host privato, e generalizza il codice edge specifico della richiesta.

Utilizza un URL pubblico di tua proprietà, gestisci o sei autorizzato a testarlo. Se il target risponde rapidamente dal limite ma sembra lento sul tuo dispositivo, vale la pena controllare il Wi-Fi locale, un percorso ISP, un VPN, il carico del dispositivo o il comportamento del browser, ma anche i due test provengono da punti di osservazione diversi e potrebbero utilizzare percorsi diversi. Se fallisce sia dal perimetro che localmente, DNS, la disponibilità di hosting, firewall o destinazione diventa più plausibile.

Una pratica sequenza di risoluzione dei problemi

Inizia con il sintomo, non con il cassetto degli attrezzi.

  • Il sito web è raggiungibile dall'esterno della connessione? Esegui la diagnostica del percorso ClockTools e annota lo stato, i reindirizzamenti e il tempo di risposta.
  • Tutta la tua connessione è lenta? Confronta throughput, ping e jitter con un test di velocità di Internet.
  • Hai bisogno della visualizzazione hop-by-hop locale? Esegui tracert o traceroute sul dispositivo e sulla rete interessati.
  • Un servizio non funziona mentre l'host risponde? Controlla solo la porta TCP pubblica pertinente e autorizzata dal perimetro ClockTools.
  • È apparso una volta un RTT o un timeout elevato? Ripeti la traccia. Il comportamento persistente a valle conta più di una singola riga drammatica.
  • Stai confrontando indirizzi pubblici e privati? Qual è il mio IP identifica il tuo indirizzo pubblico visibile, mentre il calcolatore della sottorete aiuta con gli intervalli di rete privata.

Questo ordine previene un errore comune: utilizzare una diagnostica per rispondere a ogni domanda sulla rete. Raggiungibilità, osservazione del percorso, perdita sostenuta, velocità effettiva e disponibilità del servizio sono correlati, ma non sono intercambiabili.

Condividi i risultati del traceroute in modo sicuro

Una traccia può esporre indirizzi IP pubblici e privati, nomi host interni, nomi di provider, modelli temporali e parti della progettazione di una rete. Prima di inserire l'output in un forum, ticket, articolo o screenshot, rimuovi i dettagli di cui il destinatario non ha bisogno.

Oscura i nomi dei dispositivi interni, i nomi utente incorporati nei nomi host, gli indirizzi privati quando la topologia è irrilevante e gli indirizzi pubblici se non vuoi che siano associati al post. Mantenere una struttura sufficiente affinché il problema rimanga comprensibile: i numeri di hop, la presenza di timeout e i tempi rappresentativi sono spesso sufficienti.

Non dare per scontato tracert /d anonimizza una traccia. Salta la risoluzione dei nomi; visualizza ancora gli indirizzi IP di risposta. Ricorda inoltre che un'ipotesi di geolocalizzazione IP non è una posizione fisica precisa, ma può rivelare un provider o un'ampia regione.

La migliore lettura del traceroute è modesta. Ti dice quali sondaggi hanno ricevuto risposte, quanto tempo hanno impiegato quei viaggi di andata e ritorno e dove può iniziare uno schema. Diventa veramente utile quando combini queste prove con la ripetizione dei test e il sintomo che stai cercando di spiegare.

Domande frequenti

Il traceroute è ICMP o UDP?

Dipende dall'implementazione e dalle opzioni. Tracert di Windows utilizza le sonde ICMP Echo. Il tradizionale traceroute simile a Unix viene comunemente impostato su UDP per impostazione predefinita, mentre esistono anche varianti ICMP e TCP.

Qual è la differenza tra tracert e traceroute?

Tracert è il nome del comando di Windows; traceroute è il nome comune su macOS, Linux, BSD e sistemi di rete. Usano la stessa idea di aumento del limite hop, ma i protocolli e le opzioni di sonda predefiniti possono differire.

Cosa significa * * * in traceroute?

Significa che nessuna delle indagini per quell'hop ha ricevuto una risposta prima del timeout. Il dispositivo potrebbe ancora inoltrare il traffico, soprattutto se gli hop successivi o la destinazione rispondono.

Perché ci sono tre valori temporali per ogni salto?

Molte implementazioni inviano tre sonde a ciascun limite di hop. I valori sono tre campioni di andata e ritorno separati dall'origine al risponditore e non i valori minimo, medio e massimo.

Traceroute mostra tutti i router?

No. Alcuni router non restituiscono la risposta diagnostica prevista e il bilanciamento del carico può esporre risponditori diversi. Trattare il risultato come un percorso osservato dalla sonda, non come un inventario fisico completo.

Traceroute mostra gli switch di rete?

Il traceroute IP ordinario normalmente non mostra gli switch Layer 2 trasparenti. Segnala le interfacce del livello 3 che rispondono rilevate tramite la scadenza TTL o Hop Limit.

Il traceroute può dimostrare la perdita di pacchetti?

Non da una breve traccia. Una risposta mancante potrebbe riflettere un filtraggio o una limitazione della velocità piuttosto che la perdita di traffico inoltrato. Utilizza misurazioni ripetute e confronta il comportamento dei luppoli successivi e della destinazione.

Traceroute rivela la mia posizione fisica?

Nessuna posizione fisica esatta è codificata in una traccia. Gli indirizzi IP e i nomi host possono comunque suggerire un provider, un'organizzazione o un'ampia regione, quindi oscura i dettagli che non desideri pubblicare.

Perché il percorso può cambiare tra due prove?

Gli aggiornamenti del routing, il bilanciamento del carico, l'utilizzo di VPN, le modifiche alla rete di origine e altre decisioni di ingegneria del traffico possono inviare sonde successive lungo un percorso diverso. Una traccia è un'osservazione limitata nel tempo.

Informazioni sull'autore

Vigneshwaran Vijayakumar

Fondatore, sviluppatore ed editore di ClockTools | Responsabile marketing digitale | India

Vigneshwaran è un ingegnere con decenni di esperienza tecnica, compreso il lavoro professionale come responsabile del marketing digitale a Dubai. Il suo lavoro collega analisi dei dati, ottimizzazione dei motori di ricerca, ottimizzazione del tasso di conversione, sistemi di contenuti, produzione visiva, intelligenza artificiale applicata e apprendimento automatico. Presso ClockTools, trasforma quell'esperienza multidisciplinare in utilità browser mirate e guide pratiche e consapevoli del codice sorgente.

Profilo LinkedIn