Puede usar el traceroute
comando de Linux para detectar el tramo lento del viaje de un paquete de red y solucionar problemas de conexiones de red lentas. ¡Te mostraremos cómo!
Cuando aprecias cómo traceroute
funciona, es mucho más fácil comprender los resultados. Cuanto más complicada sea la ruta que debe tomar un paquete de red para llegar a su destino, más difícil será determinar dónde podría estar ocurriendo alguna ralentización.
La red de área local (LAN) de una organización pequeña puede ser relativamente simple. Probablemente tendrá al menos un servidor y un enrutador o dos. La complejidad aumenta en una red de área amplia (WAN) que se comunica entre diferentes ubicaciones o a través de Internet. Su paquete de red luego encuentra (y es reenviado y enrutado por) una gran cantidad de hardware, como enrutadores y puertas de enlace .
Los encabezados de los metadatos de los paquetes de datos describen su longitud, de dónde provienen, adónde van, el protocolo que utilizan, etc. La especificación del protocolo define el encabezado. Si puede identificar el protocolo, puede determinar el inicio y el final de cada campo en el encabezado y leer los metadatos.
traceroute
utiliza el conjunto de protocolos TCP / IP y envía paquetes de Protocolo de datagramas de usuario . El encabezado contiene el campo Tiempo de vida (TTL), que contiene un valor entero de ocho bits. A pesar de lo que sugiere el nombre, representa un recuento, no una duración.
Un paquete viaja desde su origen hasta su destino a través de un enrutador. Cada vez que el paquete llega a un enrutador, disminuye el contador TTL. Si el valor TTL alguna vez llega a uno, el enrutador que recibe el paquete reduce el valor y nota que ahora es cero. Luego, el paquete se descarta y no se reenvía al siguiente salto de su viaje porque se agotó el tiempo de espera.
El enrutador envía un mensaje de tiempo excedido del protocolo de control de mensajes de Internet (ICMP) al origen del paquete para informarle que se agotó el tiempo de espera. El mensaje Tiempo excedido contiene el encabezado original y los primeros 64 bits de los datos del paquete original. Esto se define en la página seis de la Solicitud de comentarios 792 .
Entonces, si traceroute
envía un paquete, pero luego establece el valor TTL en uno, el paquete solo llegará hasta el primer enrutador antes de ser descartado. Recibirá un mensaje de tiempo ICMP excedido del enrutador y puede registrar el tiempo que tomó el viaje de ida y vuelta.
Luego repite el ejercicio con TTL establecido en 2, que fallará después de dos saltos. traceroute
aumenta el TTL a tres y vuelve a intentarlo. Este proceso se repite hasta que se alcanza el destino o se prueba el número máximo de saltos (30, por defecto).
Algunos enrutadores tienen errores. Intentan reenviar paquetes con un TTL de cero en lugar de descartarlos y generar un mensaje de tiempo excedido ICMP.
Según Cisco , algunos proveedores de servicios de Internet (ISP) limitan la velocidad del número de mensajes ICMP que transmiten sus enrutadores.
Algunos dispositivos están configurados para no enviar nunca paquetes ICMP. Esto a menudo es para garantizar que el dispositivo no pueda ser coaccionado involuntariamente para participar en una denegación de servicio distribuida , como un ataque pitufo .
traceroute
tiene un tiempo de espera predeterminado para respuestas de cinco segundos. Si no recibe una respuesta dentro de esos cinco segundos, se abandona el intento. Esto significa que se ignoran las respuestas de enrutadores muy lentos.
traceroute
ya estaba instalado en Fedora 31, pero debe instalarse en Manjaro 18.1 y Ubuntu 18.04. Para instalar traceroute
en Manjaro use el siguiente comando:
sudo pacman -Sy traceroute
Para instalar traceroute
en Ubuntu, use el siguiente comando:
sudo apt-get install traceroute
Como cubrimos anteriormente, el traceroute's
propósito es obtener una respuesta del enrutador en cada salto desde su computadora al destino. Algunos pueden ser callados y no revelar nada, mientras que otros probablemente derramarán los frijoles sin reparos.
A modo de ejemplo, vamos a correr una traceroute
al Castillo de Blarney página web en Irlanda, sede de la famosa piedra de Blarney . Cuenta la leyenda que si besas la Piedra de Blarney, serás bendecido con el «don de la palabra». Esperemos que los enrutadores que encontremos en el camino sean lo suficientemente locuaces.
Escribimos el siguiente comando:
traceroute www.blarneycastle.ie
La primera línea nos da la siguiente información:
traceroute
probará antes de rendirse.Todas las demás líneas contienen información sobre uno de los saltos. Sin embargo, antes de profundizar en los detalles, podemos ver que hay 11 saltos entre nuestra computadora y el sitio web del Castillo de Blarney. El salto 11 también nos dice que llegamos a nuestro destino.
El formato de cada línea de salto es el siguiente:
Repasemos lo que tenemos a continuación:
traceroute
agotó el tiempo.Entonces, fue una bolsa mixta. Algunos dispositivos jugaron a la pelota, algunos respondieron pero no nos dijeron sus nombres, y otros permanecieron completamente anónimos.
Sin embargo, llegamos al destino, sabemos que está a 11 saltos de distancia y el tiempo de ida y vuelta para el viaje fue de 13,773 y 14,715 milisegundos.
Como hemos visto, a veces incluir nombres de dispositivos conduce a una pantalla desordenada. Para que sea más fácil ver los datos, puede usar la -n
opción (sin mapeo).
Para hacer esto con nuestro ejemplo, escribimos lo siguiente:
traceroute -n blarneycastle.ie
Esto hace que sea más fácil seleccionar números grandes para tiempos de ida y vuelta que podrían indicar un cuello de botella.
Hop 3 está empezando a parecer un poco sospechoso. La última vez, solo respondió dos veces, y esta vez, solo respondió una vez. En este escenario, está fuera de nuestro control, por supuesto.
Sin embargo, si estuviera investigando su red corporativa, valdría la pena profundizar un poco más en ese nodo.
Quizás si ampliamos el tiempo de espera predeterminado (cinco segundos), obtendremos más respuestas. Para hacer esto, usaremos la -w
opción (tiempo de espera) para cambiarlo a siete segundos. (Tenga en cuenta que este es un número de punto flotante).
Escribimos el siguiente comando:
traceroute -w 7.0 blarneycastle.ie
Eso no hizo mucha diferencia, por lo que las respuestas probablemente se están agotando. Es probable que los saltos anónimos estén siendo deliberadamente reservados.
De forma predeterminada, traceroute
envía tres paquetes UDP a cada salto. Podemos usar la -q
opción (número de consultas) para ajustar esto hacia arriba o hacia abajo.
Para acelerar la traceroute
prueba, escribimos lo siguiente para reducir el número de paquetes de sondeo UDP que enviamos a uno:
traceroute -q 1 blarneycastle.ie
Esto envía una única sonda a cada salto.
Podemos establecer el valor inicial de TTL en algo diferente a uno y omitir algunos saltos. Por lo general, los valores TTL se establecen en uno para el primer conjunto de pruebas, dos para el siguiente conjunto de pruebas y así sucesivamente. Si lo configuramos en cinco, la primera prueba intentará llegar al salto cinco y omitir los saltos del uno al cuatro.
Como sabemos que el sitio web del Castillo de Blarney está a 11 saltos de esta computadora, escribimos lo siguiente para ir directamente al Salto 11:
traceroute -f 11 blarneycastle.ie
Eso nos da un informe agradable y condensado sobre el estado de la conexión con el destino.
traceroute
es una gran herramienta para investigar el enrutamiento de la red, verificar las velocidades de conexión o identificar cuellos de botella. Windows también tiene un tracert
comando que funciona de manera similar.
Sin embargo, no desea bombardear dispositivos desconocidos con torrentes de paquetes UDP y tenga cuidado de no incluirlos traceroute
en scripts o trabajos desatendidos.
La carga que se traceroute
puede colocar en una red puede afectar negativamente a su rendimiento. A menos que se encuentre en una situación de arreglarlo ahora, es posible que desee usarlo fuera del horario comercial normal.
El mundo del gaming ha experimentado un crecimiento exponencial en los últimos años. La…
Stokkete/Shutterstock.com ¿Sigue utilizando una unidad flash USB obsoleta para almacenar sus archivos? ¿Por qué no…
LG Los fabricantes siempre intentan mejorar el rendimiento de imagen de los monitores. Como resultado,…
Patty Chan/Shutterstock.com Si cree en lo que ve en las redes sociales, puede pensar en…
Seksan.TH/Shutterstock.com Los servicios de suscripción como Netflix, Game Pass y Spotify nos permiten consumir tantas…
fatmawati achmad zaenuri/Shutterstock El acceso a Internet, oa cualquier otra red, se rige por la…