Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Funcionamiento general

Cisco IOS y Linux

Microsoft Windows

Limitación de velocidad de ICMP inalcanzables

Examples

Router de Cisco con software Cisco IOS

PC con Linux

PC con MS Windows

Notas complementarias

Summary

Información Relacionada

Introducción

El comando traceroute permite determinar la trayectoria que sigue un paquete para llegar a un destino desde un origen determinado devolviendo la secuencia de saltos que ha atravesado el paquete. Esta utilidad se incluye en el sistema operativo del host (por ejemplo, Linux o Microsoft (MS) Windows), así como con Cisco IOS® Software.

Prerequisites

Requirements

Los lectores de este documento deben tener conocimientos básicos de uno de estos sistemas operativos:

- Cisco IOS Software

- Linux

- Microsoft Windows

Componentes Utilizados

La información de este documento se aplica a estas versiones de software y hardware:

- Router de Cisco que ejecuta la versión 12.2(27) del software del IOS de Cisco

- PC que ejecuta Red Hat Linux versión 9

- PC que ejecuta MS Windows 2000

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Convenciones

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Funcionamiento general

Si ejecuta el comando traceroute ip-address en un dispositivo de origen (como un host o un router que actúa como host), envía paquetes IP hacia el destino con valores de Tiempo de Vida (TTL) que aumentan hasta el número máximo especificado de saltos. Este valor es 30 de forma predeterminada. Normalmente, cada router en la trayectoria hacia el destino disminuye el campo TTL en una unidad mientras reenvía estos paquetes. Cuando un router en el medio de la ruta encuentra un paquete con TTL = 1, responde con un mensaje de "tiempo excedido" del Protocolo de mensajes de control de Internet (ICMP) al origen. Este mensaje permite que el origen sepa que el paquete atraviesa ese router en particular como salto

Hay algunas diferencias con la manera en que el comando traceroute se implementa en los diversos sistemas operativos que este documento discute.

Cisco IOS y Linux

El TTL para la sonda de datagrama inicial del protocolo de datagramas de usuario (UDP) se establece en 1 (o el TTL mínimo, según lo especificado por el usuario en el comando extended traceroute. El puerto UDP de destino de la sonda de datagrama inicial se establece en 33434 (o como se especifica en la salida del comando traceroute extendido). El comando traceroute extendido es una variación del comando traceroute ordinario que permite modificar los valores predeterminados de los parámetros utilizados por la operación traceroute, como TTL y el número de puerto de destino. Para obtener más información sobre cómo utilizar el comando traceroute extendido, consulte Uso de los Comandos ping extendido y traceroute extendido. El puerto UDP de origen de la sonda de datagrama inicial es aleatorizado y tiene operador lógico OR con 0x8000 (asegura un puerto de origen mínimo de 0x8000). Estos pasos ilustran lo que sucede cuando se inicia el datagrama UDP:

Nota: Los parámetros son configurables. Este ejemplo comienza con n = 1 y termina con n = 3.

1. El datagrama UDP se envía con TTL = 1, el puerto UDP de destino= 33434 y el puerto de origen se aleatoriza.

2. El puerto de destino UDP se incrementa, el puerto UDP de origen se aleatoriza y el segundo datagrama se envía.

3. El paso 2 se repite para hasta tres sondas (o tantas veces como se solicita en una salida de comando traceroute extendida). Para cada una de las sondas enviadas, recibe un mensaje de "TTL excedido", que se utiliza para generar una ruta paso a paso al host de destino.

4. Se incrementa el TTL y este ciclo se repite con números de puerto de destino incrementales, si se recibe el mensaje ICMP "time beyond" (tiempo excedido). También puede obtener uno de estos mensajes:

- Un mensaje ICMP tipo 3, código 3 ("destino inalcanzable", "puerto inalcanzable"), que indica que se ha alcanzado un host.

- Un "host inalcanzable", "red inalcanzable", "TTL máximo excedido" o un tipo de mensaje de "tiempo de espera", lo que significa que la sonda se encuentra reenviada.

Los routers de Cisco envían paquetes de sonda UDP con un puerto de origen aleatorio y un puerto de destino incremental (para distinguir las diferentes sondas). Los routers de Cisco envían el mensaje ICMP "tiempo excedido" de vuelta al origen desde donde se recibió el paquete UDP/ICMP.

El comando Linux traceroute es similar a la implementación del router de Cisco. Sin embargo, utiliza un puerto de origen fijo. La opción -n del comando traceroute se utiliza para evitar una solicitud a un servidor de nombres.

Microsoft Windows

El comando tracert de MS Windows utiliza datagramas de solicitud de eco ICMP en lugar de datagramas UDP como sondas. Las solicitudes de eco ICMP se inician con TTL en aumento y se produce la misma operación como se describe en Cisco IOS y Linux. La importancia de utilizar datagramas de solicitud de eco ICMP es que el salto final no se basa en la respuesta de un mensaje ICMP "inalcanzable" del host de destino. Se basa en su lugar en un mensaje de respuesta de eco ICMP.

La sintaxis del comando es la siguiente:

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

Esta tabla explica los parámetros del comando:

Parámetro

Descripción

-d

Especifica que no se resuelvan las direcciones de los nombres de equipo.

-h maximum_hops

Especifica el número máximo de saltos para buscar un destino.

-j computer-list

Especifica una ruta de origen suelta a lo largo de la lista de equipos.

-w timeout

Espera el número de milisegundos especificado por el tiempo de espera para cada respuesta.

target_name

Nombre del equipo de destino.

Limitación de velocidad de ICMP inalcanzables

Los inalcanzables ICMP se limitan a un paquete por cada 500 ms (como protección para ataques de denegación de servicio (DoS)) en un router de Cisco. Desde Cisco IOS Software Release 12.1 y posteriores, este valor de velocidad es configurable. El comando introducido es:

ip icmp rate-limit unreachable

[DF] <1-4294967295 millisecond>

no ip icmp rate-limit unreachable [DF] (DF limits rate for code=4)

Consulte Cisco bug ID CSCdp28161 (sólo clientes registrados) para obtener más detalles.

Esta limitación es para la velocidad agregada de todos los ICMP inalcanzables, como muestra este resultado. Consulte RFC 792 para obtener más información.

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 limitación no afecta a otros paquetes como solicitudes de eco ICMP o mensajes de "tiempo excedido" ICMP.

Examples

Esta topología de red se utiliza para los ejemplos:

En cada uno de los tres ejemplos, se utiliza un dispositivo A diferente. Desde el Dispositivo A, el comando traceroute 150.1.4.2 se ejecuta en el Dispositivo 7C.

En cada uno de los ejemplos, el comando debug ip packet detail se ejecuta en el Dispositivo 11A.

Router de Cisco con software Cisco IOS

Este ejemplo de comando traceroute extendido muestra las opciones que puede cambiar cuando ejecuta un comando traceroute desde un router Cisco. En este ejemplo, todo se deja por defecto:

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

En este resultado de depuración, el Dispositivo 11A envía mensajes ICMP de "tiempo excedido" al origen de los sondeos (150.1.1.1). Estos mensajes ICMP responden a las sondas iniciales que tenían un TTL=1. El dispositivo 11A reduce el TTL a cero y responde con los mensajes de "tiempo excedido".

Nota: No ve los sondeos UDP en este resultado de depuración por dos razones:

- El dispositivo 11A no es el destino de las sondas UDP.

- El TTL se reduce a cero y el paquete nunca se enruta. Por lo tanto, la depuración nunca reconoce el paquete.

*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

Esta salida de depuración muestra la sonda UDP del origen 150.1.1.1 destinado a 150.1.4.2.

Nota: En estas sondas el TTL=2 (esto no se puede ver con debug). El dispositivo 11A reduce el TTL a 1 y reenvía los paquetes UDP al dispositivo 7A. El dispositivo 7A reduce el TTL a cero y responde con mensajes ICMP de "tiempo excedido".

*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

Verá los siguientes tres sondeos UDP en esta salida de depuración. El TTL para estas sondas es 3. El dispositivo 11A reduce el TTL a 2 y lo reenvía al dispositivo 7A. El Dispositivo 7A disminuye el TTL a 1 y reenvía los paquetes al Dispositivo 7B, que disminuye el TTL a cero y responde con mensajes de "tiempo 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

Puede ver las últimas tres sondas UDP en este resultado de depuración. El TTL original de estas sondas fue 4. El TTL fue decrementado a 3 por el Dispositivo 11A, luego decrementado a 2 por el Dispositivo 7A y luego decrementado a 1 por el Dispositivo 7B. El dispositivo 7C responde con mensajes ICMP de "puerto inalcanzable", ya que era el destino de las sondas.

Nota: El dispositivo 7C sólo envía dos mensajes ICMP de "puerto inalcanzable" debido a la limitación de velocidad.

PC con 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

En este resultado de depuración, el Dispositivo 11A envía mensajes ICMP de "tiempo excedido" al origen de los sondeos (150.1.1.1). Estos mensajes ICMP responden a las sondas iniciales que tenían un TTL=1. El dispositivo 11A reduce el TTL a cero y responde con los mensajes de "tiempo excedido".

Nota: No ve los sondeos UDP en este resultado de depuración por dos razones:

- El dispositivo 11A no es el destino de las sondas UDP.

- El TTL se reduce a cero y el paquete nunca se enruta. Por lo tanto, la depuración nunca reconoce el paquete.

*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: En esta salida de depuración, ahora verá la sonda UDP del origen 150.1.1.1 destinado a 150.1.4.2.

Nota: En estos sondeos, el TTL=2 (esto no se puede ver con debug). El dispositivo 11A reduce el TTL a 1 y reenvía los paquetes UDP al dispositivo 7A. El dispositivo 7A reduce el TTL a cero y responde con mensajes ICMP de "tiempo excedido".

*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

Los siguientes tres sondeos UDP se ven ahora en esta salida de depuración. El TTL para estas sondas es 3. El dispositivo 11A reduce el TTL a 2 y lo reenvía al dispositivo 7A. El Dispositivo 7A disminuye el TTL a 1 y reenvía los paquetes al Dispositivo 7B, que disminuye el TTL a cero y responde con mensajes de "tiempo 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

Esta salida de depuración muestra las últimas tres sondas UDP. El TTL original de estas sondas fue 4. El TTL fue decrementado a 3 por el Dispositivo 11A, luego decrementado a 2 por el Dispositivo 7A y luego decrementado a 1 por el Dispositivo 7B. El dispositivo 7C luego responde con mensajes ICMP de "puerto inalcanzable", ya que era el destino de las sondas.

Nota: El dispositivo 7C sólo envía dos mensajes ICMP de "puerto inalcanzable" debido a la limitación de velocidad.

PC con 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

En este resultado de depuración, el Dispositivo 11A envía mensajes ICMP de "tiempo excedido" al origen de los sondeos (150.1.1.1). Estos mensajes ICMP responden a las sondas iniciales, que son paquetes de solicitud de eco ICMP con un TTL=1. El dispositivo 11A reduce el TTL a cero y responde con los mensajes ICMP.

Nota: En la parte superior verá las solicitudes de nombre NETBIOS. Estas solicitudes se consideran paquetes UDP con puertos de origen y destino de 137. Por razones de claridad, los paquetes NETBIOS se eliminan del resto de la salida de depuración. Puede utilizar la opción -d en el comando tracert para inhabilitar el comportamiento NETBIOS.

Nota: No ve las sondas ICMP en este resultado debug por dos razones:

- El dispositivo 11A no es el destino de las sondas ICMP.

- El TTL se reduce a cero y el paquete nunca se enruta. Por lo tanto, la depuración nunca reconoce el paquete.

*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

En este resultado de depuración, ahora ve la sonda ICMP del origen 150.1.1.1 destinado a 150.1.4.2.

Nota: En estos sondeos, el TTL=2 (esto no se puede ver con debug). El dispositivo 11A reduce el TTL a 1 y reenvía los paquetes UDP al dispositivo 7A. El dispositivo 7A reduce el TTL a cero y responde con mensajes ICMP de "tiempo excedido".

*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

En esta salida de depuración, verá las tres sondas ICMP siguientes. El TTL para estas sondas es 3. El dispositivo 11A reduce el TTL a 2 y lo reenvía al dispositivo 7A. El Dispositivo 7A disminuye el TTL a 1 y reenvía los paquetes al Dispositivo 7B, que disminuye el TTL a cero y responde con mensajes de "tiempo 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

Esta salida de depuración muestra las últimas tres sondas ICMP. El TTL original de estas sondas fue 4. El TTL fue decrementado a 3 por el Dispositivo 11A, luego decrementado a 2 por el Dispositivo 7A y luego decrementado a 1 por el Dispositivo 7B. El dispositivo 7C luego responde con mensajes de respuesta de eco ICMP (type=0, code=0), ya que era el destino de las sondas.

Nota: Los mensajes de respuesta de eco ICMP no se limitan a la velocidad, ya que los mensajes ICMP "port unreachable" estaban. En este caso, verá los tres mensajes de respuesta de eco ICMP enviados.

Notas complementarias

En los routers Cisco, los códigos para una respuesta de comando traceroute son:

! -- 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)

