Resumen
- TIME-WAIT conserva información después del cierre para que los segmentos demorados de una conexión anterior no se confundan con los de una nueva conexión del mismo cuádruple.
- RFC 1337 describió una cadena de tres segmentos: un segmento inaceptable produce un ACK, el par sin conexión devuelve un RST y ese RST elimina TIME-WAIT prematuramente.
- Su propuesta de ignorar RST en TIME-WAIT fue una recomendación Informational, no una regla universal de las implementaciones actuales.
- RFC 6191 permite ciertas aperturas anticipadas solo cuando las marcas de tiempo y los números de secuencia aportan evidencia de una instancia posterior de la conexión.
La espera conserva una frontera
Tras un cierre activo, TCP mantiene normalmente el bloque de control durante 2×MSL. El objetivo es dejar que mueran los duplicados antiguos antes de reutilizar las mismas direcciones y puertos. TIME-WAIT no es un temporizador de retransmisión ni un límite para la entrega a la aplicación: separa dos historias de conexión.
La cadena de asesinato
En el ejemplo de RFC 1337, A está en TIME-WAIT y B ya está en CLOSED. Llega a A un segmento antiguo de datos o ACK que no es aceptable. A responde con un ACK que refleja sus expectativas actuales. B ya no tiene una conexión coincidente, así que responde a ese ACK con un RST. A acepta el RST, borra el bloque de control y abandona TIME-WAIT antes de tiempo.
Ninguna respuesta aislada parece necesariamente anómala. La composición sí lo es: el RST elimina la memoria que debía contener los duplicados antiguos. El RST es el asesino del estado; el paquete que cause el daño posterior puede ser otro duplicado que aún siga en la red.
Borrar no es demostrar seguridad
F1, la solución preferida por RFC 1337, proponía ignorar los RST mientras se está en TIME-WAIT. El documento la consideraba una solución sencilla a corto plazo, condicionada al cumplimiento del MSL, y solicitaba pruebas prolongadas en producción. RFC 9293 mantiene en su procesamiento base que un RST validado en TIME-WAIT lleva a CLOSED y borra el bloque. Por eso F1 no puede presentarse como incorporación universal.
RFC 6191 responde a la presión por reutilizar tuplas rápidamente de otra manera. Examina los SYN entrantes con marcas de tiempo y números de secuencia; si la evidencia no indica una instancia nueva, descarta el SYN y conserva TIME-WAIT. RFC 9293 solo permite la reapertura directa con sus salvaguardas de números de secuencia y el retorno a TIME-WAIT si el SYN resulta ser un duplicado antiguo; para tasas elevadas recomienda el algoritmo de marcas de tiempo de RFC 6191. La reutilización protegida y la eliminación provocada por un reset no son equivalentes.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
