¿Cuál es el algoritmo de Nagle para la comunicación de red TCP?

logo tecnonautas

¿Cuál es el algoritmo de Nagle para la comunicación de red TCP?

VALORACIÓN DEL ARTÍCULO:
5/5


El algoritmo Nagle, que lleva el nombre del ingeniero John Nagle, fue diseñado para reducir la congestión de la red causada por «problemas de paquetes pequeños» con aplicaciones TCP. Las implementaciones de UNIX comenzaron a utilizar el algoritmo de Nagle en la década de 1980, y sigue siendo una característica estándar de TCP en la actualidad.

Cómo funciona el algoritmo de Nagle

El algoritmo de Nagle procesa datos en el lado de envío de aplicaciones TCP mediante un método llamado nagling. Detecta mensajes de pequeño tamaño y los acumula en paquetes TCP más grandes antes de enviar datos a través del cable, evitando así la generación de un número innecesariamente grande de paquetes pequeños. La especificación técnica del algoritmo de Nagle fue publicada en 1984 como RFC 896. Las decisiones sobre la cantidad de datos que deben acumularse y el tiempo de espera entre envíos son fundamentales para su rendimiento general.

Nagling puede utilizar más eficientemente el ancho de banda de una conexión de red a costa de añadir retrasos (latencia). Un ejemplo descrito en el RFC 896 ilustra los beneficios potenciales del ancho de banda y la razón de su creación:

  • Una aplicación TCP que intercepta las pulsaciones de teclas del teclado y desea comunicar cada carácter que se escribe a un receptor, puede generar una serie de mensajes, cada uno de los cuales contiene 1 byte de datos.
  • Antes de que estos mensajes puedan ser enviados a través de la red, cada uno de ellos debe ser empaquetado junto con la información de cabecera TCP según lo requiera TCP/IP. Cada encabezado tiene un tamaño de entre 20 y 60 bytes.
  • Sin molestar, esta aplicación de ejemplo generaría mensajes de red que consisten en un 95% o más de información de cabecera (al menos 20 de 21 bytes) y un 5% o menos de datos reales del teclado del remitente. Usando el algoritmo de Nagle, los mismos datos podrían ser entregados usando muchos menos mensajes y teniendo el 95% del contenido como información de teclado – un ahorro de ancho de banda muy grande.

Las aplicaciones controlan su uso del algoritmo Nagle con la opción de programación de socket TCP_NODELAY. Los sistemas Windows, Linux y Java normalmente habilitan Nagle de forma predeterminada, por lo que las aplicaciones escritas para esos entornos deben especificar TCP_NODELAY cuando deseen desactivar el algoritmo.

Limitaciones

El algoritmo de Nagle sólo se puede usar con TCP. Otros protocolos, incluyendo UDP, no lo soportan.

Las aplicaciones TCP que necesitan una respuesta rápida de red, como las llamadas telefónicas por Internet o los juegos de disparos en primera persona, pueden no funcionar bien cuando Nagle está habilitado. Los retrasos causados mientras el algoritmo tarda más tiempo en ensamblar trozos más pequeños de datos juntos pueden provocar un retardo perceptible visualmente en una pantalla o en un flujo de audio digital. Estas aplicaciones normalmente desactivan Nagle.

Este algoritmo fue desarrollado originalmente en un momento en que las redes informáticas soportaban mucho menos ancho de banda que en la actualidad. El ejemplo descrito anteriormente se basó en las experiencias de John Nagle en Ford Aerospace a principios de la década de 1980, donde las molestas compensaciones en su red de larga distancia lenta y muy cargada tenían sentido. Cada vez hay menos situaciones en las que las aplicaciones de red pueden beneficiarse de su algoritmo en la actualidad.

TAMBIÉN TE INTERESA

ChatGPT en el trabajo

Cosas que sí y cosas que no le puedes preguntar a ChatGPT en el trabajo

La inteligencia artificial está transformando los departamentos de Recursos Humanos al ofrecer herramientas innovadoras que optimizan procesos, aumentan la eficiencia y brindan información útil para la toma de decisiones. Sin embargo, este cambio también plantea desafíos en cuanto a su correcta implementación y a los límites éticos y operativos. El uso de ChatGPT en el

inteligencia artificial Zoo Aquarium de Madrid

Esta es la forma en la que ha llegado la IA al Zoo Aquarium de Madrid

Hasta en lugares insospechados como el Zoo Aquarium de Madrid está llegando la inteligencia artificial… Pero no, no se trata de animales. Ni tampoco como una forma de gestión administrativa a nivel interno. El proyecto más destacado de este entorno es una cuidadora inteligente de animales presentada como un avatar que es capaz de interactuar

precio galaxy ring

Galaxy Ring: Samsung puja por ser el señor de los añillos (inteligentes)

«Un anillo para gobernarlos a todos», se decía en la famosa trilogía de El Señor de los Anillos. Aplicado al mundo tecnológico, Samsung quiere ser ese rey con su Galaxy Ring, su anillo inteligente que capitanea este joven segmento del que ya hemos hablando en alguna ocasión en Tecnonautas. El Galaxy Ring, lanzado este verano