9.2.1.3. Changements du Traitement d'En-tête de Tunnel IPsec (Changes to IPsec Tunnel Header Processing)
Pour un support ECN complet, le champ TOS IPv4 et le champ Traffic Class IPv6 dans le traitement d'encapsulation et de décapsulation changent de ceux spécifiés dans [RFC2401] à ce qui suit :
<-- Comment l'En-tête Externe se Rapporte à l'En-tête Interne -->
En-tête Externe à En-tête Interne au
IPv4 l'Encapsulateur Décapsulateur
Champs d'en-tête: -------------------- ------------
Champ DS copié de l'en-tête int. (5) aucun changement
Champ ECN construit (7) construit (8)
IPv6
Champs d'en-tête:
Champ DS copié de l'en-tête int. (6) aucun changement
Champ ECN construit (7) construit (8)
(5)(6) Si le paquet va entrer immédiatement dans un domaine où la valeur DSCP dans l'en-tête externe n'est pas appropriée, cette valeur DOIT être mappée à une valeur appropriée pour ce domaine [RFC 2474]. Voir également [RFC 2475] pour plus d'informations.
(7) Si la valeur du champ ECN Tunnel dans l'entrée SAD pour ce SA est "allowed" et que le champ ECN dans l'en-tête intérieur est défini sur n'importe quelle valeur autre que CE, alors copiez ce champ ECN dans l'en-tête externe. Si le champ ECN dans l'en-tête intérieur est défini sur CE, alors définissez le champ ECN dans l'en-tête externe sur ECT(0).
(8) Si la valeur du champ ECN Tunnel dans l'entrée SAD pour ce SA est "allowed" et que le champ ECN dans l'en-tête intérieur est défini sur ECT(0) ou ECT(1) et que le champ ECN dans l'en-tête externe est défini sur CE, alors copiez le champ ECN de l'en-tête externe vers l'en-tête intérieur. Sinon, n'apportez aucun changement au champ ECN dans l'en-tête intérieur.
(5) et (6) sont les mêmes pour correspondre à l'utilisation dans [RFC2401], bien qu'ils soient différents dans [RFC2401].
La description ci-dessus s'applique aux implémentations qui prennent en charge le champ ECN Tunnel dans le SAD ; de telles implémentations DOIVENT implémenter ce traitement au lieu du traitement de l'octet TOS IPv4 et de l'octet Traffic Class IPv6 défini dans [RFC2401]. Ceci constitue l'alternative de fonctionnalité complète pour l'utilisation d'ECN sur les tunnels IPsec.
Les implémentations qui ne prennent pas en charge le champ ECN Tunnel dans le SAD DOIVENT implémenter ce traitement en supposant que la valeur du champ ECN Tunnel est "forbidden" pour chaque SA. Dans ce cas, le traitement du champ ECN se réduit à :
(7) Définir le champ ECN sur not-ECT dans l'en-tête externe. (8) N'apporter aucun changement au champ ECN dans l'en-tête intérieur.
Ceci constitue l'alternative de fonctionnalité limitée pour l'utilisation d'ECN sur les tunnels IPsec.
Pour la compatibilité ascendante, si un paquet avec le codepoint CE défini dans l'en-tête externe arrive sur un SA utilisant l'option de fonctionnalité limitée, ou si un tel paquet arrive sur un SA utilisant l'option de fonctionnalité complète mais avec le codepoint not-ECN défini dans l'en-tête intérieur, alors ces paquets DEVRAIENT être abandonnés.