Noticias
Velocidades más rápidas: ancho de banda para vStack Los servidores en Kazajstán aumentaron a 200 Mbps
HW
Julio 4 2023
Actualizado el 30 de mayo de 2025

Cómo utilizar Traceroute para el rastreo de red en Linux

Linux Redes Ubuntu

Imagine la situación: el software requerido está instalado y configurado. Este software se comunica con los servidores de la red (cualquier aplicación web que envíe solicitudes a la base de datos remota, sistema de copia de seguridad de la red, etc.). Hasta un momento todo funciona correctamente sin demoras, pero de repente comienza a funcionar lentamente o incluso deja de funcionar. ¿Cómo entender en qué servidor ocurrió el problema? ¿En qué punto de la transmisión del tráfico aparecieron retrasos o restricciones?

La utilidad Ping puede ayudar a aclarar si se puede acceder al servidor remoto, pero los diagnósticos adicionales requerirán otras herramientas. Uno de ellos es Traceroute, una utilidad que es capaz de realizar el seguimiento de conexiones de red. Traceroute muestra los nodos (enrutadores) por los que pasa el paquete y cuánto tiempo lleva procesar el paquete en cada nodo.

La utilidad suele venir preinstalada y se puede utilizar en cualquier momento. Si no está disponible por algún motivo, puede instalarse desde el repositorio de distribución estándar mediante el administrador de paquetes:

    • para distribución basada en deb:
sudo apt install traceroute
    • para distribución basada en rpm:
sudo yum install traceroute



Cómo funciona rastrear ruta

La utilidad rastrea los nodos en los que se encuentra el paquete de red durante su transmisión al host de destino. El protocolo UDP se utiliza de forma predeterminada: se crea un datagrama UDP y se empaqueta en un paquete IP. En uno de los encabezados de los paquetes, traceroute establece el valor del parámetro TTL (Time To Live) en 1. Este parámetro se utiliza para limitar el número de transiciones de un enrutador a otro, es decir, permite evitar la transmisión infinita de paquetes entre enrutadores (por ejemplo, en el caso de un protocolo de enrutamiento dinámico configurado incorrectamente o errores en rutas estáticas). Cada enrutador que recibe un paquete reduce el valor TTL en 1 antes de enviarlo a la red. En una situación en la que la siguiente disminución de TTL se vuelve igual a 0, el paquete se considera no entregado y se descarta, mientras que el enrutador responde al remitente con un mensaje de error.

Por lo tanto, con TTL = 1 traceroute recibir una respuesta del primer enrutador determina su dirección IP y el tiempo empleado en procesar el paquete. Después de eso, el TTL se incrementa en uno para determinar el siguiente enrutador, y así sucesivamente hasta que el paquete llega al host de destino. La utilidad utiliza la dirección IP (o nombre) especificada y el puerto 34434 de forma predeterminada. El host de destino recibe el paquete y envía un error sobre la falta de disponibilidad del puerto 34434 (porque en la mayoría de los casos no es utilizado por ningún servicio y está cerrado). Como resultado, se realiza un seguimiento de toda la cadena de paquetes que finaliza con una respuesta del host de destino.

Un enrutador es cualquier dispositivo que transmite un paquete de una subred a otra, no necesariamente un dispositivo de red especializado, sino cualquier servidor de red. Esto es especialmente importante para la arquitectura de microservicios de aplicaciones que utilizan tecnologías de contenedorización. Al analizar el tiempo dedicado a la transición de un enrutador a otro, puede intentar determinar en cuál de ellos están apareciendo retrasos, tal vez debido a la falta de recursos en uno de los servidores, o debido a un mal funcionamiento del sistema de disco, etc. El paquete no llegará a un host de destino si uno de los servidores no está disponible y la utilidad determinará en qué punto de la transferencia sucede esto. Además, el paquete no llegará si el filtrado de tráfico está en vigor (lo que significa que interfiere con la transmisión del paquete).

Lanzamiento de ruta

El nombre del host de destino o la dirección IP es obligatorio para la utilidad:

