Explora Internet con Traceroute
Es posible tener problemas de conexión la hora de acceder a un servidor o cualquier máquina conectada a Internet y externa a nuestra red. Puede que el servidor en cuestión esté caído o puede que sea inaccesible. Para comprobar si podemos llegar a él, podemos utilizar por ejemplo el programa ping. Otra opción es usar traceroute.
¿Qué es Traceroute?
Es un programa disponible para Windows (llamado Tracert), GNU/Linux y Mac que permite conocer la ruta seguida por los paquetes que van desde un host origen a un host destino. Ofrece datos como la latencia de la red o estadísticas de RTT (Round-Trip delay Time).
RTT es el tiempo que tarda un paquete en ir y volver de un host origen a un host destino, es decir, el tiempo de ida y vuelta. Este muy utilizado en el mundo de las redes.
Cómo ejecutarlo
Antes de nada, vamos a realizar un ejemplo de uso. Los resultados que obtenga yo no tienen por qué ser los mismos que los vuestros. De hecho, lo más probable es que no se parezcan mucho.
Linux
$ traceroute www.google.com traceroute to www.google.com (173.194.45.209), 30 hops max, 60 byte packets 1 192.168.0.1 (192.168.0.1) 7.150 ms 7.143 ms 7.135 ms 2 static-10-0-235-87.ipcom.comunitel.net (87.235.0.10) 7.133 ms 7.785 ms 7.787 ms 3 172.29.8.106 (172.29.8.106) 7.096 ms * * 4 * * * 5 * * * 6 * * * 7 ae1-xcr1.max.cw.net (195.2.30.85) 6.541 ms 7.497 ms 5.894 ms 8 195.2.22.234 (195.2.22.234) 6.476 ms 6.468 ms 6.441 ms 9 * 209.85.252.150 (209.85.252.150) 7.550 ms 7.528 ms 10 216.239.50.27 (216.239.50.27) 7.190 ms 7.192 ms 7.185 ms 11 mad06s10-in-f17.1e100.net (173.194.45.209) 8.184 ms 8.186 ms 7.992 ms
Windows
C:\> tracert www.google.com
Mac
Vamos a Aplicaciones->Utilidades->Utilidad de red->Traceroute. Insertamos la IP o nombre de dominio y obtendremos la salida del comando.
Fundamentos de Traceroute
Una vez hemos visto qué obtenemos como salida, vamos a pasar a analizarla: el número de la primera columna (1, 2, 3...) es el número de salto del paquete. A continuación, muestra el nombre de dominio y la dirección IP. Finalmente tenemos 3 tiempos, que corresponden al tiempo de respuesta para los paquetes enviados. Puede que en lugar de un tiempo obtengamos un asterisco (*), que querrá decir que el destino es inaccesible o que simplemente no responde a pings.
La cabecera IP contiene un campo de 8 bits llamado TTL (Time To Live o Tiempo de vida), que es utilizado en redes para indicar el número máximo de nodos por los que puede pasar un paquete antes de ser descartado. Esto tiene como objetivo que un paquete no esté dando vueltas indefinidamente por la red. Pero, ¿qué tiene que ver esto con Traceroute? El TTL es utilizado en traceroute para averiguar por qué nodos ha pasado el paquete mandado. Primero manda un paquete con TTL=1. Cuando llegue al siguiente nodo (en mi caso 192.168.0.1), tendrá TTL=0 porque se le resta un salto. Al tener TTL=0, el nodo descarta el paquete y manda un mensaje de error al origen (nosotros), que se utiliza para saber la IP de dicho nodo (192.168.0.1). A continuación, como ya sabemos el primer salto que da nuestro paquete, mandamos otro con TTL=2 para conocer el siguiente salto, que es el nodo 2 (87.235.0.10). Este proceso se sigue hasta que el paquete llega al destino (google.com). En caso de que el paquete nunca llegue a su destino, obtendremos el asterisco que he mencionado antes.
De esta manera, conocemos el camino que realiza un paquete desde nuestro equipo al host destino y, si tenemos algún problema, ya sabemos dónde está. Si el paquete se queda en un nodo a mitad de camino, es posible que el problema esté en ese nodo y no en nuestro ordenador.