Saltar para o conteúdo

traceroute

Origem: Wikipédia, a enciclopédia livre.
Resultado da execução da ferramenta traceroute no FreeBSD

traceroute é uma ferramenta de diagnóstico[1] que rastreia a rota de um pacote através de uma rede de computadores que utiliza os protocolos IP e o ICMP, implementada pela primeira vez por Van Jacobson[2] em 1988. Atualmente está disponível em diversos sistemas operacionais como Linux[3], FreeBSD[4], NetBSD[5], MacOS X[6] e Windows[7].

Seu funcionamento está baseado no uso do campo Time to Live (TTL) do pacote IPv4[8] destinado a limitar o tempo de vida dele. Este valor é decrementado a cada vez que o pacote é encaminhado por um roteador. Ao atingir o valor zero o pacote é descartado e o originador é alertado por uma mensagem ICMP TIME_EXCEEDED. Através da manipulação do campo TTL de uma série de datagramas UDP é possível receber esta mensagem de cada um dos roteadores no caminho do pacote[2][3]. Para o caso do IPv6 é utilizado o campo hop limit, o limite de saltos dos datagramas desta versão do protocolo[9]. A implementação disponível no Microsoft Windows utiliza apenas pacotes ICMP[2].

As páginas de manual atribuem a autoria da ferramenta a Van Jacobson que fez a implementação segundo a sugestão de Steve Deering. Também destacam as colaborações de C. Philip Wood, Tim Seaver e Ken Adelman[4][5]. Segundo Mike Muuss, autor da ferramenta ping, o traceroute foi implementado utilizando o suporte que ele mesmo codificou no kernel ao escrever o ping[10].

Como o traceroute funciona

[editar | editar código-fonte]

Cada salto em uma rota de rede pode envolver diferentes dispositivos. Os mais comuns são Roteador, mas também podem incluir Switch (redes), Firewall e Proxy.

Por exemplo, se você está usando seu computador no Brasil para se conectar a um servidor em Nova York, ao executar o Traceroute, ele mostrará todo o caminho percorrido. Cada salto será contabilizado, junto com o tempo gasto em cada um, até chegar ao destino internacional.

Etapa 1 - Envio de Pacotes: O Traceroute envia pacotes ICMP Echo Request (ou UDP, em algumas versões) para o endereço IP de destino.[11]

Etapa 2 - TTL (Time to Live): O primeiro pacote tem o valor TTL ajustado para 1. O TTL é um campo que indica o número máximo de saltos que o pacote pode realizar.

Etapa 3 - Primeiro Roteador: Quando o pacote atinge o primeiro roteador, ele diminui o valor do TTL em 1. Quando o TTL chega a 0, o roteador descarta o pacote e envia uma mensagem ICMP Time Exceeded de volta ao remetente.

Etapa 4 - Registro de Informações: O Traceroute registra o endereço IP do roteador que respondeu e o tempo que levou para receber essa resposta.

Etapa 5 - Incremento do TTL: O processo se repete, com o Traceroute enviando um novo pacote, mas agora com o TTL aumentado em 1. Isso continua até o pacote alcançar o destino final ou um limite máximo de saltos.

Etapa 6 - Destino Alcançado: Quando o pacote finalmente chega ao destino, o servidor responde com uma mensagem ICMP Echo Reply. O Traceroute registra essa resposta e exibe o caminho completo percorrido pelo pacote.

Etapa 7 - Exibição dos Resultados: Ao final do processo, o Traceroute apresenta uma lista de todos os roteadores intermediários e os tempos de resposta, permitindo que o usuário veja o trajeto e identifique possíveis pontos de latência ou problemas na conexão.

Sintaxe do comando

[editar | editar código-fonte]

No Windows:

tracert wikipedia.com

No Linux ou FreeBSD:

traceroute wikipedia.com

Alternativas ao traceroute

[editar | editar código-fonte]

O Traceroute é uma ferramenta que, embora ainda útil, é considerada relativamente antiga em comparação com soluções mais modernas de diagnóstico de rede.

O PingPlotter é uma ferramenta que combina a funcionalidade de ping e traceroute, permitindo visualizar o desempenho da rede em tempo real. Ele apresenta os resultados em gráficos, o que facilita a identificação de problemas de latência e perda de pacotes ao longo do tempo, proporcionando uma visão mais clara e intuitiva do comportamento da rede em comparação com o formato de lista do traceroute.

O My Traceroute é uma ferramenta que combina as funções do traceroute e do ping, fornecendo informações detalhadas sobre cada salto em tempo real. Ele exibe não apenas o caminho dos pacotes, mas também estatísticas contínuas de perda de pacotes e tempos de resposta, permitindo monitorar a qualidade da conexão de forma mais dinâmica. Essa abordagem proporciona uma análise mais aprofundada e atualizada, tornando o WinMTR mais eficiente na identificação de problemas em comparação ao traceroute, que fornece dados estáticos em uma única execução.

Referências

  1. Stevens, William Richard. Unix Network Programming (em inglês). 1. [S.l.]: Addison Wesley. p. 62. ISBN 0131411551 
  2. a b c Sloan, Joseph D. Network Troubleshooting Tools (em inglês). [S.l.]: O'Reilly. ISBN 059600186X 
  3. a b «traceroute(8) - Linux man page». die.net. Consultado em 17 de abril de 2012 
  4. a b «TRACEOURTE(8)». FreeBSD. Consultado em 17 de abril de 2012 
  5. a b «TRACEROUTE(8)». NetBSD. Consultado em 17 de abril de 2012. Cópia arquivada em 28 de julho de 2014 
  6. «traceroute(8) Mac OS X Manual Page|publicadoMAC OS X Developer Library». Consultado em 17 de abril de 2012 
  7. «Tracert». Microsoft. Consultado em 17 de abril de 2012 
  8. Stevens, William Richard. Unix Network Programming (em inglês). 1. [S.l.]: Addison Wesley. p. 215. ISBN 0131411551 
  9. Stevens, William Richard. Unix Network Programming (em inglês). 1. [S.l.]: Addison Wesley. p. 755. ISBN 0131411551 
  10. «The Story of the PING Program». Página de Mike Muuss. Consultado em 17 de abril de 2012 
  11. Gustavo Gallas. «Como o tracert funciona». Consultado em 1 de novembro de 2024 

Ligações externas

[editar | editar código-fonte]


Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.