Resumen

  • Si una misma secuencia se envía dos veces antes de un ACK acumulativo, el ACK puede confirmar la entrega sin revelar qué transmisión lo causó; por eso no es normalmente una muestra RTT válida.
  • El RTO se duplica tras cada vencimiento sucesivo, sujeto al máximo opcional permitido por RFC 6298, hasta que datos nuevos y confirmados ofrecen una medición inequívoca. Las marcas de tiempo constituyen una excepción cuando eliminan la ambigüedad.

Imaginemos un emisor TCP que envía un segmento y deja correr su temporizador. Al expirar, retransmite la misma secuencia. Después llega un ACK acumulativo. Para la fiabilidad, el resultado es claro: los bytes han sido confirmados. Para medir la latencia, no lo es. La respuesta pudo seguir al primer segmento, a la retransmisión o a ambos.

RFC 793 presenta el circuito básico: los datos numerados entran en una cola de retransmisión, se inicia un temporizador y, cuando vence, se reenvía el segmento pendiente. Su procedimiento ilustrativo calcula el tiempo desde el envío de un octeto numerado hasta el ACK que lo cubre y suaviza el RTT. No resuelve qué instancia debe recibir el mérito después de una retransmisión.

RFC 1122 exige implementar tanto Karn como Jacobson. Su sección 4.2.3.1 usa expresamente «MUST implement» para ambos algoritmos y «MUST include» para el aumento exponencial del RTO. Karn decide qué mediciones pueden entrar en el cálculo; Jacobson usa la variación del RTT. Son correcciones distintas. La mención posterior de RFC 6298 al paso de SHOULD a MUST se refiere al soporte del algoritmo RTO general; no rebaja esas dos frases explícitas de RFC 1122 a recomendaciones.

RFC 6298 formula la prohibición con precisión: no deben tomarse muestras RTT de segmentos retransmitidos porque el ACK puede pertenecer a la primera instancia o a otra posterior. Al vencer el temporizador, el emisor retransmite, duplica el RTO —sujeto al máximo opcional permitido por la sección 2.5— y reinicia el temporizador. La siguiente muestra ordinaria requiere datos nuevos que sean enviados y reconocidos. Las marcas de tiempo pueden identificar la instancia y permitir la muestra.

Karn no es detección de pérdidas, retransmisión rápida, control de congestión ni SACK. Tampoco define el momento del ACK retardado ni especifica el mecanismo de marcas de tiempo; estas son solo la excepción que puede eliminar la ambigüedad. Su función es más estrecha: separar la evidencia de entrega de la evidencia de latencia.

Fuentes