Al utilizar Internet, es muy fácil olvidar que hay muchas partes y servidores en funcionamiento que ayudan a mantener viva la World Wide Web. Cada paquete que envías, desde un mensaje de chat hasta una foto de un gato, tiene que viajar a través de intercambios y servidores para llegar a su destino.
Desafortunadamente, nada le recuerda mejor esta configuración que cuando ya no puede conectarse a un sitio web. La causa puede estar en algún lugar de su lado, del lado del sitio web o en algún punto intermedio. Y la mejor manera de descubrir dónde está el problema es mediante Traceroute.
¿Qué es Traceroute?
Traceroute es una forma de rastrear la ruta que toman sus paquetes de datos a medida que avanzan por Internet. Cada sistema operativo moderno puede trazar una ruta.
Cuando inicia un Traceroute, le indica a qué sitio web o servidor desea rastrear una ruta. Normalmente, esta es la URL de un sitio web al que estás intentando acceder, pero también puedes proporcionarle una dirección IP si lo deseas.
Una vez que haya iniciado Traceroute, enviará paquetes hacia su destino establecido. Luego registra los viajes del paquete y envía la información a su PC, que luego le muestra hacia dónde se dirigen.
Esto es realmente útil si intentas encontrar una falla en la red. Si un servidor o intercambio no funciona, Traceroute encontrará el problema e informará que algo no funciona correctamente. Luego podrá utilizar esta información para diagnosticar mejor lo que está fallando.
¿Cómo funciona Traceroute?
Traceroute es una forma práctica de diagnosticar errores de red. Sin embargo, la invención de Traceroute se debe a un ingenioso exploit que utiliza la variable «Tiempo de vida» de un paquete.
¿Qué es el «tiempo de vida» de un paquete?
Lo ideal es que cuando una computadora envía un paquete de un lugar a otro, llegue allí sin ningún problema. Toma la ruta más rápida posible desde el punto A al punto B y no se atasca ni se retrasa.
Desafortunadamente, las redes pueden ser complicadas. Si un ingeniero comete un error al configurar un servidor, es posible que los paquetes se envíen en un bucle infinito entre servidores. Y si eso sucede con demasiada frecuencia, una red puede llenarse de paquetes dando vueltas y vueltas para siempre.
Las mentes inteligentes detrás del paquete de datos idearon una solución para solucionar este problema, llamada «tiempo de vida» o «TTL». A cada paquete, antes de enviarlo hacia lo desconocido, se le asigna un número mayor que 0 como valor TTL. Si este valor alguna vez llega a 0, el paquete se considera «muerto» y se destruye.
Cuando el paquete se envía en su viaje, realizará varias paradas en diferentes servidores. Cada vez que llega a un servidor, resta uno de su valor TTL. Por lo general, este valor TTL se establece en un número en el que el paquete tiene tiempo más que suficiente para llegar a su destino antes de llegar a 0. Sin embargo, si el paquete entra en un bucle, el TTL eventualmente disminuirá hasta que el paquete caduque.
Cuando un paquete caduca, el servidor con el que termina envía lo que se llama un mensaje de «Tiempo ICMP excedido» a casa. Esto es esencialmente un aviso de que el paquete ha desaparecido prematuramente y le dice al usuario dónde expiró el paquete para ayudar con la resolución de problemas.
Cómo el tiempo de vida de un paquete permitió que Traceroute funcionara
Este mensaje de tiempo excedido de ICMP es la clave para que Traceroute funcione. Para comenzar, Traceroute envía un paquete con un TTL establecido en 1. Esto significa que sale de su PC, llega al primer servidor, resta uno de su TTL, nota que tiene un TTL de 0 y caduca.
El servidor que maneja el paquete en ese momento envía un mensaje ICMP de tiempo excedido a su PC, junto con su ubicación. Luego, su PC registra la ubicación del servidor como primer paso hacia su objetivo.
Luego envía un paquete con un TTL configurado en 2, 3, y así sucesivamente hasta que el paquete llegue a su destino. Cada paquete caducará en el siguiente paso del pasaje, y cada servidor a lo largo del camino informará el paquete caducado, dándole a su PC la información que necesita para saber a dónde van sus paquetes.
¿Para qué se utiliza Traceroute?
En un nivel básico, Traceroute le permite echar un vistazo a cómo se mueven los paquetes por una red. Si usted es un ingeniero de redes que verifica dos veces para ver que todo fluye como debería, o simplemente está interesado en cómo viajan sus paquetes cuando visita Google, Traceroute es el camino a seguir.
Sin embargo, también es útil para detectar errores en el sistema. Si Traceroute intenta comunicarse con un servidor que no responde, notará que el paquete que envió no ha generado una respuesta por un tiempo. Una vez que ha pasado suficiente tiempo, Traceroute declara que la «solicitud expiró», lo que significa que la respuesta no llegó en el tiempo asignado.
Por supuesto, una solicitud agotada no siempre significa que el servidor esté inactivo; A veces, al servidor no le gustan las solicitudes de Traceroute y las bloquea a medida que llegan. Pero si está relativamente seguro de que ningún servidor de la cadena debería bloquear un Traceroute, es una buena manera de diagnosticar un sitio web o servidor que no responde cuando intenta conectarse.
¿Cuál es la diferencia entre Traceroute y Ping?
Los lectores técnicamente expertos notarán que Traceroute suena muy similar a otra útil herramienta de networking, Ping. Sin embargo, si bien las dos funciones se superponen un poco, las personas las usan por diferentes motivos.
Como cubrimos anteriormente, Traceroute le ayuda a determinar a dónde va un paquete una vez que sale de su PC. Mientras tanto, Ping le indica si su PC puede llegar a un servidor específico y cuánto tiempo lleva llegar allí.
Como tal, si desea ver cada parte de la cadena de la red, Traceroute es el lugar indicado. Mientras tanto, si solo desea ver si un servidor responde, puede hacerle ping. Por supuesto, también puedes hacer eso con Traceroute, pero tendrás que esperar un tiempo hasta que finalmente llegue a tu servidor antes de obtener la respuesta que estás buscando.
Cómo realizar una ruta de seguimiento
Como dijimos anteriormente, todos los principales sistemas operativos pueden realizar un Traceroute. Es tan fácil como abrir una terminal de comando e ingresar el comando Traceroute.
Para macOS, solo necesita abrir Terminal y escribir «traceroute», seguido de la URL o dirección IP del destino. Es lo mismo en Linux, pero es posible que primero necesites instalar Traceroute antes de poder ejecutarlo.
En los sistemas operativos Windows, funciona de la misma manera, excepto que la función se llama «tracert». Cubrimos tracert y otros comandos en nuestra guía sobre comandos para administrar redes inalámbricas en Windows, así que asegúrese de leerla si desea conocer las herramientas a su disposición.
Seguimiento de sus paquetes con Traceroute
Si desea ver adónde van sus paquetes después de que salen de su PC, Traceroute es el camino a seguir. Ya sea que desee diagnosticar un problema de red o simplemente tenga curiosidad por ver hacia dónde se dirigen sus paquetes, es fácil configurar uno y observar cómo van los datos.