Aller au contenu principal

6.1.1.2. Initialisation TCP Robuste avec un Champ Réservé en Écho (Robust TCP Initialization with an Echoed Reserved Field)

Une question se pose quant à la raison pour laquelle nous avons choisi de faire en sorte que le TCP envoyant un SYN définisse deux drapeaux liés à ECN dans le champ réservé de l'en-tête TCP du paquet SYN, tandis que le TCP répondant envoyant un SYN-ACK ne définit qu'un seul drapeau lié à ECN dans le paquet SYN-ACK. Cette asymétrie est nécessaire pour une négociation robuste de la capacité ECN avec certaines implémentations TCP déployées. Il existe au moins une implémentation TCP défectueuse où le récepteur TCP reflète simplement le champ réservé de l'en-tête TCP du paquet reçu dans le champ réservé de l'en-tête TCP des paquets ACK (et donc aussi SYN-ACK). Étant donné que le paquet TCP SYN définit les drapeaux ECN-Echo et CWR pour indiquer la capacité ECN, et que le paquet SYN-ACK définit uniquement le drapeau ECN-Echo, le TCP expéditeur interprète correctement le comportement d'un récepteur reflétant ses propres drapeaux dans le champ réservé comme une indication que le récepteur ne prend pas en charge ECN. Le TCP expéditeur n'est pas induit en erreur par un paquet SYN-ACK d'une implémentation TCP défectueuse qui reflète simplement le champ réservé du paquet SYN entrant.