2. Формат заголовка идентификации
В протокольный заголовок (IPv4, IPv6 или расширение IPv6), непосредственно предшествующий заголовку AH, следует помещать значение 51 в поле Protocol (IPv4) или Next Header (IPv6, включая расширение) [DH98]. Рисунок 1 показывает формат заголовка AH.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Payload Len | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number Field | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Integrity Check Value-ICV (variable) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Рисунок 1: Формат заголовка AH
В приведенной ниже таблице приведены поля заголовка AH, показанные на рисунке, и другие поля, используемые при проверке целостности, а также указано, какие поля покрываются ICV и что передается.
Число битов | Когда требуется [1] | Покрывается | Передается | |
IP Header | переменное | M | [2] | да |
Next Header | 1 | M | да | да |
Payload Len | 1 | M | да | да |
RESERVED | 2 | M | да | да |
SPI | 4 | M | да | да |
Seq# (младшие 32 бита) | 4 | M | да | да |
ICV | переменное | M | да [3] | да |
IP datagram [4] | переменное | M | да | да |
Seq# (старшие 32 бита) | 4 | При поддержке ESN | да | нет |
ICV Padding | переменное | Если нужно | нет |
- [ 1 ] M = mandatory — обязательно.
- [ 2 ] Информация о покрываемых полях заголовка IP приведена в параграфе 3.3.3.
- [ 3 ] Обнуляется перед расчетом ICV и результат расчета помещается в это поле.
- [ 4 ] В туннельном режиме — дейтаграмма IP, в транспортном — следующий заголовок и данные.
Описание полей заголовка AH приводится в последующих параграфах. Все описанные здесь поля являются обязательными, т. е., всегда должны присутствовать в заголовке AH и учитываются при расчете значения для контроля целостности (ICV — Integrity Check Value) (см. параграфы 2.6 и 3.3.3).
Предполагается, что все криптографические алгоритмы IPsec используют на входе канонический сетевой порядок байтов (см. Приложение к RFC 791 [RFC791]) и на выходе дают результат также в каноническом сетевом порядке байтов.
При передаче пакетов IP также используется сетевой порядок байтов.
AH не содержит номера версии, следовательно для обеспечения совместимости со старыми версиями информация о версии идентификационного заголовка должна передаваться с помощью механизмов сигнализации между партнерами IPsec (например, IKE [IKEv2] или настройка по отдельному каналу).