Résumé
- La somme de contrôle TCP couvre l’en-tête et les données TCP, ainsi qu’un pseudo-en-tête conceptuel contenant le contexte fourni par IP.
- Ce pseudo-en-tête n’est pas transmis comme des octets TCP : chaque extrémité le reconstruit pour le calcul.
- Le résultat détecte certaines erreurs et erreurs d’acheminement, mais ne constitue ni une authentification ni une preuve de route.
Un segment TCP semble commencer avec les ports source et destination. Pourtant, sa somme de contrôle dépend aussi d’éléments situés dans la couche IP. Avant le calcul, l’émetteur ajoute conceptuellement les adresses source et destination, l’identité du protocole et la longueur TCP. Le récepteur recompose les mêmes valeurs et vérifie le résultat.
Dans IPv4, RFC 793 décrit un pseudo-en-tête de 96 bits : les deux adresses, un octet nul, le numéro de protocole et la longueur TCP. Ces champs existent déjà dans le contexte IP. TCP ne les recopie donc pas dans le segment. Ils sont fournis à la frontière entre les deux protocoles.
Le choix répond à un problème précis. Une somme portant uniquement sur l’en-tête et les données TCP pourrait conserver la même valeur alors que le contexte d’adressage ou l’identité du protocole aurait changé. Inclure ce contexte permet de détecter certaines livraisons au mauvais destinataire ou altérations que les seuls octets TCP ne révéleraient pas.
Le calcul utilise le complément à un de la somme des mots de 16 bits, puis son complément à un. Le champ de somme est traité comme nul pendant le calcul. Si le contenu couvert contient un nombre impair d’octets, un octet nul est ajouté uniquement pour former le dernier mot ; il n’est pas transmis. La longueur TCP désigne l’en-tête et les données TCP, sans compter les douze octets conceptuels du pseudo-en-tête IPv4.
RFC 9293 conserve cette conception et rend le contrat entre couches explicite : l’émetteur doit produire la somme et le récepteur doit la vérifier. Toute couche inférieure fournissant TCP doit offrir les adresses, l’identité du protocole et un moyen de déterminer la longueur TCP.
IPv6 étend le pseudo-en-tête à 320 bits. Il contient les adresses IPv6, la longueur de la charge de couche supérieure, trois octets nuls et la valeur Next Header identifiant TCP. Avec des en-têtes d’extension, il faut utiliser la valeur qui désigne TCP à la fin de la chaîne, et non nécessairement celle de l’en-tête IPv6 fixe. En cas de routage par la source, les adresses retenues sont la source d’origine et la destination finale, non les adresses intermédiaires.
Une somme valide est une preuve limitée de cohérence des mots couverts. Elle ne prouve ni l’identité de l’émetteur, ni l’autorisation, ni le chemin suivi, et elle ne résiste pas à un adversaire capable de modifier les données et de recalculer la valeur. Le pseudo-en-tête est donc un accord entre couches : le réseau fournit le contexte, TCP l’intègre à son contrôle, et rien de supplémentaire n’est ajouté au fil.
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
