Conceptos generales
El comando Traceroute, también conocido como tracert en Windows, es una herramienta de diagnóstico de red que se utiliza para rastrear la ruta que toma un paquete de datos desde un origen hasta su destino final en Internet. Esta herramienta es muy útil para identificar posibles problemas de red, como latencia alta o paquetes perdidos.
En el proceso de rastreo de la ruta, el comando Traceroute envía una serie de paquetes de datos a través de la red, y cada paquete incluye un número de TTL (Time To Live) que comienza con un valor de 1. Cada vez que un paquete llega a un nodo de la red, el nodo disminuye el valor de TTL en 1 antes de reenviar el paquete. Cuando el valor de TTL llega a 0, el paquete es descartado y el nodo envía un mensaje de “time exceeded” al origen, indicando que el paquete no pudo llegar a su destino y que se ha excedido el tiempo permitido.
El comando Traceroute repite este proceso para cada nodo en la ruta hasta que el paquete llega a su destino final. Al final del proceso, el comando Traceroute muestra una lista de los nodos en la ruta, junto con la dirección IP de cada nodo y el tiempo de respuesta que tomó para que el paquete llegara a ese nodo.
Secuencia detallada del paquete
El funcionamiento detallado del comando Traceroute se lo puede expresar de la siguiente manera:
- El comando Traceroute envía un paquete de datos con un valor de TTL inicial de 1 al destino final.
- El primer nodo en la ruta del paquete recibirá el paquete, disminuirá el valor de TTL en 1 y enviará una respuesta de “tiempo excedido” (TTL expired) al origen.
- El origen recibirá la respuesta de “tiempo excedido” y registrará la dirección IP del primer nodo.
- El comando Traceroute enviará otro paquete de datos con un valor de TTL de 2 al destino final.
- El segundo nodo en la ruta del paquete recibirá el paquete, disminuirá el valor de TTL en 1 y enviará una respuesta de “tiempo excedido” al origen.
- El origen recibirá la respuesta de “tiempo excedido” y registrará la dirección IP del segundo nodo.
- Este proceso se repetirá para cada nodo en la ruta del paquete, incrementando el valor de TTL en cada iteración hasta que el paquete alcance el destino final.
- Una vez que el paquete llega al destino final, el comando Traceroute muestra la ruta completa del paquete, incluyendo la dirección IP y el tiempo de respuesta de cada nodo en la ruta.
Cual es el comando en MikroTik RouterOS
para un ejemplo de cómo utilizar el comando Traceroute en un Mikrotik RouterOS, se pueden seguir los siguientes pasos:
Acceder a la interfaz del router Mikrotik y abrir la consola de comandos.
Ingresar el comando Traceroute seguido de la dirección IP o el nombre de dominio del destino al que se desea rastrear la ruta. Por ejemplo, para rastrear la ruta hacia el sitio web de Google, se podría utilizar el siguiente comando:
[admin@MikroTik] > tool traceroute google.com
Esperar a que se complete el proceso de rastreo de la ruta. Dependiendo de la cantidad de nodos en la ruta y la latencia de la red, este proceso puede tomar unos pocos segundos o varios minutos.
Revisar los resultados del comando Traceroute. La salida del comando mostrará una lista de todos los nodos en la ruta hacia el destino, junto con la dirección IP de cada nodo y el tiempo de respuesta que tomó para llegar a ese nodo. Por ejemplo:
ADDRESS STATUS
1 192.168.1.1 1ms 1ms 1ms
2 10.0.0.1 5ms 5ms 5ms
3 200.10.0.1 10ms 10ms 10ms
4 200.10.1.1 15ms 15ms 15ms
5 200.10.2.1 20ms 20ms 20ms
6 200.10.3.1 25ms 25ms 25ms
7 8.8.8.8 30ms 30ms 30ms
[admin@MikroTik] >
En este ejemplo, se puede observar que el paquete de datos pasó por seis nodos diferentes antes de llegar al destino final (8.8.8.8).
Diferencia entre el Traceroute de Linux y el Tracert de windows
Hay algunas diferencias clave entre los dos comandos:
Sintaxis del comando: la sintaxis del comando Traceroute de Linux y el comando Tracert de Windows es ligeramente diferente. En Linux, el comando se escribe como “traceroute”, mientras que en Windows se escribe como “tracert”.
Opciones de comando: el comando Traceroute de Linux y el comando Tracert de Windows tienen diferentes opciones de comando. Por ejemplo, en Linux, el comando Traceroute admite opciones como -I para especificar el uso de ICMP en lugar de UDP, mientras que en Windows, el comando Tracert admite opciones como -h para especificar el número máximo de saltos.
Formato de salida: el formato de salida del comando Traceroute de Linux y el comando Tracert de Windows también es diferente. En Linux, el comando Traceroute muestra la dirección IP y el tiempo de respuesta de cada nodo en la ruta, mientras que en Windows, el comando Tracert muestra el nombre de cada nodo y el tiempo de respuesta.
Funcionalidad avanzada: el comando Traceroute de Linux es capaz de realizar rastreos de ruta más avanzados, como rastreos de ruta inversos y rastreos de ruta múltiples. Además, el comando Traceroute de Linux es más personalizable que el comando Tracert de Windows, permitiendo al usuario especificar el puerto y el tamaño del paquete.
En resumen, aunque ambos comandos son similares en su funcionalidad básica, existen algunas diferencias significativas en la sintaxis del comando, opciones de comando, formato de salida y funcionalidad avanzada.
Ejemplo del comando en Linux
traceroute google.com
1 192.168.1.1 (192.168.1.1) 1.107 ms 1.237 ms 1.353 ms
2 10.255.255.1 (10.255.255.1) 14.527 ms 14.622 ms 14.719 ms
3 172.16.1.1 (172.16.1.1) 25.817 ms 25.912 ms 26.005 ms
4 172.16.2.1 (172.16.2.1) 38.320 ms 38.414 ms 38.505 ms
5 203.208.222.125 (203.208.222.125) 38.601 ms 37.301 ms 37.392 ms
6 72.14.195.12 (72.14.195.12) 60.225 ms 60.318 ms 60.415 ms
7 108.170.247.65 (108.170.247.65) 61.424 ms 61.511 ms 61.605 ms
8 108.170.235.225 (108.170.235.225) 62.719 ms 62.814 ms 62.908 ms
9 108.170.232.193 (108.170.232.193) 63.016 ms 63.103 ms 63.197 ms
10 74.125.244.16 (74.125.244.16) 63.300 ms 63.386 ms 63.480 ms
11 172.253.50.138 (172.253.50.138) 64.685 ms 64.781 ms 64.877 ms
12 172.253.66.7 (172.253.66.7) 65.122 ms 65.217 ms 65.314 ms
13 172.253.50.246 (172.253.50.246) 66.493 ms 66.587 ms 66.680 ms
14 74.125.252.128 (74.125.252.128) 66.879 ms 66.965 ms 67.058 ms
15 216.58.214.142 (216.58.214.142) 67.252 ms 67.365 ms 67.454 ms
Ejemplo del comando en Windows
tracert google.com
Tracing route to google.com [172.217.12.142]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.1.1
2 17 ms 17 ms 18 ms 10.255.255.1
3 27 ms 27 ms 27 ms 172.16.1.1
4 40 ms 40 ms 40 ms 172.16.2.1
5 38 ms 37 ms 37 ms 203.208.222.125
6 59 ms 59 ms 59 ms 108.170.247.65
7 61 ms 61 ms 61 ms 108.170.235.225
8 63 ms 63 ms 63 ms 108.170.232.193
9 64 ms 64 ms 64 ms 74.125.244.16
10 67 ms 67 ms 67 ms 172.253.50.138
11 67 ms 67 ms 67 ms 172.253.66.7
12 69 ms 69 ms 69 ms 172.253.50.246
13 66 ms 66 ms 66 ms 74.125.252.128
14 66 ms 66 ms 66 ms 216.58.214.142
Trace complete.
Cuál es mejor?
En general, ambos comandos (traceroute
y tracert
) son útiles para rastrear problemas de red y diagnosticar problemas de conectividad. La elección de cuál usar dependerá de los sistemas operativos y de las preferencias personales.
En cuanto a las características específicas, traceroute
en Linux ofrece más opciones y características avanzadas que tracert
en Windows, como el soporte para protocolos UDP y TCP, y la capacidad de personalizar el tiempo de espera y el número de saltos. Sin embargo, tracert
en Windows es más fácil de usar y puede proporcionar información más clara y legible en algunos casos.
En resumen, ambas herramientas tienen sus fortalezas y debilidades, y la elección de una u otra dependerá del uso específico y de las preferencias personales.