Resumen

  • La cookie TCP Fast Open es evidencia generada por el servidor y vinculada al contexto de la IP origen; no es una credencial de usuario ni un identificador de solicitud.
  • TFO puede entregar los datos del SYN a la aplicación antes de terminar el saludo, conservando el raro riesgo de entrega duplicada descrito en RFC 7413.
  • Una constancia de ejecución debe unir secuencias de transporte, principal autenticado, solicitud, deduplicación, commit y respuesta.

La vía rápida terminó antes del resultado

Un cliente manda una reserva en el SYN con una cookie guardada. El servidor valida la cookie, almacena los datos, avisa a la aplicación y confirma SYN y datos. La respuesta útil no llega, y el cliente vuelve a enviar la misma petición lógica.

La cookie no indica si la segunda llegada repite la primera. El ACK de TCP tampoco dice que terminó un commit, que se autorizó al usuario o que la respuesta llegó. El transporte puede funcionar correctamente mientras el resultado de negocio sigue sin determinar.

Qué autentica la cookie

RFC 7413 define un valor opaco generado por el servidor. Su construcción prevista autentica la dirección IP origen del SYN e impide que el cliente lo fabrique. El servidor puede aceptar más de una cookie, incluir información propia y hacerla caducar en cualquier momento.

Eso mitiga ataques con origen falsificado; no autentica a una persona. Una IP puede compartirse, traducirse o reasignarse. Una cookie válida indica que el servidor acepta ese contexto IP para Fast Open según su política actual, no quién redactó la carga útil.

La aplicación debe habilitar TFO expresamente por puerto de servicio. El listener puede desactivarlo o dejar de admitir aperturas rápidas al alcanzar su límite pendiente. Validez de cookie, admisión y autorización son decisiones separadas.

Datos aceptados, descartados o retransmitidos

Con cookie válida, el servidor puede entregar los datos del SYN a la aplicación y confirmarlos. Si la cookie no vale o TFO no está disponible, descarta los datos y confirma solo el SYN; el cliente retransmite los bytes no confirmados tras el saludo.

Los intermediarios pueden eliminar SYN con carga u opciones desconocidas. Cuando vence el temporizador, RFC 7413 recomienda volver a un SYN ordinario que no lleva datos ni la opción Fast Open. El MSS guardado también importa, porque los datos salen antes de conocer el MSS actual; un exceso de datos tempranos puede exigir retransmisión.

Por eso «se intentó TFO» no describe un único resultado. Los bytes pudieron llegar temprano, ser descartados o viajar después mediante TCP ordinario.

El ACK se detiene en TCP

RFC 9293 asigna secuencia a cada octeto y define el ACK acumulativo como recepción por el peer TCP. Esa evidencia no certifica autenticación, autorización, escritura duradera ni respuesta de negocio.

RFC 7413 advierte que los datos del SYN pueden llegar más de una vez a la aplicación en circunstancias poco frecuentes. Una operación temprana necesita identificador estable, alcance de deduplicación, tratamiento atómico y un resultado recuperable.

Fuentes