ventana de envío tcp (ventana deslizante), ventana de congestión

Análisis de la ventana de congestión Preguntas de prueba de la ventana de envío de TCP

Tema 1:

Fuente 2015408 Síntesis por computadora

Enlace de pregunta de prueba: https://www.nowcoder.com/questionTerminal/3241441c88f04ab58585a187716055d3
 

El host A y el host B crean una nueva conexión TCP. El umbral de control de congestión inicial de A es de 32 KB. A a B siempre envía datos en un segmento de MSS = 1 KB, y los datos siempre se envían; B asigna un búfer de recepción de 16 KB para la conexión y responde Reconozca cada segmento de datos, ignorando el retardo de transmisión del segmento. Si todos los datos recibidos por B se almacenan en la caché y no se eliminan, entonces, desde el momento en que la conexión se establece correctamente y no se envía el tiempo de espera, después de 4 RTT, la ventana de envío de A es (A).

A.1 KB

B.8KB

C.16KB

32 KB

 

El tamaño de la ventana de envío depende de min (rwnd, cwnd).

Entre ellos, rwnd es el tamaño libre del búfer de recepción, que indica cuánto puede recibir el receptor.
cwnd es el valor del eje vertical que a menudo dibujamos la curva de crecimiento lento, la curva de evitación de la congestión, etc.

Aquí, de hecho, está muy claro que el búfer de recepción solo puede entrar pero no salir, por lo que está disminuyendo constantemente. Pero tenemos una inercia mental que nos gusta pensar en las partes interesantes, dibujar los cambios de cwnd, pensar que el problema se resuelve una vez hecho el análisis, y no debemos ignorar el rwnd. Aquí hay un ejemplo.

cwnd comienza desde 1MSS = 1KB, se convierte en 2KB después de un RTT, 4KB después de dos RTT, 8KB después de 3RTT y 16KB después de 4 RTT

Al mismo tiempo, el retardo de recepción cambia de 16 KB → 15 KB → 13 KB → 9 KB → 1 KB 16 KB → 15 KB → 13 KB → 9 KB → 1 KB

  Valor de la ventana de notificación, que representa el valor restante del búfer de recepción (KB) Tamaño de la ventana de congestión (KB) Tamaño de la ventana de envío (KB)
inicial          dieciséis           1                1
Después del primer RTT        16-1 = 15           2           min (15, 2) = 2
Después del segundo RTT        15-2 = 13           4           min (13,4) = 4
Después del tercer RTT        13-4 = 9           8           min (9,8) = 8
Después del cuarto RTT         9-8 = 1          dieciséis  El búfer de recepción de notificaciones es de solo 1 KB y la ventana de envío es mín. (1, 16) = 1 KB

 

Después de un RTT, al enviar por segunda vez, rwnd = 15KB, cwnd = 2KB, y la ventana de envío toma el valor más pequeño: 2KB

Después de dos RTT, al enviar por tercera vez, rwnd = 13KB, cwnd = 4KB, y la ventana de envío toma el valor más pequeño: 4KB

Después de tres RTT, al enviar por cuarta vez, rwnd = 9KB, cwnd = 8KB, y la ventana de envío toma el valor más pequeño: 8KB

Después de cuatro RTT, cuando se envía por quinta vez, rwnd = 1KB, cwnd = 16KB, y la ventana de envío toma el valor más pequeño: 1KB

Por supuesto, la ventana de aceptación está llena después de la quinta transmisión, y el host A enviará periódicamente solo un byte del segmento de datos. Una vez que el búfer del host B esté vacío, aparecerá una ventana de notificación distinta de cero para confirmar el segmento. Valor, por supuesto, esta es la solicitud del sujeto, los datos del host B no se eliminarán, solo para el cálculo, no para la situación real.

Supongo que te gusta

Origin blog.csdn.net/wangrenhaioylj/article/details/113097756
Recomendado
Clasificación