IP : Protocolos de roteamento IP

Usando o comando traceroute nos sistemas operacionais

19 Setembro 2015 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback


Índice


Introdução

O comando traceroute permite que você determine o caminho que um pacote toma apara chegar a um destino de uma determinada origem, retornando a sequência de saltos que o pacote atravessou. Esta utilidade vem com seu sistema operacional do host (por exemplo, Linux ou Microsoft (MS) Windows), assim como com software de Cisco IOS�.

Pré-requisitos

Requisitos

Os leitores deste documento devem ter um conhecimento básico de um destes sistemas operacionais:

  • Cisco IOS Software

  • Linux

  • Microsoft Windows

Componentes Utilizados

A informação neste documento aplica aos estes a versão de software e hardware:

  • Roteador Cisco que executa o Cisco IOS Software Release 12.2(27)

  • PC que executa a versão do Red Hat Linux 9

  • PC que dirige MS Windows 2000

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Operação geral

Se você executa o comando traceroute ip-address em um dispositivo de origem (tal como um host, ou um roteador que atua como um host), envia pacotes IP para o destino com valores do Time to Live (TTL) que incrementam até o contagem de saltos especificado máximo. Este é 30 à revelia. Tipicamente, cada roteador no trajeto para o destino decrescer o campo TTL por uma unidade quando ele para a frente estes pacotes. Quando um roteador no meio do trajeto encontra um pacote com TTL=1, responde com uma mensagem " tempo excedido " do Internet Control Message Protocol (ICMP) à fonte. Esta mensagem deixa a fonte saber que o pacote atravessa esse roteador particular como um salto

Há algumas diferenças com a maneira que o comando traceroute é executado nos vários sistemas operacionais este documento discute.

Cisco IOS e Linux

