fbpx
Wikipedia

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 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.

Ventajas

Una primera mejora que sirve como solución a esta baja eficiencia de transmisión, es demorar el reconocimiento unos 500 ms en espera de datos moviéndose en la otra dirección, para mandar el reconocimiento en el mismo paquete (piggybacking). Con esta mejora, el reconocimiento del primer segmento y el eco generado por el receptor viajarían en el mismo segmento.

Utilizando el algoritmo de Nagle, una conexión TCP sólo puede tener un segmento de tamaño pequeño (pocos bytes) sin que se haya reconocido; es decir, sólo puede haber un único segmento de tamaño pequeño viajando por la red. El resto de los segmentos de tamaño pequeño no se pueden transmitir hasta que el asentimiento (ACK) del segmento pequeño, que esté viajando por la red, haya llegado. De esta forma, el algoritmo acumula información para enviar entre el último asentimiento recibido y el asentimiento por venir.

Así, los segmentos que están esperando para ser transmitidos se almacenan hasta que se recibe el asentimiento del segmento en tránsito. Cuando este último llega, la conexión TCP puede enviar un segmento que contenga todos los datos almacenados hasta este momento, formando un segmento mayor. De esta forma, pequeñas cantidades de datos salientes son amalgamados dentro de la mayor carga de paquetes.

También se envía un segmento cuando los datos acumulados igualan o superan el MSS (Tamaño Máximo de Segmento), o la mitad de la ventana. Es interesante notar que el mecanismo es autoadaptativo, pues cuanto más cargada esté la red más tardarán los ACK y más agrupados irán los datos.

Aplicaciones

El algoritmo de Nagle funciona cuando los retardos en la red son grandes; es decir, si la conexión cruza una WAN. En caso de que la conexión sea local, en una LAN, es difícil que se aplique este algoritmo a causa de la alta velocidad de la red. En ocasiones, es interesante deshabilitar el algoritmo de Nagle, en aquellos casos en que la aplicación en uso no puede esperar, o bien cuando se tienen graves problemas por paquetes perdidos. En particular, los pequegramas pueden llegar a ser particularmente ineficientes bajo enlaces de banda estrecha como SLIP.

Un típico caso de ejemplo de aplicación que requiere que el algoritmo de Nagle sea deshabilitado es el movimiento del ratón en un escritorio controlado de manera remota, donde se desea que el usuario no note diferencias en el movimiento entre el uso remoto y el uso local; o bien herramientas de red interactivas que transmiten pulsaciones únicas de teclas, como telnet o rsh (remote shell).

Véase también

Referencias

  • TCP/IP Ilustrated Volume 1, 19.4 Nagle Algorithm, W.Richard Stevens, Adison-Wesley 1994.
  • RFC 896 Congestion Control in IP/TCP Internetworks, John Nagle, 1984, Internet Engineering Task Force.
  • , José María Barceló Ordinas et al, Universitat Oberta de Catalunya, 2004.
  •   Datos: Q668945

algoritmo, nagle, trata, procedimiento, supone, mejora, aumento, eficiencia, redes, comunicación, basadas, transmission, control, protocol, algoritmo, nagle, método, heurístico, para, evitar, enviar, paquetes, particularmente, pequeños, también, denominados, p. El Algoritmo de Nagle se trata de un procedimiento que supone una mejora y aumento de eficiencia de las redes de comunicacion basadas en Transmission Control Protocol TCP El algoritmo de Nagle es un metodo heuristico para evitar enviar paquetes IP particularmente pequenos tambien denominados pequegramas del ingles tinygrams El algoritmo de Nagle intenta evitar la congestion que estos paquetes pueden ocasionar en la red reteniendo por poco tiempo la transmision de datos TCP en algunas circunstancias Indice 1 Funcionamiento 1 1 Algoritmo 1 2 Generalidad 2 Ventajas 3 Aplicaciones 4 Vease tambien 5 ReferenciasFuncionamiento EditarAlgoritmo Editar if hay nuevos datos en enviar if el tamano de ventana y su disponibilidad de datos es gt MSS envia el tamano de MSS ahora else if hay datos sin confirmar en espera encola los datos en el buffer hasta recibir un reconocimiento else envia los datos ahora end if end if end if Generalidad Editar En TCP el emisor no esta obligado a transmitir datos en cuanto los recibe de la aplicacion 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 solo 1 byte En este caso el paquete a enviar contara 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 estaria utilizando la red de manera eficiente Ventajas EditarUna primera mejora que sirve como solucion a esta baja eficiencia de transmision es demorar el reconocimiento unos 500 ms en espera de datos moviendose en la otra direccion para mandar el reconocimiento en el mismo paquete piggybacking Con esta mejora el reconocimiento del primer segmento y el eco generado por el receptor viajarian en el mismo segmento Utilizando el algoritmo de Nagle una conexion TCP solo puede tener un segmento de tamano pequeno pocos bytes sin que se haya reconocido es decir solo puede haber un unico segmento de tamano pequeno viajando por la red El resto de los segmentos de tamano pequeno no se pueden transmitir hasta que el asentimiento ACK del segmento pequeno que este viajando por la red haya llegado De esta forma el algoritmo acumula informacion para enviar entre el ultimo asentimiento recibido y el asentimiento por venir Asi los segmentos que estan esperando para ser transmitidos se almacenan hasta que se recibe el asentimiento del segmento en transito Cuando este ultimo llega la conexion TCP puede enviar un segmento que contenga todos los datos almacenados hasta este momento formando un segmento mayor De esta forma pequenas cantidades de datos salientes son amalgamados dentro de la mayor carga de paquetes Tambien se envia un segmento cuando los datos acumulados igualan o superan el MSS Tamano Maximo de Segmento o la mitad de la ventana Es interesante notar que el mecanismo es autoadaptativo pues cuanto mas cargada este la red mas tardaran los ACK y mas agrupados iran los datos Aplicaciones EditarEl algoritmo de Nagle funciona cuando los retardos en la red son grandes es decir si la conexion cruza una WAN En caso de que la conexion sea local en una LAN es dificil que se aplique este algoritmo a causa de la alta velocidad de la red En ocasiones es interesante deshabilitar el algoritmo de Nagle en aquellos casos en que la aplicacion en uso no puede esperar o bien cuando se tienen graves problemas por paquetes perdidos En particular los pequegramas pueden llegar a ser particularmente ineficientes bajo enlaces de banda estrecha como SLIP Un tipico caso de ejemplo de aplicacion que requiere que el algoritmo de Nagle sea deshabilitado es el movimiento del raton en un escritorio controlado de manera remota donde se desea que el usuario no note diferencias en el movimiento entre el uso remoto y el uso local o bien herramientas de red interactivas que transmiten pulsaciones unicas de teclas como telnet o rsh remote shell Vease tambien EditarTransmission Control Protocol Tamano Maximo de SegmentoReferencias EditarTCP IP Ilustrated Volume 1 19 4 Nagle Algorithm W Richard Stevens Adison Wesley 1994 RFC 896 Congestion Control in IP TCP Internetworks John Nagle 1984 Internet Engineering Task Force Redes de Computadoras Jose Maria Barcelo Ordinas et al Universitat Oberta de Catalunya 2004 Datos Q668945Obtenido de https es wikipedia org w index php title Algoritmo de Nagle amp oldid 119224720, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos