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 corregir la 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 conoce como 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 esa solicitud.

Este retraso de tiempo también incluye el tiempo que tarda un servidor en completar la solicitud. Por lo tanto, se define como un viaje de ida y vuelta: el tiempo que tarda el usuario en registrar, procesar y luego recibir y descifrar una solicitud.

El término «baja latencia» se refiere a retrasos en la transmisión 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.

Índice de contenido

¿Cómo se corrige la latencia de la red?

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

Le ayuda 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 haya capturado los paquetes de red. Esta aplicación le permite examinar el tráfico de su red bajo un microscopio, filtrarlo y desglosarlo para encontrar el origen de los problemas y ayudarlo con el análisis de la red y, en última instancia, con la seguridad de la red.

¿Qué está provocando un retraso en la red?

Algunas de las principales razones para eso lento Conectividad de red que incluye:

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

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

Investigar con Wireshark

Alta latencia

La latencia alta se refiere al tiempo que tardan los datos en viajar de un punto final a otro. Los efectos de la alta latencia en las comunicaciones de red son enormes. En el siguiente diagrama, consideramos como ejemplo el tiempo de ida y vuelta de la descarga de un archivo en una ruta de alta latencia. La latencia de ida y vuelta a menudo puede superar un segundo, lo cual es inaceptable.

  • Vaya a Estadísticas de Wireshark.
  • Seleccione la opción TCP Stream Diagram.
  • Elija la Tabla de tiempo de ida y vuelta para averiguar cuánto tiempo se tarda en descargar un archivo.

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

Dependencias de la aplicación

Algunas aplicaciones dependen de otras aplicaciones, procesos o comunicaciones del host. Por ejemplo, suponga que su aplicación de base de datos se basa en conectarse a otros servidores para obtener elementos de la base de datos. En este caso, el rendimiento lento en estos 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 apunta a varios otros sitios web. Por ejemplo, para cargar la página principal del sitio, www.espn.com, primero debe visitar 16 hosts que están publicando anuncios y contenido para la página principal, www.espn.com.

En la figura anterior, la ventana de equilibrio 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 comunes 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 los elementos del sitio web, los paquetes perdidos causarán retransmisiones, lo que aumentará la determinación de descargar los archivos web y ralentizará el proceso general de descarga.

Además, los paquetes que faltan son especialmente negativos cuando una aplicación utiliza TCP. Cuando una conexión TCP detecta un paquete caído, la tasa de rendimiento se reduce automáticamente para compensar los problemas de la red.

Mejora gradualmente a una tasa más aceptable hasta que se descarta el siguiente paquete, lo que resulta en una disminución significativa en el rendimiento de datos. Las descargas de archivos grandes que de otro modo deberían fluir sin problemas a través de una red sufren una pérdida significativa de paquetes.

¿Qué pasa si se pierde un paquete? Es controvertido. La pérdida de paquetes puede tomar dos formas cuando el programa funciona sobre 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 (doble acuse de recibo), lo que conduce a un reenvío. Si un remitente determina que un receptor no ha acusado recibo de un paquete de datos, el remitente expira y envía el paquete de datos nuevamente.

Wireshark indica que se ha producido una congestión en la red y varios reconocimientos hacen que el tráfico problemático se retransmita mediante codificación 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 crucial identificar la ubicación exacta de la pérdida de paquetes. Cuando ocurre la pérdida de paquetes, movemos el wirehark por el camino hasta que la pérdida de paquetes ya no es visible. Estamos «aguas arriba» del punto de caída de paquetes en este punto, por lo que sabemos dónde enfocar nuestros esfuerzos de depuración.

Interceptores

Los policías de tráfico de red son dispositivos interconectados que toman decisiones de enrutamiento, p. Ej. B. conmutadores, enrutadores y cortafuegos. Si se produce una pérdida de paquetes, estos dispositivos deben investigarse como una causa probable.

Estos dispositivos de conexión pueden agregar latencia a la ruta. Por ejemplo, con la priorización de tráfico habilitada, podemos ver 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 la red TCP / IP.

  • Ventana deslizante
  • Ventana de destinatario
  • Ventana de control de atascos

Estas ventanas juntas forman el rendimiento de la comunicación basada en TCP de la red. Comencemos por definir cada una de estas ventanas y cómo afectan al ancho de banda de la red.

Ventana deslizante

Cuando se reconocen los datos, la ventana deslizante se utiliza para enviar los siguientes segmentos TCP a través de la red. El remitente recibe recibos de los fragmentos de datos transmitidos, la ventana deslizante se expande. Siempre que no haya transmisiones perdidas en la red, se pueden transmitir grandes cantidades de datos. Si 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 de destinatario

La ventana del destinatario de la pila TCP es un espacio de búfer. Cuando se reciben datos, se almacenan en esta área de búfer hasta que una aplicación los recupera. La ventana del receptor se llena cuando una aplicación no se mantiene al día con la tasa de recepción, lo que finalmente 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 nula. La tasa de rendimiento cae a cero. Una técnica conocida como escalamiento de ventana (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 de arriba muestra un retraso de 32 segundos en la comunicación 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 procesar. 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 destinatario contribuyen a este número. La ventana de congestión aumenta constantemente durante la comunicación de red sin errores hasta que se completa la transmisión o se alcanza un «límite superior» determinado por el estado de la red. Las capacidades de envío del remitente o el tamaño de la ventana del destinatario. Cada nueva conexión inicia de nuevo el procedimiento de negociación del tamaño de la ventana.

Consejos para una red saludable

  • Descubra cómo puede utilizar Wireshark como una tarea de primera respuesta para descubrir rápida y eficazmente la causa de un rendimiento deficiente.
  • Identifique la fuente de latencia de la ruta de la red y, si es posible, redúzcala a niveles aceptables.
  • Localice y corrija el origen de la pérdida de paquetes.
  • Verifique el tamaño de la ventana de transferencia de datos y redúzcalo si es posible.
  • Examine el rendimiento de los interceptores para ver si están agregando latencia o descartando paquetes.
  • Optimice las aplicaciones para que puedan entregar mayores cantidades de datos y, si es posible, recuperar datos de la ventana del destinatario.

Embalaje 👨‍🏫

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 comunicación de la red. Wireshark ofrece transparencia de red, como rayos X, y los escáneres CAT proporcionan información sobre el cuerpo humano para diagnósticos rápidos y precisos. Esta herramienta se ha convertido en una herramienta importante para encontrar y diagnosticar problemas de red.

Ahora debe examinar y resolver el rendimiento de la red a través de múltiples filtros y herramientas con Wireshark. 👍