Como o Traceroute Funciona: Um Guia Completo
Aprenda como o traceroute descobre o caminho da rede salto a salto. Entenda TTL, ICMP e como interpretar os resultados.
O que é Traceroute?
Traceroute é uma ferramenta de diagnóstico de rede que revela o caminho que os pacotes percorrem do seu dispositivo até um host de destino. Ao contrário do ping, que apenas informa se um host é acessível e quanto tempo leva a viagem de ida e volta, o traceroute mostra cada roteador intermediário (hop) ao longo do caminho — junto com a latência em cada etapa.
Administradores de sistema, engenheiros de rede e equipes de DevOps confiam no traceroute diariamente para identificar onde os pacotes estão sendo atrasados, descartados ou redirecionados. Entender como ele funciona por trás das cenas torna você muito mais eficaz no diagnóstico de problemas de conectividade.
Como o TTL (Time to Live) Faz Tudo Funcionar
Traceroute explora um mecanismo fundamental no Protocolo da Internet: o campo TTL (Time to Live) no cabeçalho IP. Cada pacote IP carrega um valor TTL — um contador que diminui em um a cada vez que o pacote passa por um roteador. Quando o TTL chega a zero, o roteador descarta o pacote e envia de volta uma mensagem ICMP Time Exceeded para o remetente original.
Aqui está o processo passo a passo:
- Envie um pacote com TTL=1. O primeiro roteador o recebe, diminui o TTL para 0, descarta o pacote e envia de volta uma mensagem ICMP Time Exceeded. Agora você sabe o endereço IP e a latência do hop 1.
- Envie um pacote com TTL=2. Ele passa pelo primeiro roteador (TTL se torna 1), chega ao segundo roteador (TTL se torna 0), que envia de volta um ICMP Time Exceeded. Agora você sabe o hop 2.
- Repita com valores de TTL crescentes até que o pacote chegue ao destino. O host de destino responde de forma diferente — com um ICMP Echo Reply (para o modo ICMP) ou um ICMP Port Unreachable (para o modo UDP) — sinalizando que o rastreamento está completo.
Normalmente, o traceroute envia três sondas por hop para medir a variabilidade da latência. É por isso que você vê três valores RTT (Round Trip Time) por linha na saída.
Lendo a Saída do Traceroute
Um resultado típico do traceroute contém várias colunas de informações:
- Número do hop — A posição no caminho (1 é seu gateway, o último é o destino).
- Endereço IP / Nome do Host — O endereço do roteador. O DNS reverso pode resolvê-lo para um nome de host como
ae-5.r24.amstnl02.nl.bb.gin.ntt.net, que frequentemente revela o ISP, a cidade e o papel do roteador. - RTT (Round Trip Time) — Geralmente três valores em milissegundos. Menor é melhor. Grandes saltos entre hops consecutivos indicam um gargalo.
- ASN (Número do Sistema Autônomo) — Identifica qual rede opera o roteador. Útil para identificar onde o tráfego cruza entre ISPs.
- Perda de pacotes — A porcentagem de sondas que não receberam resposta. Alguma perda em hops intermediários é normal (roteadores priorizam menos o ICMP), mas perda no hop final indica um problema real.
Traceroute vs MTR: Qual é a Diferença?
traceroute é executado uma vez e fornece uma instantânea. mtr (My Traceroute) combina traceroute e ping em uma única ferramenta que sonda continuamente o caminho e atualiza as estatísticas em tempo real.
Diferenças principais:
- Monitoramento contínuo: mtr continua enviando sondas, para que você possa observar problemas intermitentes que um único traceroute pode perder.
- Precisão estatística: Após centenas de sondas, mtr fornece valores confiáveis de média, melhor, pior e desvio padrão para cada hop.
- Detecção de perda de pacotes: Breves picos de perda de pacotes são visíveis no mtr, mas invisíveis em um traceroute único.
Use traceroute para verificações rápidas. Use mtr quando precisar construir um caso com dados estatisticamente significativos — por exemplo, ao registrar uma reclamação com seu ISP.
ICMP vs UDP vs TCP: Escolhendo um Protocolo
Traceroute pode usar diferentes protocolos para enviar seus pacotes de sondagem, cada um com suas compensações:
- UDP (padrão no Linux/macOS): Envia datagramas UDP para portas de número alto (33434+). Funciona bem na maioria dos ambientes, mas pode ser bloqueado por firewalls.
- ICMP (padrão no Windows): Envia pacotes ICMP Echo Request — os mesmos usados pelo
ping. Alguns roteadores limitam ou descartam ICMP, produzindo timeouts falsos. - TCP: Envia pacotes TCP SYN, geralmente para a porta 80 ou 443. Excelente para atravessar firewalls que bloqueiam UDP e ICMP, mas permitem tráfego web.
Se você ver muitas linhas * * * (timeout), tente mudar de protocolo. Para uma comparação detalhada, veja nosso guia sobre UDP vs ICMP vs TCP Traceroute.
Problemas Comuns e Como Interpretá-los
Timeouts (* * *)
Uma linha de asteriscos significa que o roteador não enviou de volta uma mensagem ICMP Time Exceeded dentro da janela de timeout. Isso não significa necessariamente que o roteador está fora do ar — muitos roteadores são configurados para descartar silenciosamente pacotes expirados. Se os hops subsequentes responderem normalmente, o timeout é inofensivo.
Picos de Latência em um Único Hop
Um salto repentino no RTT em um hop — digamos de 15 ms para 120 ms — sugere congestionamento ou um link físico longo (por exemplo, um cabo transatlântico). Verifique se a latência permanece alta para todos os hops subsequentes. Se sim, o gargalo é real. Se os hops posteriores voltarem ao normal, o roteador estava simplesmente lento em gerar respostas ICMP (despriorização do plano de controle).
Roteamento Assimétrico
Traceroute mostra apenas o caminho para frente. O caminho de retorno pode ser diferente. Isso pode causar resultados confusos onde a latência parece diminuir entre os hops — a resposta ICMP está simplesmente tomando um caminho mais curto de volta.
Loops
Se você ver o mesmo endereço IP aparecendo em múltiplos hops consecutivos, há um loop de roteamento. Isso geralmente se resolve dentro de minutos à medida que os roteadores convergem, mas loops persistentes indicam uma má configuração.
Exemplos Práticos
Aqui estão cenários comuns do mundo real onde o traceroute se mostra inestimável:
- Diagnóstico de carregamento lento de sites: Execute um traceroute para o servidor e procure hops de alta latência. Se o pico de latência ocorrer na borda do seu ISP, entre em contato com eles. Se ocorrer na rede de destino, o problema está do lado deles.
- Verificando o roteamento de CDN: Traceroute para um domínio com CDN para confirmar que o tráfego está indo para o nó de borda mais próximo, em vez de cruzar continentes.
- Depuração de conectividade VPN: Compare traceroutes com e sem VPN para ver se o túnel está adicionando latência excessiva ou roteando por locais inesperados.
- Investigação de lag em jogos: Identifique o hop exato que está causando jitter para que você possa relatá-lo ao seu ISP com evidências.
Visualize Seus Traceroutes com o TraceMapper
O traceroute da linha de comando é poderoso, mas interpretar a saída de texto bruto pode ser tedioso. TraceMapper executa traceroutes de múltiplas localizações globais e plota cada hop em um mapa interativo — completo com codificação de cores de latência, informações de ASN e dados de geolocalização. Você pode alternar entre os protocolos ICMP, UDP e TCP com um único clique.
Tente um traceroute gratuito agora, ou explore nossas outras ferramentas de diagnóstico de rede: Ping, DNS Lookup, e HTTP Check.