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 se puede solucionar la latencia de 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 retardo también incluye el tiempo que tarda un servidor en completar la solicitud. En consecuencia, se define como el ida y vuelta - el tiempo que tarda una solicitud en ser registrada, procesada y, a continuación, 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?
Existen muchas herramientas y programas informáticos en Internet para análisis y resolución de problemas una red. Algunas son de pago y otras gratuitas. Sin embargo, existe una herramienta llamada Wiresharkque es una aplicación de código abierto y 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 captura los paquetes de red, puede 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.
¿Cuál es la causa del retraso en la red?
Algunas de las principales razones de la lento conectividad de red, incluido :
- Alta latencia
- Dependencias de la aplicación
- Pérdida de paquetes
- Dispositivos de interceptación
- Ventanas de tamaño ineficiente
Y en este artículo, examinamos cada una de las causas del retardo de la red y cómo resolver los problemas con Wireshark.
Examen 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, vemos 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 TCP stream graph.
- 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 defectuoso de la red de comunicaciones del Protocolo de Control de Transmisión (TCP). TCP se utiliza en diversas aplicaciones, como la navegación en línea o la transmisión de datos, protocolo de transferencia de archivosy muchos otros. En muchos casos, el sistema operativo puede ajustarse para que funcione mejor en canales de alta latencia, sobre todo cuando los hosts utilizan Windows XP.
Dependencias de la aplicación
Algunas aplicaciones dependen de otras aplicaciones, procesos o comunicaciones de host. Supongamos que su aplicación de base de datos, por ejemplo, depende de la conexión a 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 HTTP La ventana de distribución de carga en Wireshark muestra una lista de todos los servidores utilizados por la página de inicio 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. 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 un sitio web y empieza a descargar sus elementos, los paquetes perdidos provocan retransmisiones, lo que aumenta el tiempo necesario para descargar los archivos 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 rendimiento de los datos. Las descargas de archivos de gran tamaño, que en otras circunstancias deberían fluir con facilidad por la red, sufren considerablemente la pérdida de paquetes.
¿Qué parece cuando se pierde 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 controla 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 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, movemos el Wireshark a lo largo de la ruta hasta que deja de ser visible. En este momento estamos "aguas arriba" del punto de pérdida de paquetes, 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 investigarse como causa probable.
Estos dispositivos de enlace pueden añadir latencia a la ruta. Por ejemplo, si está activada la priorización del tráfico, podemos ser testigos de la latencia extra inyectada en un flujo con un nivel de prioridad bajo.
Ventanas ineficientes
Además del sistema operativo de Microsoft, existen otras "ventanas" en las redes TCP/IP.
- Ventana corredera
- 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 corredera
A medida que se acusa recibo de los datos, la ventana deslizante se utiliza para transmitir los siguientes segmentos TCP a través de 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 redDe este modo, 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 intermedio. Cuando se reciben datos, se almacenan en este espacio hasta que una aplicación los recoge. La ventana del receptor se llena cuando una aplicación no mantiene el ritmo de recepción, lo que lleva finalmente a 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 a un host aumentar el tamaño de la ventana del receptor y reducir la probabilidad de 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 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 de forma rápida y eficaz el origen de un rendimiento deficiente.
- Identifique la fuente de latencia de la ruta de red y, si es posible, redúzcala a un nivel aceptable.
- Localizar y resolver el origen de la 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 receptora.
Para terminar 👨🏫
Hemos repasado las principales razones problemas de rendimiento de la redpero 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 a través de varios filtros y herramientas utilizando Wireshark. 👍