O TTL para a prova de datagram inicial do User Datagram Protocol (UDP) é ajustado a 1 (ou ao mínimo TTL, como especificado pelo usuário no comando traceroute extendido. A porta do destino UDP da prova de datagram inicial é ajustada a 33434 (ou como especificado no comando traceroute extendido output). O comando traceroute extendido é uma variação do comando traceroute ordinário que permite os valores padrão dos parâmetros usados pela operação do traceroute tal como o TTL e o número de porta de destino a ser alterados. Para obter mais informações sobre de como usar o comando traceroute extendido, refira a utilização do ping estendido e dos comandos traceroute extendido. A porta da fonte UDP da prova de datagram inicial randomized e tem o operador lógico OU com 0x8000 (assegura uma porta de origem mínima de 0x8000). Estas etapas ilustram o que acontece quando a datagrama de UDP é lançada:

Nota: Os parâmetros são configuráveis. Este exemplo começa com n = 1 e termina com n = 3.

  1. A datagrama de UDP é despachada com TTL=1, port= 33434 do destino UDP, e a porta de origem randomized.

  2. A porta de destino de UDP é incrementada, a porta da fonte UDP randomized, e a segunda datagrama é despachada.

  3. Etapa 2 é repetida por até três pontas de prova (ou tantas como vezes como pedido em um comando traceroute extendido output). Para cada um das pontas de prova enviadas, você recebe uma mensagem excedida “TTL”, que seja usada para construir um trajeto passo a passo ao host de destino.

  4. O TTL está incrementado, e repetições deste ciclo com números de porta de destino incrementais, se a mensagem " tempo excedido " ICMP é recebida. Você pode igualmente receber uma destas mensagens:

    • Um tipo 3 ICMP, mensagem do código 3 (“destino inacessível,” “porta inacessível”), que indica que um host esteve alcançado.

    • O “host inalcançável,” “rede inacessível,” o “máximo TTL excedido,” ou um tipo de mensagem do “intervalo”, assim que ele significa que a ponta de prova está enviada novamente.

Os roteadores Cisco enviam pacotes de ponta de prova UDP com uma porta da fonte aleatória e uma porta do destino incremental (para distinguir as pontas de prova diferentes). Os roteadores Cisco enviam o mensagem ICMP “tempo excedido” de volta à fonte de onde o pacote UDP/ICMP foi recebido.

O comando linux traceroute é similar à implementação de Cisco Router. Contudo, usa uma porta de origem fixa. - A opção n no comando traceroute é usada para evitar um pedido a um Nome do servidor.

Microsoft Windows

O comando tracert de MS Windows usa datagramas de solicitação de eco ICMP em vez das datagramas de UDP como pontas de prova. As requisições de eco ICMP são lançadas com incremento do TTL, e a mesma operação como descrito no Cisco IOS e no Linux ocorre. O significado de usar datagramas de solicitação de eco ICMP é que o salto final não confia na resposta de um mensagem " inalcansável " ICMP do host de destino. Confia pelo contrário em um mensagem de resposta de eco ICMP.

A sintaxe do comando é:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

Esta tabela explica os parâmetros de comando:

Parâmetro Descrição
- d Especifica para não resolver endereços aos nomes de computador.
- maximum_hops h Especifica o número máximo de salto para procurar por um alvo.
- computador-lista j Especifica uma rota de origem fraca ao longo da computador-lista.
- intervalo w Espera o número de milissegundos especificados pelo intervalo por cada resposta.
target_name Nome do computador de destino.

Limitação da taxa de mensagens que não chegam ao seu destino do ICMP

Os ICMP não alcançável são limitados a um pacote pela Senhora 500 (como uma proteção para o ataque de recusa de serviço (DOS)) em um roteador Cisco. Do Cisco IOS Software Release 12.1 e Mais Recente, este valor de taxa é configurável. O comando introduzido é:


ip icmp rate-limit unreachable
 [DF] <1-4294967295 millisecond>
 
no ip icmp rate-limit unreachable [DF] (DF limits rate for code=4) 

Refira a identificação de bug Cisco CSCdp28161 (clientes registrados somente) para uns detalhes mais adicionais.

Esta limitação é para a taxa agregada de todos os ICMP não alcançável, porque esta saída mostra. Refira o RFC 792leavingcisco.com para mais informação.

type = 3, code 
0 = net unreachable; 
1 = host unreachable; 
2 = protocol unreachable; 
3 = port unreachable; 
4 = fragmentation needed and DF set; 
5 = source route failed.

Esta limitação não afeta outros pacotes como requisições de eco ICMP ou mensagens " tempo excedido " ICMP.

Exemplos

Esta topologia de rede é usada para os exemplos:

/image/gif/paws/22826/traceroute-01.gif

Em cada um dos três exemplos, um dispositivo diferente A é usado. Do dispositivo A, o comando de 150.1.4.2 do traceroute é executado ao dispositivo 7C.

Em cada um dos exemplos, o comando debug ip packet detail é executado no dispositivo 11A.

Roteador Cisco com Cisco IOS Software

Este exemplo do comando traceroute extendido mostra as opções que você pode mudar quando você executa um comando traceroute de um roteador Cisco. Neste exemplo, tudo é deixado o padrão:

rp-10c-2611#traceroute
Protocol [ip]: 
Target IP address: 150.1.4.2 
Source address: 150.1.1.1 
Numeric display [n]: 
Timeout in seconds [3]: 
Probe count [3]: 
Minimum Time to Live [1]: 
Maximum Time to Live [30]: 
Port Number [33434]: 
Loose, Strict, Record, Timestamp, Verbose[none]: 
Type escape sequence to abort.
Tracing the route to 150.1.4.2

1 150.1.1.2 4 msec 0 msec 4 msec
2 150.1.2.2 4 msec 4 msec 0 msec
3 150.1.3.2 0 msec 0 msec 4 msec
4 150.1.4.2 4 msec * 0 msec 


rp-11a-7204#
*Dec 29 13:13:57.060: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
 len 56, sending
*Dec 29 13:13:57.060: ICMP type=11, code=0
*Dec 29 13:13:57.064: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
 len 56, sending
*Dec 29 13:13:57.064: ICMP type=11, code=0
*Dec 29 13:13:57.064: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
 len 56, sending
*Dec 29 13:13:57.068: ICMP type=11, code=0

Neste resultado do debug, o dispositivo 11A envia mensagens " tempo excedido " ICMP à fonte das pontas de prova (150.1.1.1). Estes mensagens ICMP são em resposta às pontas de prova iniciais que tiveram um TTL=1. O dispositivo 11A decresce o TTL a zero, e responde com as mensagens " tempo excedido ".

Nota:  Você não vê as pontas de prova UDP neste resultado do debug por duas razões:

  • O dispositivo 11A não é o destino das pontas de prova UDP.

  • O TTL é decrescido a zero, e o pacote é distribuído nunca. Consequentemente, debugar nunca reconhece o pacote.

    *Dec 29 13:13:57.068: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
     g=150.1.2.2, len 28, forward
    *Dec 29 13:13:57.068: UDP src=40309, dst=33437
    *Dec 29 13:13:57.068: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Dec 29 13:13:57.068: ICMP type=11, code=0
    *Dec 29 13:13:57.072: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
     g=150.1.2.2, len 28, forward
    *Dec 29 13:13:57.072: UDP src=37277, dst=33438
    *Dec 29 13:13:57.072: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Dec 29 13:13:57.072: ICMP type=11, code=0
    *Dec 29 13:13:57.076: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
     g=150.1.2.2, len 28, forward
    *Dec 29 13:13:57.076: UDP src=36884, dst=33439
    *Dec 29 13:13:57.076: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Dec 29 13:13:57.076: ICMP type=11, code=0

Este resultado do debug mostra a ponta de prova UDP da fonte 150.1.1.1 destinada a 150.1.4.2.

Nota:  Nestas pontas de prova o TTL=2 (isto não pode ser visto com debuga). O dispositivo 11A decresce o TTL a 1 e para a frente os pacotes de UDP no dispositivo 7A. O dispositivo 7A decresce o TTL a zero, e responde com mensagens " tempo excedido " ICMP.

*Dec 29 13:13:57.080: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 28, forward
*Dec 29 13:13:57.080: UDP src=37479, dst=33440
*Dec 29 13:13:57.080: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 13:13:57.080: ICMP type=11, code=0
*Dec 29 13:13:57.084: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 28, forward
*Dec 29 13:13:57.084: UDP src=40631, dst=33441
*Dec 29 13:13:57.084: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 13:13:57.084: ICMP type=11, code=0
*Dec 29 13:13:57.084: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 28, forward
*Dec 29 13:13:57.088: UDP src=39881, dst=33442
*Dec 29 13:13:57.088: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 13:13:57.088: ICMP type=11, code=0

Você vê as três pontas de prova seguintes UDP neste resultado do debug. O TTL para estes sonda é 3. que o dispositivo 11A os decresce o TTL a 2 e para a frente sobre ao dispositivo 7A. O dispositivo 7A decresce o TTL a 1 e encaminha os pacotes sobre ao dispositivo 7B, que decresce o TTL a zero e responde com mensagens " tempo excedido " ICMP.

*Dec 29 13:13:57.088: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 28, forward
*Dec 29 13:13:57.088: UDP src=39217, dst=33443
*Dec 29 13:13:57.092: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 13:13:57.092: ICMP type=3, code=3
*Dec 29 13:13:57.092: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 28, forward
*Dec 29 13:13:57.096: UDP src=34357, dst=33444
*Dec 29 13:14:00.092: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 28, forward
*Dec 29 13:14:00.092: UDP src=39587, dst=33445
*Dec 29 13:14:00.092: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 13:14:00.092: ICMP type=3, code=3

Você pode ver as últimas três pontas de prova UDP neste resultado do debug. O TTL original destes sonda era 4. O TTL foi decrescido a 3 pelo dispositivo 11A, a seguir decrescido a 2 pelo dispositivo 7A, a seguir decrescido a 1 pelo dispositivo 7B. O dispositivo 7C responde com mensagens " porta inalcançável " ICMP, desde que era o destino das pontas de prova.

Nota: O dispositivo 7C envia somente dois mensagens " porta inalcançável " ICMP devido à limitação de taxa.

PC com Linux

[root#linux-pc]#traceroute -n 150.1.4.2
traceroute to 150.1.4.2 (150.1.4.2), 30 hops max, 40 byte packets
1. 150.1.1.2 1.140 ms 0.793 ms 0.778 ms
2. 150.1.2.2 2.213 ms 2.105 ms 3.491 ms
1. 150.1.3.2 3.146 ms 2.314 ms 2.347 ms
1. 150.1.4.2 3.579 ms * 2.954 ms 


rp-11a-7204#
*Jan 2 07:17:27.894: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
len 56, sending
*Jan 2 07:17:27.894: ICMP type=11, code=0
*Jan 2 07:17:27.894: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
len 56, sending
*Jan 2 07:17:27.894: ICMP type=11, code=0
*Jan 2 07:17:27.894: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
len 56, sending
*Jan 2 07:17:27.894: ICMP type=11, code=0

Neste resultado do debug, o dispositivo 11A envia mensagens " tempo excedido " ICMP à fonte das pontas de prova (150.1.1.1). Estes mensagens ICMP são em resposta às pontas de prova iniciais que tiveram um TTL=1. O dispositivo 11A decresce o TTL a zero, e responde com as mensagens " tempo excedido ".

Nota: Você não vê as pontas de prova UDP neste resultado do debug por duas razões:

  • O dispositivo 11A não é o destino das pontas de prova UDP.

  • O TTL é decrescido a zero, e o pacote é distribuído nunca. Consequentemente, debugar nunca reconhece o pacote.

    *Jan 2 07:17:27.894: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
     g=150.1.2.2, len 40, forward
    *Jan 2 07:17:27.894: UDP src=33302, dst=33438
    *Jan 2 07:17:27.898: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Jan 2 07:17:27.898: ICMP type=11, code=0
    *Jan 2 07:17:27.898: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
     g=150.1.2.2, len 40, forward
    *Jan 2 07:17:27.898: UDP src=33302, dst=33439
    *Jan 2 07:17:27.898: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Jan 2 07:17:27.898: ICMP type=11, code=0
    *Jan 2 07:17:27.898: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
     g=150.1.2.2, len 40, forward
    *Jan 2 07:17:27.898: UDP src=33302, dst=33440
    *Jan 2 07:17:27.902: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Jan 2 07:17:27.902: ICMP type=11, code=0

Nota: Neste resultado do debug, você vê agora a ponta de prova UDP da fonte 150.1.1.1 destinada a 150.1.4.2.

Nota: Nestas pontas de prova o TTL=2 (isto não pode ser visto com debuga). O dispositivo 11A decresce o TTL a 1 e para a frente os pacotes de UDP no dispositivo 7A. O dispositivo 7A decresce o TTL a zero, e responde com mensagens " tempo excedido " ICMP.

*Jan 2 07:17:27.902: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
 g=150.1.2.2, len 40, forward
*Jan 2 07:17:27.902: UDP src=33302, dst=33441
*Jan 2 07:17:27.906: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Jan 2 07:17:27.906: ICMP type=11, code=0
*Jan 2 07:17:27.906: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
 g=150.1.2.2, len 40, forward
*Jan 2 07:17:27.906: UDP src=33302, dst=33442
*Jan 2 07:17:27.910: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Jan 2 07:17:27.910: ICMP type=11, code=0
*Jan 2 07:17:27.910: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
 g=150.1.2.2, len 40, forward
*Jan 2 07:17:27.910: UDP src=33302, dst=33443
*Jan 2 07:17:27.910: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Jan 2 07:17:27.910: ICMP type=11, code=0

As três pontas de prova seguintes UDP são consideradas agora neste resultado do debug. O TTL para estes sonda é 3. que o dispositivo 11A os decresce o TTL a 2 e para a frente sobre ao dispositivo 7A. O dispositivo 7A decresce o TTL a 1 e encaminha os pacotes sobre ao dispositivo 7B, que decresce o TTL a zero e responde com mensagens " tempo excedido " ICMP.

*Jan 2 07:17:27.910: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
 g=150.1.2.2, len 40, forward
*Jan 2 07:17:27.910: UDP src=33302, dst=33444
*Jan 2 07:17:27.914: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Jan 2 07:17:27.914: ICMP type=3, code=3
*Jan 2 07:17:27.914: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
 g=150.1.2.2, len 40, forward
*Jan 2 07:17:27.914: UDP src=33302, dst=33445
*Jan 2 07:17:32.910: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2(FastEthernet0/0),
 g=150.1.2.2, len 40, forward
*Jan 2 07:17:32.910: UDP src=33302, dst=33446
*Jan 2 07:17:32.914: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1(Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Jan 2 07:17:32.914: ICMP type=3, code=3

Este resultado do debug mostra as últimas três pontas de prova UDP. O TTL original destes sonda era 4. O TTL foi decrescido a 3 pelo dispositivo 11A, a seguir decrescido a 2 pelo dispositivo 7A, a seguir decrescido a 1 pelo dispositivo 7B. O dispositivo 7C responde então com mensagens " porta inalcançável " ICMP, desde que era o destino das pontas de prova.

Nota: O dispositivo 7C envia somente dois mensagens " porta inalcançável " ICMP devido à limitação da taxa.

PC com MS Windows

C:\>tracert 150.1.4.2 

1 <10 ms <10 ms <10 ms 10.1.1.2
1 <10 ms <10 ms <10 ms 10.1.2.2
1 <10 ms <10 ms <10 ms 10.1.3.2
1 <10 ms 10 ms 10 ms 10.1.4.2

Trace complete

rp-11a-7204#
*Dec 29 14:02:22.236: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 78, forward
*Dec 29 14:02:22.236: UDP src=137, dst=137
*Dec 29 14:02:22.240: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 14:02:22.240: ICMP type=3, code=3
*Dec 29 14:02:23.732: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 78, forward
*Dec 29 14:02:23.732: UDP src=137, dst=137
*Dec 29 14:02:23.736: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 14:02:23.736: ICMP type=3, code=3
*Dec 29 14:02:25.236: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 78, forward
*Dec 29 14:02:25.236: UDP src=137, dst=137
*Dec 29 14:02:25.236: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 14:02:25.240: ICMP type=3, code=3
*Dec 29 14:02:26.748: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
 len 56, sending
*Dec 29 14:02:26.748: ICMP type=11, code=0
*Dec 29 14:02:26.752: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
 len 56, sending
*Dec 29 14:02:26.752: ICMP type=11, code=0
*Dec 29 14:02:26.752: IP: s=150.1.1.2 (local), d=150.1.1.1 (Ethernet4/0),
 len 56, sending
*Dec 29 14:02:26.752: ICMP type=11, code=0

Neste resultado do debug, o dispositivo 11A envia mensagens " tempo excedido " ICMP à fonte das pontas de prova (150.1.1.1). Estes mensagens ICMP são em resposta às pontas de prova iniciais, que são pacotes de requisição de eco ICMP com um TTL=1. O dispositivo 11A decresce o TTL a zero e responde com os mensagens ICMP.

Nota: Na parte superior você vê os pedidos do nome de netbios. Estes pedidos são considerados como pacotes de UDP com portas de origem e de destino de 137. Para maior clareza as razões, os pacotes de NETBIOS são removidas do resto do resultado do debug. Você pode usar - a opção d no comando tracert desabilitar o comportamento de NETBIOS.

Nota: Você não vê as sondas ICMP neste resultado do debug por duas razões:

  • O dispositivo 11A não é o destino das sondas ICMP.

  • O TTL é decrescido a zero, e o pacote é distribuído nunca. Consequentemente, debugar nunca reconhece o pacote.

    *Dec 29 14:02:32.256: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
     g=150.1.2.2, len 92, forward
    *Dec 29 14:02:32.256: ICMP type=8, code=0
    *Dec 29 14:02:32.260: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Dec 29 14:02:32.260: ICMP type=11, code=0
    *Dec 29 14:02:32.260: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
     g=150.1.2.2, len 92, forward
    *Dec 29 14:02:32.260: ICMP type=8, code=0
    *Dec 29 14:02:32.260: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Dec 29 14:02:32.260: ICMP type=11, code=0
    *Dec 29 14:02:32.264: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
     g=150.1.2.2, len 92, forward
    *Dec 29 14:02:32.264: ICMP type=8, code=0
    *Dec 29 14:02:32.264: IP: s=150.1.2.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
     g=150.1.1.1, len 56, forward
    *Dec 29 14:02:32.264: ICMP type=11, code=0

Neste resultado do debug, você vê agora a sonda ICMP da fonte 150.1.1.1 destinada a 150.1.4.2.

Nota: Nestas pontas de prova, o TTL=2 (isto não pode ser visto com debuga). O dispositivo 11A decresce o TTL a 1 e para a frente os pacotes de UDP sobre ao dispositivo 7A. O dispositivo 7A decresce o TTL a zero, e responde com mensagens " tempo excedido " ICMP.

*Dec 29 14:02:37.776: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 92, forward
*Dec 29 14:02:37.776: ICMP type=8, code=0
*Dec 29 14:02:37.776: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 14:02:37.776: ICMP type=11, code=0
*Dec 29 14:02:37.780: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 92, forward
*Dec 29 14:02:37.780: ICMP type=8, code=0
*Dec 29 14:02:37.780: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 14:02:37.780: ICMP type=11, code=0
*Dec 29 14:02:37.780: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 92, forward
*Dec 29 14:02:37.780: ICMP type=8, code=0
*Dec 29 14:02:37.784: IP: s=150.1.3.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 56, forward
*Dec 29 14:02:37.784: ICMP type=11, code=0

Você vê as três sondas ICMP seguintes neste resultado do debug. O TTL para estes sonda é 3. que o dispositivo 11A os decresce o TTL a 2 e para a frente sobre ao dispositivo 7A. O dispositivo 7A decresce o TTL a 1 e encaminha os pacotes sobre ao dispositivo 7B, que decresce o TTL a zero e responde com mensagens " tempo excedido " ICMP.

*Dec 29 14:02:43.292: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 92, forward
*Dec 29 14:02:43.292: ICMP type=8, code=0
*Dec 29 14:02:43.296: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 92, forward
*Dec 29 14:02:43.296: ICMP type=0, code=0
*Dec 29 14:02:43.296: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 92, forward
*Dec 29 14:02:43.296: ICMP type=8, code=0
*Dec 29 14:02:43.300: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 92, forward
*Dec 29 14:02:43.300: ICMP type=0, code=0
*Dec 29 14:02:43.300: IP: s=150.1.1.1 (Ethernet4/0), d=150.1.4.2 (FastEthernet0/0),
 g=150.1.2.2, len 92, forward
*Dec 29 14:02:43.300: ICMP type=8, code=0
*Dec 29 14:02:43.304: IP: s=150.1.4.2 (FastEthernet0/0), d=150.1.1.1 (Ethernet4/0),
 g=150.1.1.1, len 92, forward
*Dec 29 14:02:43.304: ICMP type=0, code=0

Este resultado do debug mostra as últimas três sondas ICMP. O TTL original destes sonda era 4. O TTL foi decrescido a 3 pelo dispositivo 11A, a seguir decrescido a 2 pelo dispositivo 7A, a seguir decrescido a 1 pelo dispositivo 7B. O dispositivo 7C responde então com mensagens de resposta de eco ICMP (type=0, code=0), desde que era o destino das pontas de prova.

Nota: Os mensagens de resposta de eco ICMP não são taxa limitada como os mensagens " porta inalcançável " ICMP eram. Neste caso, você vê todos os três mensagens de resposta de eco ICMP enviados.

Notas adicionais

Nos roteadores Cisco, os códigos para uma resposta do comando traceroute são:

! -- success
* -- time out
N -- network unreachable
H -- host unreachable
P -- protocol unreachable
A -- admin denied
Q -- source quench received (congestion)
? -- unknown (any other ICMP message)

Se você executa o comando traceroute de UNIX, note estes artigos:

  • Você pode receber o “traceroute: soquete ICMP: ” Mensagens negadas permissão.

  • O programa Traceroute confia no Network Interface Tap (NIT) à espião na rede. Este dispositivo é somente acessível pela raiz. Você deve ou executar o programa como a raiz, ou ajuste o usuário - identificação para a raiz.

Resumo

Este documento demonstrou como o comando traceroute determina o trajeto tomadas de um pacote de uma fonte dada a um destino fornecido com o uso do UDP e dos pacotes ICMP. Os possíveis tipos de mensagens de ICMP nas saídas são:

  • Se o TTL é excedido no trânsito, type=11, code=0, a seguir o pacote está enviado para trás pelo roteador de trânsito em todos os casos onde o TTL dos pacotes de ponta de prova expira antes que os pacotes alcancem o destino.

  • Se a porta é inacessível, type=3, code=3, a seguir o pacote estão enviados para trás em resposta aos pacotes de ponta de prova UDP quando alcança o destino (o aplicativo UDP não está definido). Estes pacotes são limitados a um pacote pela Senhora 500. Isto explica porque a resposta do destino (veja as saídas para o roteador Cisco e Linux) falhado mesmo nas respostas. O dispositivo 7C não gera o mensagem ICMP, e a saída do comando traceroute em esperas de cada dispositivo para mais do que o segundo. No caso da saída do comando tracert de MS Windows, o mensagem ICMP é gerado porque a porta 137 UDP não existe em um roteador Cisco.

  • Se há um eco, type=8, code=0, a seguir o pacote da prova de eco está enviado por MS Windows PC.

  • Se há uma resposta de eco, type=0, code=0, a seguir uma resposta ao pacote anterior está enviada quando o destino é alcançado. Isto aplica-se somente ao comando tracert de MS Windows.

Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações Relacionadas


Document ID: 22826