La latencia de red es el retraso en la transmisión de peticiones o datos desde el origen al destino en un ecosistema de red. Veamos cómo puede solucionar los problemas de latencia de la red.
Cualquier acción que requiera el uso de la red, como abrir una página web, hacer clic en un enlace o abrir una aplicación y jugar a un juego en línea, se denomina actividad. La actividad de un usuario es la solicitud, y el tiempo de respuesta de una aplicación web es el tiempo que tarda en responder a esta solicitud.
Este tiempo de respuesta también incluye el tiempo que tarda un servidor en completar la solicitud. Como resultado, se define como el viaje de ida y vuelta: el tiempo que tarda una solicitud en ser registrada, procesada y luego recibida por el usuario, donde es descodificada.
El término «baja latencia» se refiere a los retrasos en la transferencia de datos que son relativamente cortos. En cambio, los retrasos largos o la latencia excesiva son indeseables, ya que degradan la experiencia del usuario.
¿Cómo solucionar la latencia de la red?
Hay muchas herramientas y software disponibles en Internet para analizar y solucionar los problemas de una red. Algunas son de pago y otras son gratuitas. Sin embargo, existe una herramienta llamada Wireshark, que es una aplicación de código abierto y con licencia GPL utilizada para capturar los paquetes de datos en tiempo real. Wireshark es el analizador de protocolos de red más popular y utilizado del mundo.
Le ayudará a capturar paquetes de red y mostrarlos en detalle. Una vez que capture los paquetes de red, podrá utilizarlos para realizar análisis en tiempo real o fuera de línea. Esta aplicación le permite examinar el tráfico de su red bajo un microscopio, filtrándolo y profundizando en él para encontrar el origen de los problemas, ayudándole en el análisis de la red y, en última instancia, en la seguridad de la misma.
¿Qué causa el retraso en la red?
Algunas de las principales razones de la lentitud de la conectividad de red son :
- Alta latencia
- Dependencias de las aplicaciones
- Pérdida de paquetes
- Dispositivos interceptores
- Tamaños de ventana ineficaces
Y en este artículo, examinamos cada una de las causas del retardo de la red y cómo resolver los problemas con Wireshark.
Examinando con Wireshark
Alta latencia
La alta latencia se refiere al tiempo que tardan los datos en transitar de un extremo a otro. El impacto de la alta latencia en las comunicaciones de red es enorme. En el diagrama siguiente, observamos como ejemplo el tiempo de ida y vuelta de la descarga de un archivo en una ruta de alta latencia. El tiempo de latencia de ida y vuelta puede superar a menudo el segundo, lo que es inaceptable.
- Vaya a Estadísticas Wireshark.
- Seleccione la opción Gráfico de flujo TCP.
- Elija el gráfico Tiempo de ida y vuelta para saber cuánto tarda en descargarse un archivo.
Wireshark se utiliza para calcular el tiempo de ida y vuelta en una ruta para ver si ésta es la causa de un rendimiento deficiente de la red de comunicaciones del Protocolo de Control de Transmisión (TCP). El TCP se utiliza en diversas aplicaciones, como la navegación en línea, la transmisión de datos, el protocolo de transferencia de archivos y muchas otras. En muchos casos, el sistema operativo puede ajustarse para que funcione con mayor eficacia en canales de alta latencia, sobre todo cuando los hosts utilizan Windows XP.
Dependencias de las aplicaciones
Algunas aplicaciones dependen de otras aplicaciones, procesos o comunicaciones del host. Suponga que su aplicación de base de datos, por ejemplo, depende de la conexión con otros servidores para obtener elementos de la base de datos. En ese caso, un rendimiento lento en esos otros servidores puede perjudicar el tiempo de carga de la aplicación local.
Tomemos, por ejemplo, una experiencia de navegación web en la que el servidor de destino remite a varios otros sitios web. Por ejemplo, para cargar la página principal del sitio, www.espn.com, primero hay que visitar 16 hosts que suministran anuncios y contenidos para la página principal www.espn.com.
En la figura anterior, la ventana Distribución de carga HTTP de Wireshark muestra una lista de todos los servidores utilizados por la página principal www.espn.com.
Pérdida de paquetes
Uno de los problemas más frecuentes que encuentro en las redes es la pérdida de paquetes. La pérdida de paquetes se produce cuando los paquetes de datos no se entregan correctamente del remitente al destinatario a través de Internet. Cuando un usuario visita una página web y comienza a descargar los elementos de la misma, los paquetes perdidos provocan retransmisiones, lo que aumenta el tiempo necesario para descargar los archivos de la web y ralentiza el proceso general de descarga.
Además, cuando una aplicación utiliza TCP, los paquetes perdidos tienen un impacto especialmente negativo. Cuando una conexión TCP detecta un paquete perdido, la tasa de rendimiento disminuye automáticamente para compensar los problemas de la red.
Mejora gradualmente hasta alcanzar un ritmo más aceptable hasta que se pierde el siguiente paquete, lo que provoca una reducción significativa del caudal de datos. Las descargas de archivos de gran tamaño, que en otras circunstancias deberían fluir con facilidad a través de una red, sufren significativamente la pérdida de paquetes.
¿Qué aspecto tiene la pérdida de un paquete? Es discutible. La pérdida de paquetes puede adoptar dos formas si el programa funciona a través de TCP. En un ejemplo, el receptor supervisa los paquetes basándose en sus números de secuencia y detecta un paquete perdido. El cliente realiza tres peticiones del paquete que falta (doble acuse de recibo), lo que da lugar a un reenvío. Cuando un emisor observa que un receptor no ha confirmado la recepción de un paquete de datos, el emisor agota el tiempo de espera y retransmite el paquete de datos.
Wireshark indica que se ha producido una congestión en la red, y los acuses de recibo múltiples provocan la retransmisión del tráfico problemático mediante un código de colores. Un número elevado de acuses de recibo duplicados indica una pérdida de paquetes y un retraso significativo en una red.
Para mejorar la velocidad de la red, es fundamental localizar el lugar exacto de la pérdida de paquetes. Cuando se produce una pérdida de paquetes, desplazamos el Wireshark por la ruta hasta que ya no sea visible ninguna pérdida de paquetes. En este momento estamos «aguas arriba» del punto de caída del paquete, por lo que sabemos dónde centrar nuestros esfuerzos de depuración.
Dispositivos de interceptación
Los polis de tráfico de red son dispositivos de interconexión que toman decisiones de reenvío, como conmutadores, enrutadores y cortafuegos. Cuando se produce una pérdida de paquetes, estos dispositivos deben ser investigados como una razón probable.
Estos dispositivos de interconexión pueden añadir latencia a la ruta. Por ejemplo, si está activada la priorización del tráfico, podemos ser testigos de la latencia adicional inyectada en un flujo con un nivel de prioridad bajo.
Tamaños de ventana ineficaces
Aparte del sistema operativo de Microsoft, existen otras «ventanas» en las redes TCP/IP.
- Ventana deslizante
- Ventana del receptor
- Ventana de control de congestión
El conjunto de estas ventanas constituye el rendimiento de la comunicación basada en TCP de la red. Empecemos por definir cada una de estas ventanas y su impacto en el ancho de banda de la red.
Ventana deslizante
A medida que se acusa recibo de los datos, la ventana deslizante se utiliza para transmitir los siguientes segmentos TCP por la red. Cuando el remitente recibe acuses de recibo de los fragmentos de datos transmitidos, la ventana deslizante se amplía. Mientras no haya transmisiones perdidas en la red, se pueden transferir mayores cantidades de datos. Cuando se pierde un paquete, la ventana deslizante se reduce porque la red no puede gestionar la mayor cantidad de datos en la línea.
Ventana del receptor
La ventana del receptor de la pila TCP es un espacio de memoria intermedia. Cuando se reciben datos, se almacenan en este espacio intermedio hasta que una aplicación los recoge. La ventana del receptor se llena cuando una aplicación no sigue el ritmo de recepción, lo que acaba provocando un escenario de «ventana cero». Toda la transmisión de datos al host debe detenerse cuando un receptor anuncia una condición de ventana cero. La tasa de rendimiento cae a cero. Un método conocido como Window Scaling (RFC 1323) permite al host aumentar el tamaño de la ventana del receptor y reducir la probabilidad de que se produzca un escenario de ventana cero.
La imagen anterior muestra un retraso de 32 segundos en las comunicaciones de red debido a un escenario de ventana cero.
Ventana de congestión
La ventana de congestión define la cantidad máxima de datos que puede manejar la red. A esta cifra contribuyen la velocidad de transmisión de paquetes del emisor, la tasa de pérdida de paquetes de la red y el tamaño de la ventana del receptor. La ventana de congestión aumenta constantemente durante una comunicación de red sana hasta que se completa la transferencia o alcanza un «techo» establecido por la salud de la red. Las capacidades de transmisión del emisor o el tamaño de la ventana del receptor. Cada nueva conexión inicia de nuevo el procedimiento de negociación del tamaño de la ventana.
Consejos para una red sana
- Aprenda a utilizar Wireshark como tarea de primera respuesta para descubrir rápida y eficazmente la fuente de un rendimiento deficiente.
- Identifique la fuente de latencia de la ruta de red y, si es posible, redúzcala a un nivel aceptable.
- Localice y resuelva la fuente de pérdida de paquetes.
- Examine el tamaño de la ventana de transmisión de datos y, si es posible, redúzcalo.
- Examine el rendimiento de los dispositivos de interceptación para ver si añaden latencia o dejan caer paquetes.
- Optimice las aplicaciones para que puedan entregar mayores cantidades de datos y, si es posible, recuperar datos de la ventana del receptor.
Para terminar 👨🏫
Hemos repasado las principales razones de los problemas de rendimiento de la red, pero un factor que no debe pasarse por alto es la falta de comprensión del comportamiento de las comunicaciones de red. Wireshark proporciona visibilidad de la red al igual que los rayos X y los TAC ofrecen visibilidad del cuerpo humano para realizar diagnósticos precisos y rápidos. Esta herramienta se ha convertido en un instrumento vital para localizar y diagnosticar problemas de red.
Ahora debe examinar y resolver el rendimiento de la red mediante varios filtros y herramientas utilizando Wireshark. 👍