Motivo del inicio lento de TCP en conexiones posteriores

Motivo del inicio lento de TCP en conexiones posteriores

Según tengo entendido, el inicio lento de TCP se utiliza para compensar y prevenir la congestión y las pérdidas. Cuando una conexión se establece con éxito y se utiliza durante un tiempo, el ancho de banda de la conexión TCP es lo más grande posible. Cada vez que se establece una nueva conexión, incluso si son concurrentes, se utiliza el inicio lento de TCP, iniciando la conexión con un tamaño de ventana bajo, aunque ambas pilas TCP ya conocen el comportamiento de la capa física.

¿Por qué las pilas TCP siempre realizan un inicio lento a pesar de que podrían haber recordado el tamaño de la ventana de conexiones anteriores recientes con el mismo socio? ¿No podrían realizar de forma segura un inicio más rápido y apropiado y degradar la conexión posteriormente si las condiciones del enlace cambian?

Respuesta1

No es seguro asumir que dos conexiones TCP, incluso entre los mismos dos puntos finales, tomarán la misma ruta. No es inusual, por ejemplo, tener un equilibrio de carga entre múltiples conexiones que tenga en cuenta los puertos involucrados.

Esta puede parecer una elección extraña, pero tiene sentido porque el rendimiento de TCP puede verse afectado si se reciben muchos paquetes desordenados y vincular una conexión a una ruta evita esto. A menudo, la IP de origen, la IP de destino, el protocolo, el puerto de origen (si corresponde) y el puerto de destino (si corresponde) se procesan mediante hash y el hash se utiliza para seleccionar el siguiente salto.

información relacionada