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].
Referências
- ↑ Stevens, William Richard. Unix Network Programming (em inglês). 1. [S.l.]: Addison Wesley. p. 62. ISBN 0131411551
- ↑ 2,0 2,1 2,2 Sloan, Joseph D. Network Troubleshooting Tools (em inglês). [S.l.]: O'Reilly. ISBN 059600186X
- ↑ 3,0 3,1 «traceroute(8) - Linux man page». die.net. Consultado em 17 de abril de 2012
- ↑ 4,0 4,1 «TRACEOURTE(8)». FreeBSD. Consultado em 17 de abril de 2012
- ↑ 5,0 5,1 «TRACEROUTE(8)». NetBSD. Consultado em 17 de abril de 2012
- ↑ «traceroute(8) Mac OS X Manual Page|publicadoMAC OS X Developer Library». Consultado em 17 de abril de 2012
- ↑ «Tracert». Microsoft. Consultado em 17 de abril de 2012
- ↑ Stevens, William Richard. Unix Network Programming (em inglês). 1. [S.l.]: Addison Wesley. p. 215. ISBN 0131411551
- ↑ Stevens, William Richard. Unix Network Programming (em inglês). 1. [S.l.]: Addison Wesley. p. 755. ISBN 0131411551
- ↑ «The Story of the PING Program». Página de Mike Muuss. Consultado em 17 de abril de 2012
Ligações externas
- «Implementação do traceroute de Van Jacobson» (em English)
- «Traceroute no Registro.br» (em português)
- (em inglês) Traceroute test