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 Vigneshwaran Vijayakumar, sviluppatore ed editore | | Recensito sotto il ClockTools politica editoriale
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.
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.
| Campo | Cosa significa | Ciò che non dimostra |
|---|---|---|
| Numero del salto | Il passo TTL o Hop Limit utilizzato per quella riga | La distanza fisica o la proprietà del router |
| Tre valori RTT | Tre campioni separati da sorgente a risponditore e ritorno | Minimo, medio e massimo; o ritardo tra hop adiacenti |
| Nome host | Un nome inverso-DNS quando la risoluzione ha esito positivo | Il ruolo, l'azienda o la posizione esatta del dispositivo |
| Indirizzo IP | L'indirizzo dell'interfaccia di risposta | Ogni interfaccia sul router o sul percorso di ritorno |
| Asterisco | Nessuna risposta è arrivata per quella sonda prima del timeout | Che 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 ripetuti | Interpretazione prudente | Utile il prossimo controllo |
|---|---|---|
| L'RTT aumenta con un salto e rimane alto attraverso la destinazione | Un cambiamento potrebbe iniziare in prossimità di quel punto, ma il percorso di ritorno conta ancora | Ripeti in un altro momento e confronta da un'altra rete |
| Un salto è lento, i salti successivi sono normali | Quel risponditore potrebbe essere lento a rispondere alle sonde piuttosto che lento a inoltrare il traffico | Non etichettatelo come un collo di bottiglia solo per questa traccia |
| Vengono visualizzati gli asterischi, quindi in seguito il luppolo risponde | Il dispositivo silenzioso può filtrare o limitare le risposte | Controllare il risultato di destinazione ed eseguire nuovamente |
| Indirizzi diversi appaiono nello stesso numero di hop | Potrebbero essere coinvolti il bilanciamento del carico o la variazione del percorso | Confronta diverse tracce invece di unire gli indirizzi in un unico percorso |
| Solo la destinazione rimane costantemente lenta | La destinazione, la sua rete o il percorso di ritorno meritano maggiore attenzione | Confronta 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.
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
tracertotraceroutesul 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.

