antecedentes
TCP/IP
Los protocolos son la base de la era actual de Internet. Todos los productos de red, o lenguajes de desarrollo y marcos de desarrollo se basan en tcp/ip
protocolos. Por lo tanto, aprender bien tcp/ip
será de gran ayuda para las personas de la industria de Internet en el futuro.
Pero este es un curso teórico básico, al igual que el curso de sistema operativo, después de aprenderlo puede que no tenga mucho impacto en ti, y no te permitirá tener de inmediato las habilidades para poner en práctica. Pero precisamente porque se trata de un curso de teoría básica, todas las tecnologías de Internet se basan en él. Entonces, si comprende el tcp/ip
acuerdo, tendrá un efecto positivo en su desarrollo futuro o en la resolución de problemas en el trabajo.
Algoritmo de Nagle
Imagine un escenario en el que el remitente sigue enviando paquetes muy pequeños al receptor, enviando solo 1
un byte a la vez, por lo que el 1000
byte de envío debe enviarse 1000
dos veces. Este tipo de envío frecuente es problemático. No solo se consume el retardo de transmisión, sino que el envío y la confirmación en sí también llevan tiempo. El envío y la recepción frecuentes conllevan grandes retrasos.
Nagle
El algoritmo consiste en resolver la situación anterior, las reglas específicas son las siguientes:
- No es necesario esperar al enviar datos por primera vez, incluso los
1
paquetes de bytes se envían inmediatamente - Se deben cumplir las siguientes condiciones para la transmisión subsiguiente
Nagle
: Unatcp
conexión solo puede tener como máximo1
un paquete pequeño incompleto no confirmado y no se pueden enviar otros paquetes pequeños antes de que se confirme la llegada del paquete.
Nota:
Nagle
Algoritmo para el remitente
Confirmación retrasada
Imagine un escenario cuando recibí un remitente del paquete, y luego en un tiempo muy corto y recibió un segundo paquete, yo era una respuesta, o esperar un poco, el 2
uno ACK
después de la respuesta fusión con ella?
La confirmación retrasada ( delayed ack
) hace lo último, un poco de retraso, luego se fusiona ACK
y finalmente responde al remitente. tcp
El tiempo requerido para este retraso debe ser menos de la 500ms
mitad de las implementaciones del sistema operativo no excederá200ms
Sin embargo, algunas escenas no se pueden retrasar para su confirmación y deben responderse de inmediato. como sigue:
frame
Se recibe un mensaje más grande que ese y es necesario ajustar el tamaño de la ventanatcp
Enquick ack
modo (tcp_in_quickack_mode
configuración)- Se han encontrado paquetes fuera de servicio
Nota:
- La confirmación retrasada es para el receptor
Nagle
No se recomienda el uso conjunto del algoritmo y la confirmación retrasada, ya que provocará un mayor retraso
para resumir
Esta es la décima serie de artículos de tcp / ip, principalmente sobre Nagle算法
y 延迟确认
, ambos son conocimientos teóricos, para tenerlo bajo apenas entender. Habrá más explicaciones de la escena de uso más detalladas más adelante, esta serie de artículos será muy larga.
Comencemos con el siguiente artículo.