¿El control de congestión TCP y el inicio lento son parte de cualquier capa TCP / IP? ¿Cómo puede explicar tanto la ventana de congestión como el inicio lento a un laico?

Esta es una GRAN pregunta, y realmente me sorprendió la primera vez que la aprendí. Como joven punk, tuve la extraña fortuna de asistir a una clase de colegio comunitario (!) Impartida por Michael J. Karels sobre los nuevos algoritmos de control de congestión TCP de Van Jacobson. Los algoritmos no son realmente parte de una capa, sino solo un conjunto de comportamientos prescritos que los puntos finales TCP deben seguir al transmitir datos.

El concepto clave del control de congestión TCP: una vez que detecta que un enlace en su ruta está saturado, no tiene sentido bombear muchos datos hacia él, ya que está saturado y no puede transportar más datos.

Un paquete perdido indica que el enlace está saturado porque algunas colas en algún lugar de la ruta se han desbordado. En este punto, desea retransmitir con solo un mínimo de datos para ver si el enlace TODAVÍA está saturado después de una pérdida de paquetes. No tiene sentido enviar una gran cantidad de datos si simplemente se desecharán, ESPECIALMENTE si ese exceso de datos continúa perpetuando el evento de congestión. Esto fue lo que sucedió en los días previos al inicio lento: los puntos finales seguirían intentando transmitir datos masivos, lo que provocaría un colapso congestivo.

Para simplificar en exceso, el inicio lento significa que usted envía una pequeña cantidad de datos después de un evento de pérdida de paquetes (congestión) para ver si pasa. Si no pasa, disminuirá la velocidad aún más (cortando la ventana a la mitad). Sin embargo, si pasa, sigue acelerando exponencialmente, duplicando el tamaño de la ventana hasta que vuelva a encontrar congestión.

Layman: Es como tropezar y caer. Cuando retrocede, comienza lentamente para asegurarse de que todo esté bien antes de volver a aumentar la velocidad en lugar de simplemente levantarse e ir a toda velocidad nuevamente sin evaluar por qué cayó en primer lugar.

La ventana de congestión solo representa qué tan ancho está abierto el grifo para enviar datos.

Si usted es un pensador más visual, esto puede ayudar: Control de flujo.

El control de congestión y el inicio lento son parte de Any tcp ip stack. Hay muchas formas de controlar la congestión y se han propuesto varias ideas para hacerlo. El inicio lento puede explicarse de la siguiente manera. Digamos que está llenando agua en una botella a través de un embudo. Si ejecuta el grifo a toda velocidad en el embudo, es probable que desborde el agua. Entonces, lo que debe hacer es comenzar en el ajuste más bajo del grifo y aumentarlo hasta que obtenga un buen flujo en la botella sin desbordar el embudo. Si por alguna razón, el embudo se desborda, reduce el grifo y ajusta en consecuencia. Espero que ayude.