Algoritmo de Nagle

El Algoritmo de Nagle se trata de un procedimiento que supone una mejora y aumento de eficiencia de las redes de comunicación basadas en Transmission Control Protocol (TCP). El algoritmo de Nagle es un método heurístico para evitar enviar paquetes IP particularmente pequeños, también denominados pequegramas (del inglés tinygrams). El algoritmo de Nagle intenta evitar la congestión que estos paquetes pueden ocasionar en la red reteniendo por poco tiempo la transmisión de datos TCP en algunas circunstancias.

Funcionamiento

Algoritmo

if hay nuevos datos en enviar
 if el tamaño de ventana y su disponibilidad de datos es >= MSS
  envía el tamaño de MSS ahora
 else
  if hay datos sin confirmar en espera
   encola los datos en el 
buffer hasta recibir un reconocimiento
  else
   envía los datos ahora con 
MSS = maximum segment size ( Tamaño Maximo de segmento )
  end if
 end if
end if

Generalidad

En TCP el emisor no está obligado a transmitir datos en cuanto los recibe de la aplicación, ni el receptor a enviar los reconocimientos en forma inmediata. Sin embargo, en numerosas ocasiones un cliente tiene muy pocos datos para enviar (por ejemplo, sólo 1 byte). En este caso el paquete a enviar contará 1 byte de datos, 20 bytes de cabecera TCP y 20 bytes de cabecera IP, dando un total de 41 bytes de los que 40 son de control y 1 de datos. Si se transmiten muchos segmentos de este tipo, no se estaría utilizando la red de manera eficiente.

Other Languages