Traceroute

De Wiki BPF
Revisão de 17h02min de 28 de novembro de 2018 por Tiago.setti (discussão | contribs)
Ir para navegação Ir para pesquisar

O traceroute é uma das mais famosas ferramentas para pesquisa de falhas em redes IP. Praticamente todo sistema operacional já vem com ele embarcado de alguma forma e além disso existem dezenas de sites na Internet que você pode utilizar para realizar um "trace" para algum destino, inclusive de formal visual.

É uma ferramenta simples, mas, contudo, veja bem, poucas pessoas sabem realmente como usar e interpretar o resultado de um comando de traceroute. Nesse artigo tentaremos detalhar como ele funciona e esclarecer como interpretar corretamente o resultado.

  • Como funciona
  • Interpretando os nomes DNS
  • Entendendo a latência de cada nó
  • ICMP ou UDP
  • Roteamente assimétrico
  • Balanceamento de caminhos
  • Impacto do MPLS

Como funciona

Basicamente você digita um endereço IP de destino e é mostrado uma lista de nós "hops" desde o primeiro roteador até o último no destino, e de vez em quando aparecem alguns asteriscos *

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1 220.224.141.129 (220.224.141.129) 89.174 ms 89.094 ms 89.054 ms
2 115.255.239.65 (115.255.239.65) 109.037 ms 108.994 ms 108.963 ms
3 124.124.251.245 (124.124.251.245) 108.937 ms 121.322 ms 121.300 ms
4 * 115.255.239.45 (115.255.239.45) 113.754 ms 113.692 ms
5 72.14.212.118 (72.14.212.118) 123.585 ms 123.558 ms 123.527 ms
6 72.14.232.202 (72.14.232.202) 123.499 ms 123.475 ms 143.523 ms
7 216.239.48.179 (216.239.48.179) 143.503 ms 95.106 ms 95.026 ms
8 bom03s02-in-f4.1e100.net (74.125.236.132) 94.980 ms * 104.954 ms

Por trás desse resultado existe uma explicação técnica importante, de como a ferramenta traceroute utilizada de envio de dezenas de pacotes ICMP ou UDP para montar descobrir esse caminho do pacote.

Atenção: O comando de traceroute descobre o caminho unidirecional, ou seja, somente no sentido do host → para o → destino. 

TTL

Para entender o funcionamento do traceroute é importante antes entender o conceito de TTL (Time To Live).

"TTL é um acrónimo do inglês Time to Live, que significa o número de saltos entre máquinas que os pacotes podem demorar numa rede de computadores antes de serem descartados (máximo de 255).

Qualquer router está programado para descontar uma unidade do TTL aos pacotes que o atravessam. Esta é uma forma de evitar que os pacotes permaneçam na rede por tempo infinito, caso o routing não esteja a ser feito devidamente, como no caso de looping." [ref: https://pt.wikipedia.org/wiki/Time_to_Live]

Detalhamento o passo a passo

Basicamente o funcionamento do traceroute pode ser explicado assim:

  1. Um pacote ICMP ou UDP é enviado ao IP de destino com o cabeçalho contendo TTL = 1