Résumé
- Si un segment TCP est retransmis avant l’arrivée d’un ACK cumulatif, cet ACK peut confirmer la livraison sans indiquer quelle instance a été reçue ; cette observation n’est donc normalement pas un échantillon RTT.
- À chaque expiration successive, le RTO est doublé, sous réserve du plafond facultatif permis par RFC 6298. Une mesure non ambiguë exige ensuite de nouvelles données envoyées et acquittées. Les horodatages TCP constituent l’exception lorsqu’ils identifient l’instance concernée.
Un émetteur envoie une plage de numéros de séquence, puis son temporisateur expire. Il retransmet les mêmes données. Lorsqu’un ACK cumulatif arrive, la fiabilité dispose d’une information utile : les octets ont été acquittés. La mesure de latence, elle, reste indéterminée. L’ACK peut avoir été déclenché par la première copie, par la retransmission, ou par les deux.
RFC 793 décrit le fonctionnement initial : les données numérotées sont suivies dans une file de retransmission et un temporisateur est lancé. À son expiration, le segment non acquitté est renvoyé. Sa procédure illustrative mesure le temps entre l’envoi d’un octet numéroté et l’ACK qui le couvre, puis lisse le RTT. Elle ne tranche toutefois pas le cas où la plage a été envoyée deux fois.
RFC 1122 rend ensuite obligatoires les algorithmes de Karn et de Jacobson. Sa section 4.2.3.1 emploie explicitement « MUST implement » pour les deux algorithmes et « MUST include » pour l’augmentation exponentielle du RTO. Karn choisit les observations admissibles ; Jacobson incorpore la variance dans l’estimation. Une meilleure formule ne peut pas corriger une observation dont l’origine temporelle est inconnue. Quand RFC 6298 évoque plus tard le passage de SHOULD à MUST, il parle du support de l’algorithme RTO général ; il ne transforme pas ces deux phrases explicites de RFC 1122 en recommandations.
RFC 6298 précise que les échantillons RTT ne doivent pas provenir de segments retransmis, car l’ACK peut correspondre à l’une ou l’autre instance. Après expiration, le RTO est doublé, sous réserve du plafond facultatif permis par la section 2.5, et le temporisateur redémarre avec cette valeur. Une nouvelle mesure ordinaire n’est possible qu’après l’envoi et l’acquittement de nouvelles données. Les horodatages peuvent lever l’ambiguïté et autoriser un échantillon.
Karn ne détecte pas la perte, ne déclenche pas Fast Retransmit, ne commande pas la fenêtre de congestion, ne définit ni SACK ni les horodatages TCP, et ne règle pas le moment où le récepteur envoie ses ACK. Les horodatages sont seulement l’exception qui peut lever l’ambiguïté. Karn sépare la preuve de livraison de la preuve de latence : un même ACK peut faire avancer l’état fiable tout en étant inadmissible pour l’estimateur RTT.
Sources
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
