systemadmin.es » Redes » Como funciona el traceroute

Como funciona el traceroute

El traceroute es una herramienta que nos permite, dentro de ciertos límites, descubrir la ruta que hacen los paquetes entre dos equipos. Hoy vamos a ver como funciona.

# traceroute systemadmin.es
traceroute to systemadmin.es (91.121.113.59), 30 hops max, 40 byte packets
 1  82.98.141.253 (82.98.141.253)  1.935 ms  2.245 ms  2.491 ms
 2  10.1.1.1 (10.1.1.1)  0.324 ms  0.367 ms  0.419 ms
 3  193.149.1.81 (193.149.1.81)  4.406 ms * *
 4  * * *
 5  160g.rbx-2-6k.routers.chtix.eu (213.186.32.222)  22.144 ms * *
 6  rbx-36-m1.routers.chtix.eu (213.251.191.231)  20.266 ms  20.257 ms  20.460 ms
 7  mail.systemadmin.es (91.121.113.59)  20.042 ms  19.878 ms  19.848 ms

Para trazar la ruta se basa en el TTL de un paquete IP. Dicho valor es contador que se va decrementando a cada salto, y en el caso que dicho valor sea cero se manda un ICMP de vuelta al origen y se descarta el paquete.

traceroute se aprovecha de este funcionamiento para mandar un paquete con un TTL de 1 para asegurar que solo hace un salto y espera recibir el ICMP tipo 11 (Time Exceeded) desde el primer punto intermedio. Luego manda otro paquete con el TTL a valor 2, por lo que pasa por el primer punto que ya ha registrado y el segundo salta le debería mandar otro ICMP informando del TTL agotado.

En el caso que no se reciba dentro de los límites de tiempo (5 por defecto), simplemente de marca con un asterisco el salto (por ejemplo el cuarto del caso anterior).

El tipo de paquete que se usa es configurable mediante las siguientes opciones:

  • -I: Manda paquetes ICMP echo request
  • -T: Manda paquetes TCP SYN
  • -U: Opción por defecto, usa paquetes UDP. Esta opción es la única disponible para usuarios no administradores del equipo

Evidentemente existen limitaciones, un salto intermedio puede no modificar el TTL, por lo que sería invisible el salto. También es posible que se modifique el TTL pero no se mande de vuelta el ICMP, por lo que veríamos el salto pero no podríamos conocer la IP como comentábamos en el caso del salto 4.

Por otro lado al lado de cada salto podemos ver lo tiempos de cada uno de los paquetes mandados. Podemos augmentar el numero de pruebas por cada salto mediante el parámetro -q:

# traceroute systemadmin.es -q 5
traceroute to systemadmin.es (91.121.113.59), 30 hops max, 40 byte packets
 1  82.98.141.253 (82.98.141.253)  1.418 ms  1.742 ms  1.984 ms  2.229 ms  2.475 ms
 2  10.1.1.1 (10.1.1.1)  0.350 ms  0.406 ms  0.457 ms  0.512 ms  0.562 ms
 3  193.149.1.81 (193.149.1.81)  10.734 ms * * * *
 4  * * * * *
 5  160g.rbx-2-6k.routers.chtix.eu (213.186.32.222)  19.989 ms * * * *
 6  rbx-36-m1.routers.chtix.eu (213.251.191.231)  20.119 ms  19.979 ms  20.105 ms  20.026 ms  20.061 ms
 7  mail.systemadmin.es (91.121.113.59)  19.947 ms  19.849 ms  19.875 ms  19.899 ms  19.867 ms

Relacionados

Imprimir Imprimir

4 comments to “Como funciona el traceroute”

  1. Yo la verdad es que antes que traceroute prefiero el comando mtr (My Traceroute) que es al traceroute lo que el top al ps. Actualiza los tiempos de los saltos intermedios.

  2. Y qué os parece dig?

    Por cierto cambia la v por la b en comentabamos.

    NaCl u2

  3. Corregido, muchas gracias!

    A que te refieres con lo del dig?

  4. Dig te sirve para interrogar los servidores DNS, no para analizar tránsito de redes a diferencia de traceroute o mtr. No tiene mucha relación con el tema.

    Saludos,
    Esteban.-

    pd: muy buen blog Jordi, lo sigo hace tiempo.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>