Aller au contenu principal

17. Recalcul de la Somme de Contrôle d'En-tête IPv4 (IPv4 Header Checksum Recalculation)

La somme de contrôle d'en-tête IPv4 (Header Checksum) n'inclut pas les données, mais inclut le champ ECN dans l'en-tête IP. Lorsqu'un routeur modifie le champ ECN dans l'en-tête IP (par exemple, en définissant le codepoint CE), le routeur DOIT mettre à jour de manière incrémentale la somme de contrôle d'en-tête IP, selon les procédures données dans le RFC 1141 [RFC1141]. Le RFC 1141 indique que dans le cas où la valeur du champ original est m et la nouvelle valeur est m', HC (la somme de contrôle d'en-tête) est ajustée comme suit :

HC' = ~(~HC + ~m + m')

Pour un champ de 8 bits, utilisez les valeurs originales et nouvelles, étendues par zéro à 16 bits. Pour un champ de 16 bits, m et m' sont traités comme des entiers de 16 bits. L'addition est effectuée en utilisant l'arithmétique en complément à un, c'est-à-dire que les retenues sont ajoutées au bit de poids faible de la somme.

Puisque le champ ECN ne contient que les deux bits les moins significatifs de l'octet TOS, il est le plus simple de prendre l'ancienne valeur de l'octet TOS comme m et la nouvelle valeur de l'octet TOS comme m'.

Le recalcul de la somme de contrôle n'est pas nécessaire pour IPv6, car l'en-tête IPv6 n'inclut pas de somme de contrôle d'en-tête.