traceroute linux.org

Salida:

tracing connection to linux.org

Qué datos recopila la utilidad y se muestran en la tabla:

  • tomó 5 transiciones (saltos), este valor está en la primera columna;
  • La dirección IP y el nombre (si está disponible) del próximo enrutador se determinan en cada salto;
  • tiempo (RTT - Tiempo de ida y vuelta) empleado en enviar y recibir una solicitud del enrutador.

Traceroute envía tres paquetes UDP de forma predeterminada, por lo que se muestran tres valores RTT en la salida. Para la primera línea es 3.034 ms, 5.349 ms, 5.325 ms. Otro valor predeterminado es el número de saltos por los que puede pasar un paquete, es decir, TTL = 30. Se puede especificar un valor arbitrario, por ejemplo 35, en la línea de comando con la opción "-m 35". En algunos saltos, se puede definir más de un enrutador; esto se debe a la presencia de múltiples rutas en este punto. Al enviar tres paquetes UDP a la vez, la respuesta puede provenir de tres enrutadores diferentes, y también se especifica RTT para cada uno. Un ejemplo de tal respuesta en el cuarto salto: se determinan las IP 172.71.180.2 y 172.71.100.2 a través de las cuales se pueden entregar los paquetes al host de destino.

Es necesario prestar atención a los saltos con alto RTT; esto significa que el enrutador tarda mucho tiempo en procesar el paquete y se debe encontrar la razón de tal retraso.

Cabe señalar que la respuesta puede llegar al remitente por otra ruta debido a la presencia de una ruta alternativa o al uso de tecnologías de balanceo de carga. Si hay un RTT alto en algún salto, entonces debe ejecutar la utilidad nuevamente y verificar el resultado.
Además, es posible que haya filtros de paquetes en uno de los enrutadores o que se trate de un dispositivo de firewall especializado. En este caso, puede haber restricciones para el puerto o el protocolo UDP y se mostrarán tres asteriscos en la salida de traceroute (es decir, se ha excedido el tiempo de espera de respuesta):

traceroute mongodb.org

tracing mongodb.com

El recurso mongodb.com está disponible pero los paquetes UDP están filtrados.

Traceroute puede usar el protocolo ICMP en lugar de UDP: se envía una solicitud de "Solicitud de eco", también se reciben mensajes ICMP en respuesta, no se usa ningún puerto. Por lo demás no hay diferencia. La opción "-I" en la línea de comandos para el seguimiento ICMP:

traceroute mongodb.org -I

tracing mongodb.com with icmp

Se puede ver que se recibió la respuesta del host de destino, aunque no hubo respuestas entre 5 y 21 saltos.
También se puede usar el protocolo TCP (opción "-T"); en este caso, las solicitudes SYN se envían al puerto 80.

Opciones útiles de traceroute:

  • "-4" y "-6", especificando IPv4 e IPv6, respectivamente;
  • "-I", especificando la interfaz de red, por ejemplo, "-i ens0s5";
  • "-n", deshabilitando la resolución de nombres;
  • "-p", especificando el puerto personalizado (para UDP y TCP);
  • "-m", número máximo de transiciones (saltos).

Trazado de red en Windows

Tracert es la utilidad disponible en Windows OS para rastrear conexiones de red similares a Traceroute en Linux.
Esta utilidad usa solo el protocolo ICPM, tiene menos opciones y funciona de la misma manera que traceroute.

Conclusión

Traceroute es una herramienta conveniente para diagnosticar conexiones de red, lo que ayuda a determinar en qué nodo hay demoras o restricciones para la transmisión del tráfico. Al mismo tiempo, no siempre es fácil interpretar los resultados de su trabajo debido a las reglas de filtrado, los sistemas de redirección y el equilibrio del tráfico. Para diagnosticar una aplicación distribuida, se requiere una comprensión clara de la arquitectura utilizada. Combinar las opciones disponibles también es útil para diagnosticar recursos externos.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 1
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

También le podría interesar...

Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Política de privacidad.