¿Qué es el comando Traceroute y para qué sirve?

10min

El comando Traceroute es una herramienta básica para entender cómo viajan los datos a través de las redes, generalmente Internet. Si no conoces este comando te gustará todo lo que puedes aprender a partir de él.

Índice

¿Qué es el comando Traceroute?

El comando Traceroute es una de las herramientas más básicas para monitorizar las conexiones de red. Permite rastrear la ruta que toman los paquetes de datos, desde un origen hasta un destino específico en Internet que tú le marques. 

Gracias a este comando podrás identificar los puntos intermedios (también conocidos como saltos o nodos) por los que pasa la información antes de llegar al destino final, ya sea un dominio o una IP.

¿Cómo funciona el comando Traceroute?

Sin querer entrar en aspectos demasiado técnicos podemos decir que el comando traceroute utiliza el protocolo ICMP (Protocolo de Mensajes de Control de Internet) o UDP (Protocolo de Datagrama de Usuario) para enviar paquetes y rastrear los nodos por los cuales pasan los paquetes hasta llegar a su destino. Todo esto lo hace controlando los tiempos en los que esos paquetes viajan por Internet. 

Para que funcione este comando se usa el límite de tiempo (TTL), que se incrementa progresivamente en cada paquete enviado, lo que permite identificar cada salto en la ruta. 

Elementos clave en los resultados de Traceroute

Para poder entender mejor cómo funciona y qué nos aporta Traceroute vamos a explicar cuáles son los puntos más importantes para entender los resultados que ofrece el comando.

Lista de nodos o saltos en la ruta hacia el destino

Traceroute muestra todos los puntos intermedios que participan en la entrega de los paquetes. Estos puntos intermedios se llaman nodos y están implementados por medio de routers. Al lanzar el comando veremos una lista secuencial de los saltos, desde el origen hasta el destino.

Tiempo de respuesta de cada salto (RTT)

Junto con cada salto obtendremos unos tiempos de respuesta medidos en milisegundos. Ese tiempo de respuesta también se conoce con las siglas RTT.

Direcciones IP y nombres de host de los routers intermedios

Cada salto también nos ofrecerá información sobre la dirección IP del router y en la mayoría de los casos la dirección del dominio o nombre de host de ese nodo, lo que facilita entender mejor cuáles son los pasos de los paquetes en la ruta que han realizado.

¿Para qué sirve el comando Traceroute?

El comando Traceroute puede ser muy útil para los administradores de redes y también puede ser interesante para los gestores de páginas web, sobre todo para poder identificar problemas de conectividad y saber dónde se encuentran. Vamos a ver algunas de sus aplicaciones más importantes.

Identificar problemas de conectividad en la red

Primero que nada, Traceroute nos puede servir para detectar problemas de conectividad. Esto se traduce en saber qué nodos son los que interrumpen la conexión en una red y el tráfico de los paquetes.

Analizar rutas de paquetes entre dispositivos

Con Traceroute, es posible estudiar cómo viajan los paquetes, viendo cada uno de los routers y redes por los que van pasando. Esto nos ayudará a analizar mejor la red y entender cómo funciona.

Diagnosticar latencia o demoras en la red

Gracias a la información del tiempo de respuesta (RTT) mostrado por Traceroute podemos conseguir identificar puntos de mayor latencia en la ruta.

Localizar puntos de fallo o interrupción en la red

Como hemos dicho ya, si un paquete no puede avanzar más allá de un nodo, Traceroute nos podrá informar y nos ofrecerá un dato importante para saber a quién dirigirnos y ofrecerle información que pueda ayudarles a identificar y resolver el problema.

Optimización del rendimiento de redes y servidores

Con el debido análisis de las rutas que nos describe el comando Traceroute podemos conseguir optimizar el rendimiento de las redes, lo que es aplicable directamente en la optimización de los servidores que se encuentran en ellas.

Cómo interpretar los resultados de Traceroute

Para hacer el uso del comando traceroute simplemente tenemos que abrir un terminal y lanzar el comando «traceroute» seguido del nombre del dominio o la IP donde queremos comunicar.

Por ejemplo, podemos escribir en el terminal:

traceroute google.com

Entonces recibiremos una salida como esta:

traceroute google

Los resultados pueden estar un poco apelotonados, pero son bastante claros. Vamos a aprender ahora a interpretarlos.

Identificación de retrasos o latencias en la red

Los tiempos de respuesta se encuentran medidos en milisegundos. Son bastante fáciles de identificar, ya que aparecen al final de cada línea seguido por ms.

Como te imaginarás, tiempos elevados en un salto indican que ese nodo podría estar experimentando sobrecarga o quizás problemas de rendimiento.

Detección de saltos donde ocurre pérdida de paquetes

Si Traceroute muestra pérdida de paquetes en un salto te aparecerá en el que esto está ocurriendo. Esa información será muy útil para detectar el nodo que está dando el problema.

Significado de asteriscos (*) en la salida de Traceroute

Los asteriscos aparecen cuando un nodo no responde dentro del tiempo límite establecido. A simple vista podría parecer un problema, pero no siempre es así. 

