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 hasta el 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 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 retraso de tiempo también incluye el tiempo que tarda un servidor en completar la solicitud. En consecuencia, se define como el viaje ida y vuelta – el tiempo que tarda una solicitud en ser registrada, procesada y luego recibida por el usuario, donde se decodifica.

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

¿Cómo arreglar la latencia de red?

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

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

¿Qué causa el retraso de la red?

Algunas de las principales razones de la conectividad de red lenta incluyen:

  • Alta latencia
  • Dependencias de la aplicación
  • Paquete perdido
  • Dispositivos de interceptación
  • Tamaños de ventana ineficientes

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

Examinando con Wireshark

Alta latencia

La latencia alta se refiere al tiempo que tardan los datos en transitar 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.

  • Vaya a Estadísticas de Wireshark.
  • Seleccione la opción Gráfico de flujo TCP.
  • Elija el gráfico de tiempo de ida y vuelta para averiguar cuánto tarda un archivo en descargarse.

Wireshark se utiliza para calcular el tiempo de ida y vuelta en una ruta para ver si esta es la causa del 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, el protocolo de transferencia de archivos y muchas otras. En muchos casos, el sistema operativo se puede ajustar para que funcione de manera más efectiva en canales de alta latencia, especialmente cuando los hosts usan Windows XP.

Dependencias de la aplicación

Algunas aplicaciones dependen de otras aplicaciones, procesos o comunicaciones de host. Suponga que su aplicación de base de datos, por ejemplo, se basa en conectarse a otros servidores para obtener elementos de la base de datos. En ese caso, el 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 suministran anuncios y contenido para la página principal de www.espn.com.

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

Paquete perdido

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

Además, cuando una aplicación usa TCP, los paquetes faltantes tienen un impacto particularmente negativo. Cuando una conexión TCP detecta un paquete descartado, 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 da como resultado una reducción significativa en el rendimiento de 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 supervisa los paquetes en función de sus números de secuencia y detecta un paquete que falta. El cliente realiza tres solicitudes por el paquete que falta (acuses de recibo 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 expira y retransmite el paquete de datos.

Wireshark indica que se ha producido una congestión en la red y varios reconocimientos provocan la retransmisión del tráfico problemático al codificarlo por colores. Una gran cantidad de reconocimientos duplicados indica 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 pérdida de paquetes. Cuando se produce una pérdida de paquetes, movemos el Wireshark por la ruta hasta que no se vean más pérdidas de paquetes. Estamos «aguas arriba» desde el punto de entrega del paquete en este momento, por lo que sabemos dónde concentrar nuestros esfuerzos de depuración.

Dispositivos de interceptación

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 una pérdida de paquetes, estos dispositivos deben investigarse como un motivo 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.

Tamaños de ventana ineficientes

Además del sistema operativo de Microsoft, existen otras «ventanas» en las redes TCP/IP.

  • Ventana deslizante
  • Ventana del receptor
  • Ventana de control de congestión

Estas ventanas juntas constituyen el rendimiento de la comunicación basada en TCP de la red. Comencemos definiendo 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 transmitir los siguientes segmentos TCP a través de la red. El remitente recibe acuses de recibo de los fragmentos de datos transmitidos, la ventana deslizante se expande. Siempre que no se pierdan transmisiones en la red, 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 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 que un host aumente el tamaño de la ventana del receptor y reduzca la probabilidad de un escenario de ventana cero.

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 el estado de la red. Las capacidades de transmisión del remitente o el tamaño de la ventana del receptor. Cada nueva conexión inicia nuevamente el procedimiento de negociación del tamaño de la ventana.

Consejos para una red saludable

  • Aprenda a utilizar Wireshark como una tarea de primera respuesta para descubrir de manera rápida y eficiente la fuente del bajo rendimiento.
  • Identifique la fuente de latencia de la ruta de la red y, si es posible, redúzcala a un nivel aceptable.
  • Localice y resuelva 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 agregan latencia o descartan paquetes.
  • Optimice las aplicaciones para que puedan entregar mayores cantidades de datos y, si es posible, recuperar datos de la ventana del receptor.

Terminando 👨‍🏫

Hemos analizado las razones principales 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 la red. Wireshark brinda visibilidad de la red al igual que los rayos X, y las tomografías computarizadas 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 utilizando Wireshark. 👍