9.2.1.3. Изменения в обработке заголовков туннелей IPsec
Для полной поддержки ECN процессы инкапсуляции и декапсуляции для полей IPv4 TOS и IPv6 Traffic Class меняются по сравнению с указанными в [RFC4301] следующим образом:
Связь внешнего заголовка с внутренним | ||
Поле | Внешний заголовок на инкапсуляторе | Внутренний заголовок на декапсуляторе |
IPv4 | ||
DS | Копируется из внутреннего заголовка (5) | Не меняется |
ECN | Создается (7) | Создается (8) |
IPv6 | ||
DS | Копируется из внутреннего заголовка (6) | Не меняется |
ECN | Создается (7) | Создается (8) |
(5)(6) Если пакет незамедлительно будет вводиться в домен, для которого значение DSCP во внешнем заголовке неприемлемо, это значение должно быть отображено на приемлемое для домена значение [RFC 2474]. Дополнительная информация по этому вопросу содержится в [RFC 2475].
(7) Если поле ECN Tunnel в записи SAD для данной SA имеет значение «allowed» (разрешено) и поле ECN во внутреннем заголовке имеет значение, отличное от CE, поле ECN копируется во внешний заголовок. Если поле ECN во внутреннем заголовке имеет значение CE, в поле ECN внешнего заголовка устанавливается значение ECT(0).
(8) Если поле ECN Tunnel в записи SAD для данной SA имеет значение «allowed» (разрешено) и поле ECN во внутреннем заголовке имеет значение ECT(0) или ECT(1), а поле ECN во внешнем заголовке имеет значение CE, поле ECN из внешнего заголовка копируется во внутренний. В остальных случаях значение поля ECN во внутреннем заголовке не меняется.
(5) и (6) идентичны в соответствии с использованием [RFC4301], хотя они различаются [RFC4301].
Приведенное выше описание применимо к реализациям, поддерживающим поле ECN Tunnel в SAD; такие реализации должны обеспечивать такую обработку вместо использования обработки октетов IPv4 TOS и IPv6 Traffic Class, описанной в [RFC4301]. Это обеспечивает полнофункциональную поддержку использования ECN с туннелями IPsec.
Реализации, не поддерживающие поле ECN Tunnel в SAD, должны обеспечивать обработку в предположении, что поле ECN Tunnel в SAD имеет значение «forbidden» для каждой SA. В этом случае обработка поля ECN сводится к двум операциям:
(7) установить для поля ECN во внешнем заголовке значение not-ECT;
(8) не менять поле ECN во внутреннем заголовке.
Такое поведение обеспечивает ограниченную поддержку использования ECN с туннелями IPsec.
Для совместимости с более ранними версиями пакеты с кодом CE во внешнем заголовке следует отбрасывать, если они приходят в SA, использующую опцию ограниченной функциональности, или при полнофункциональной поддержку, когда во внутреннем заголовке установлен код not-ECN.