Estos asteriscos simplemente pueden deberse a configuraciones de seguridad de los nodos por los que pasan los datos, que no desean revelar información, o simplemente routers que no están configurados para responder a solicitudes ICMP. Por supuesto, también podría ser un problema de red pero si la señal ha llegado a destino y la navegación por ese dominio es normal lo más seguro es que no sea debido a problemas de red.

¿Cuáles son las limitaciones de Traceroute?

Este comando es muy útil e ilustrativo de las conexiones y el tráfico de red, pero también debemos de entender sus limitaciones para poder interpretar mejor los resultados.

Restricciones en redes con firewalls o configuraciones avanzadas

Ten en cuenta que muchas redes utilizan firewalls o configuraciones de seguridad que bloquean los paquetes ICMP o UDP que Traceroute utiliza. Esto puede producir una salida confusa pero es muy normal.

Problemas con nodos que bloquean paquetes ICMP o UDP

También ocurrir que uno de los nodos esté bloqueando los paquetes ICMP o UDP. Cuando ocurre esto, el resto de los nodos de la ruta aparecerá siempre con asteriscos, lo que hace que el comando no nos pueda dar mucha más información a partir de determinado salto.

Posibles errores de interpretación en redes complejas

También debes saber que las redes pueden responder de maneras distintas a las mismas conexiones, debido a factores como la redundancia o el balanceo de carga. En estos casos los resultados de Traceroute pueden ser confusos, ya que los paquetes pueden tomar diferentes caminos en cada intento.

Herramientas y alternativas al comando Traceroute

El comando Traceroute puede resultar muy interesante, pero es en realidad bastante básico. Si te interesa profundizar en este tipo de herramientas podemos mencionar otras alternativas o sugerencias complementarias que te pueden venir bien para realizar un análisis más completo del tráfico de las redes.

Herramientas gráficas para analizar rutas (WinMTR, MTR)

Existen herramientas como WinMTR y MTR que nos permiten interfaz gráfica para controlar mejor la información de traceroute, incluso que combinan otros comandos de análisis de red.

Alternativas como Pathping y PingPlotter

Pathping es otra herramienta de línea de comandos disponible en Windows que combina  Traceroute con el comando ping para realizar un análisis mejor de paquetes y posibles pérdidas de paquetes. 

Por otro lado, PingPlotter es un software más avanzado, que requiere pago por uso, para conseguir realizar el análisis de las trazas de una manera más detallada, con interfaz gráfica y numerosos informes que pueden hacer una diferencia cuando se trata de identificar problemas.

Soluciones online para Traceroute simplificado

Si lo deseas, también existen servicios online que permiten ejecutar Traceroute desde servidores remotos y haciendo uso de una cómoda interfaz web. Estas herramientas pueden ayudarte a identificar problemas desde diferentes ubicaciones geográficas o a obtener informes detallados más completos. Si quieres encontrar alternativas simplemente busca en Google por «traceroute online» y verás numerosos resultados.

Preguntas frecuentes sobre el comando Traceroute

La verdad es que el comando Traceroute puede resultar algo confuso cuando estamos comenzando a analizar las redes y si no tenemos demasiada experiencia con él. Por eso vamos a ver algunas preguntas frecuentes que podrías estar planteándote.

¿Traceroute funciona en todas las redes?

No necesariamente, porque depende mucho de cómo estén configurados cada uno de los nodos por los que pasan los paquetes. Infelizmente para los usuarios del comando, algunas redes bloquean los paquetes ICMP o UDP, por lo que hace inservible el Traceroute a partir de ellos. 

¿Cuál es la diferencia entre Traceroute y Pathping?

Traceroute se enfoca en rastrear la ruta de los paquetes, tal como hemos explicado. Por su parte, Pathping combina este rastreo con análisis detallados de pérdida de paquetes y latencia, realizando el ping sobre los servidores intermedios. Con ello podemos conseguir más información útil.

¿Por qué algunos saltos aparecen como «*» en Traceroute?

Esto ya lo hemos explicado, pero es una pregunta muy frecuente. Simplemente ocurre cuando un nodo no responde dentro del tiempo establecido. Como hemos dicho, simplemente puede que esté detrás de un firewall o que esté bloqueando las solicitudes ICMP o UDP.

¿Es Traceroute útil para usuarios no técnicos?

Sí. Los datos pueden ser reveladores para cualquier persona. Solo con saber lo que hemos explicado anteriormente. Sin embargo, para interpretar los resultados de manera precisa sí es imprescindible tener alguna experiencia en la administración de redes.

¿Cómo interpretar errores o resultados incompletos en Traceroute?

A veces puede ser difícil interpretar la salida para reconocer errores, o simplemente distinguirlos de resultados incompletos.

Por ejemplo, los asteriscos pueden deberse a causas posibles como un bloqueo de las respuestas ICMP o UDP, o un destino final que no responde. También puede deberse a una simple congestión de red temporal. Por ejemplo, saltos incompletos al final del Traceroute podría tener una posible causa por el bloqueo de las respuestas ICMP o por un firewall. 

Es por ello que es importante tener un poco de experiencia para saber identificar los posibles casos. Además, un alto tiempo de latencia no siempre significa que un punto esté congestionado, puede simplemente que esté priorizando otros tipos de tráfico de red.  Por eso, es importante combinar estos resultados con otros comandos o herramientas que tengas a mano.

Fernán García de Zúñiga

Productos relacionados: