Solución de problemas de latencia de red con Wireshark

La latencia de la red es el retraso en la transmisión de solicitudes o datos desde el origen al destino en un ecosistema de red. Veamos cómo puede solucionar problemas de 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 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 esta solicitud.

Este retraso de tiempo también incluye el tiempo que tarda un servidor en completar la solicitud. Como resultado, se define como el viaje ida y vuelta - el tiempo que tarda el usuario en registrar, procesar y luego recibir una solicitud, donde se descodifica.

El término "baja latencia" se refiere a retrasos en la transferencia de datos que son relativamente cortos. Por otro lado, los retrasos prolongados o la latencia excesiva son indeseables ya que degradan la experiencia del usuario.

¿Cómo corregir la latencia de la red?

Hay muchas herramientas y software disponibles en Internet para analizar y solucionar problemas una red. Algunos son de pago y otros son gratuitos. Sin embargo, existe una herramienta llamada Wireshark, que es una aplicación de código abierto y con licencia GPL que se utiliza para capturar los paquetes de datos en tiempo real. Wireshark es el analizador de protocolos de red más popular y más utilizado del mundo.

Le ayudará a capturar paquetes de red y mostrarlos en detalle. Puede utilizar estos paquetes para análisis en tiempo real o fuera de línea una vez que detecta los paquetes de red. Esta aplicación le permite examinar el tráfico de su red bajo un microscopio, filtrar y profundizar en él para encontrar el origen de los problemas, ayudar con el análisis de la red y, en última instancia, la seguridad de la red.

¿Qué causa el retraso de la red?

Pocas razones principales para lento conectividad de red que incluye:

Y en este artículo, examinamos cada causa de retraso en la red y cómo resolver los problemas con Wireshark.

Examinando con Wireshark

High Latency

La latencia alta se refiere al tiempo que tardan los datos en pasar de un punto final a otro. El impacto de la alta latencia en las comunicaciones de red es enorme. En el siguiente diagrama, observamos el tiempo de ida y vuelta de la descarga de un archivo en una ruta de alta latencia como ejemplo. El tiempo de latencia de ida y vuelta a menudo puede exceder un segundo, lo cual es inaceptable.

wirehark4

Wireshark se utiliza para calcular el tiempo de ida y vuelta en una ruta para ver si esta es la causa de un rendimiento defectuoso de la red de comunicaciones del Protocolo de control de transmisión (TCP). TCP se utiliza en varias aplicaciones, incluida la navegación en línea, la transmisión de datos, protocolo de transferencia de archivos, y muchos otros. En muchos casos, el sistema operativo se puede modificar para que funcione de manera más eficaz en canales de alta latencia, especialmente cuando los hosts utilizan Windows XP.

Application Dependencies

Algunas aplicaciones dependen de otras aplicaciones, procesos o comunicaciones del host. Suponga que su aplicación de base de datos, por ejemplo, se basa en conectarse a otros servidores para buscar elementos de la base de datos. En ese caso, un rendimiento lento en esos otros servidores puede afectar 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 hace referencia a varios otros sitios web. Por ejemplo, para cargar la página principal del sitio, www.espn.com, primero debe visitar 16 hosts que proporcionan anuncios y contenido para la página principal www.espn.com.

wirehark-3

En la figura anterior, el HTTP La ventana Distribución de carga en Wireshark muestra una lista de todos los servidores utilizados por la página de inicio de www.espn.com.

Packet loss

Uno de los problemas más frecuentes que encuentro en las redes es la pérdida de paquetes. Paquete perdido ocurre 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 comienza a descargar los elementos del sitio, los paquetes perdidos provocan retransmisiones, lo que aumenta la posibilidad de descargar los archivos web y ralentiza el proceso general de descarga.

Además, cuando una aplicación utiliza TCP, los paquetes que faltan tienen un impacto particularmente negativo. Cuando una conexión TCP detecta un paquete caído, la tasa de rendimiento se ralentiza automáticamente para compensar los problemas de la red.

