Como interpretar corretamente os resultados do tracert, em particular o segundo ao último salto antes de um tempo limite

3

Estou solucionando problemas em uma conexão de internet sem fio que está caindo continuamente. O isp diz que o sinal de rádio é bom por isso deve pelo meu cisco asa 5505. Eu não acredito neles ...

Para discussão, assuma o seguinte:

O ip público do site remoto é 10.1.1.50 e seu gateway padrão é 10.1.1.1

Quando estou fazendo um tracert de um local remoto para 10.1.1.50, o segundo ao último hop do tracert deve ser sempre 10.1.1.1?

Quando a conexão está inativa, o segundo ao último salto não é 10.1.1.1, no entanto 10.1.1.1 é pingável e eu posso fazer um rastreio para ele.

Estou a pensar que esta é uma questão de encaminhamento pelo isp.
Minha lógica é válida? Se 10.1.1.1 é alcançável, não deveria ser o segundo até o último salto em um tracert antes de eu ter timeouts?

    
por James Moore 31.07.2009 / 05:54

1 resposta

5

Em 99% dos casos, o penúltimo salto de um traceroute não será o gateway padrão do host de destino. Isso é por causa da maneira como o traceroute funciona.

Todos os pacotes IP possuem um nome incorreto - tempo de vida ( TTL ) campo. Este campo é decrementado por um por cada roteador que encaminha um pacote. Se um roteador decrementa o TTL para 0, ele descarta o pacote e gera um pacote de erro ICMP TTL excedido e o envia de volta para a pessoa que enviou o pacote original. O pacote de erro terá um IP de destino da origem do pacote original (neste caso, o host que iniciou o traceroute). O IP de origem do pacote de erro geralmente será o endereço IP da interface de saída , isto é, o endereço voltado para o restante da rede.

O traceroute aproveita esse fato; envia pacotes com TTLs sequencialmente crescentes; isso faz com que cada roteador no caminho entre a origem e o destino envie de volta mensagens inacessíveis do ICMP ao host que executa o traceroute. Cada erro terá um IP de origem do roteador final que o pacote de sondagem alcançou antes de ser descartado. Isso permite que o traceroute crie uma imagem do caminho entre a origem e o destino.

Considere o diagrama abaixo (ignorando a possibilidade de vários caminhos):

________     1.1____1.2                2.1____2.2     ________
|Host A|-----|Router 1|--- Internet ---|Router 2|-----|Host B|
--------     ----------                ----------     --------

Se o host A estiver realizando um traceroute no host B, o penultimate hop será o roteador 2, que receberá um pacote de sondagem da seguinte forma:

SrcIP: A | DstIP: B | TTL: 1

O roteador 2 irá diminuir o TTL para 0; que fará com que ele gere um TTL ICMP expirado:

SrcIP: 2.1 | DstIP: A | TTL <default>

Por isso, quando o traceroute recebe essa mensagem de erro, o endereço IP que verá para o penúltimo salto será a interface voltada para a Internet do roteador 2, em vez da interface voltada para o host B.

    
por 31.07.2009 / 14:07