Si ejecuta el comando traceroute desde UNIX, tenga en cuenta estos elementos:

- Puede recibir "traceroute: socket icmp: Permiso denegado" mensajes.

- El programa traceroute se basa en el Network Interface Tap (NIT) para iniciar la red. Este dispositivo sólo es accesible por root. Debe ejecutar el programa como root o establecer el ID de usuario para root.

Summary

Este documento ha demostrado cómo el comando traceroute determina la trayectoria que un paquete toma de un origen determinado a un destino dado con el uso de paquetes UDP e ICMP. Los tipos posibles de mensajes ICMP en las salidas son:

- Si se excede el TTL en tránsito, escriba=11, código=0, entonces el paquete es enviado de vuelta por el router de tránsito en todos los casos donde el TTL de los paquetes de sonda caduca antes de que los paquetes lleguen al destino.

- Si el puerto es inalcanzable, escriba=3, code=3, entonces el paquete se envía de vuelta en respuesta a los paquetes de sonda UDP cuando llegan al destino (la aplicación UDP no está definida). Estos paquetes están limitados a un paquete por cada 500 ms. Esto explica por qué la respuesta desde el destino (ver los resultados para el router Cisco y Linux) falló en las respuestas pares. El dispositivo 7C no genera el mensaje ICMP y la salida del comando traceroute en cada dispositivo espera más de un segundo. En el caso de la salida del comando tracert de MS Windows, se genera el mensaje ICMP porque el puerto UDP 137 no existe en un router Cisco.

- Si hay un eco, type=8, code=0, entonces el paquete de sonda de eco es enviado por el PC de MS Windows.

- Si hay una respuesta de eco, escriba=0, code=0, entonces se envía una respuesta al paquete anterior cuando se alcanza el destino. Esto sólo se aplica al comando MS Windows tracert.

Información Relacionada

- Soporte Técnico y Documentación - Cisco Systems