Mejora gradualmente a un ritmo más aceptable hasta que se descarta el siguiente paquete, lo que resulta en una reducción significativa en el rendimiento de los datos. Las descargas de archivos grandes, que de otro modo deberían fluir fácilmente a través de una red, sufren significativamente la pérdida de paquetes.

¿Cómo se ve cuando se pierde un paquete? Es discutible. La pérdida de paquetes puede tomar dos formas si el programa está operando a través de TCP. En un ejemplo, el receptor monitorea los paquetes basándose en sus números de secuencia y detecta un paquete faltante. El cliente realiza tres solicitudes para el paquete faltante (confirmaciones dobles), lo que resulta en un reenvío. Cuando un remitente observa que un receptor no ha confirmado la recepción de un paquete de datos, el remitente agota el tiempo de espera y retransmite el paquete de datos.

Wireshark

Wireshark indica que se ha producido una congestión en la red y varios reconocimientos provocan la retransmisión del tráfico problemático mediante un código de colores. Un gran número de confirmaciones duplicadas indica la pérdida de paquetes y un retraso significativo en una red.

Para mejorar la velocidad de la red, es fundamental identificar el sitio exacto de la pérdida de paquetes. Cuando ocurre la pérdida de paquetes, movemos el Wireshark por la ruta hasta que no se ve más pérdida de paquetes. Estamos "aguas arriba" del punto de caída de paquetes en este momento, por lo que sabemos dónde enfocar nuestros esfuerzos de depuración.

Intercepting Devices

Los policías de tráfico de red son dispositivos de interconexión que toman decisiones de reenvío, como conmutadores, enrutadores y cortafuegos. Cuando se produce la pérdida de paquetes, estos dispositivos deben investigarse como una razón probable.

Estos dispositivos de enlace pueden agregar latencia a la ruta. Por ejemplo, si la priorización del tráfico está habilitada, podemos presenciar una latencia adicional inyectada en una transmisión con un nivel de prioridad bajo.

Inefficient Window sizes

Aparte del sistema operativo de Microsoft, hay otras "ventanas" en las redes TCP / IP.

Estas ventanas juntas constituyen el rendimiento de la comunicación basada en TCP de la red. Comencemos por definir cada una de estas ventanas y su impacto en el ancho de banda de la red.

Ventana deslizante

A medida que se reconocen los datos, la ventana deslizante se utiliza para difundir los siguientes segmentos de TCP a través de la red. El remitente recibe acuse de recibo de los fragmentos de datos transmitidos, la ventana deslizante se expande. Siempre que no haya transmisiones perdidas en el a las, se pueden transferir grandes cantidades de datos. Cuando se pierde un paquete, la ventana deslizante se reduce porque la red no puede administrar la mayor cantidad de datos en la línea.

Ventana del receptor

La ventana del receptor de la pila TCP es un espacio de búfer. Cuando se reciben datos, se almacenan en este espacio de búfer hasta que una aplicación los recoge. La ventana del receptor se llena cuando una aplicación no se mantiene al día con la tasa de recepción, lo que eventualmente conduce 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 Escalado de ventana (RFC 1323) permite que un host aumente el tamaño de la ventana del receptor y reduzca la probabilidad de un escenario de ventana cero.

wirehark2

La imagen de arriba 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 la red puede manejar. La tasa de transmisión de paquetes del remitente, la tasa de pérdida de paquetes de la red y el tamaño de la ventana del receptor contribuyen a esta cifra. La ventana de congestión aumenta constantemente durante una comunicación de red saludable hasta que se completa la transferencia o alcanza un "techo" establecido por la salud de la red. Las capacidades de transmisión del remitente 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 saludable

Terminando 👨‍🏫

Hemos pasado por las principales razones de 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 red al igual que los rayos X, y los escáneres CAT ofrecen visibilidad del cuerpo humano para diagnósticos precisos y rápidos. Esta herramienta se ha convertido en una herramienta 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 usando Wireshark. 👍