跳到主要内容

3.10. Notify Payload

3.10. Notify Payload​

Notify 负载用于传达与 IKE SA 或 IPsec SA 相关的状态或错误信息。

Notify 负载格式如下:

                 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 Payload |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol ID | SPI Size | Notify Message Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Security Parameter Index (SPI) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Notification Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 13:  Notify 负载格式

o Protocol ID (1 字节) - 该通知适用的协议。对于 IKE SA 通知,为 1 (IKE)。对于 IPsec SA 通知,为 2 (AH) 或 3 (ESP)。如果通知与特定的 Child SA 无关,则可为 0。

o SPI Size (1 字节) - 后续 SPI 字段的长度(以字节为单位)。对于 IKE 通知,为 0;对于 IPsec 通知,为 4。如果通知与特定的 SA 无关,则为 0。

o Notify Message Type (2 字节) - 通知的类型。类型值在 IANA 注册表中定义。

o SPI (变长) - 受影响的 SA 的 SPI。如果 SPI Size 为 0,则省略。

o Notification Data (变长) - 一些通知类型包含的附加数据。

Notify 消息类型分为以下几类:

  • 0-16383:状态码(Status),表示与 SA 相关的状态信息。
  • 16384-24575:错误码(Error),表示处理请求时遇到的问题。
  • 24576-32767:保留用于私有使用。

一些常见的通知类型包括:

  • 1 - 不支持的交换类型 (UNSUPPORTED_CRITICAL_PAYLOAD)
  • 7 - 无效 IKE SPI (INVALID_IKE_SPI)
  • 9 - 无效的 major 版本 (INVALID_MAJOR_VERSION)
  • 14 - 无效语法 (INVALID_SYNTAX)
  • 17 - 无效的选择器 (INVALID_SELECTORS)
  • 24 - 认证失败 (AUTHENTICATION_FAILED)
  • 34 - TEMPORARY_FAILURE
  • 35 - CHILD_SA_NOT_FOUND
  • 16384 - 初始联系人 (INITIAL_CONTACT)
  • 16385 - 设置窗口大小 (SET_WINDOW_SIZE)
  • 16386 - 附加地址 (ADDITIONAL_ADDRESS)
  • 16387 - 配置负载可用 (CONFIGURATION_PAYLOAD_AVAILABLE)
  • 16388 - 非第一种地址 (NO_ADDITIONAL_ADDRESSES)
  • 16389 - 多地址 (MULTIPLE_ADDRESS)
  • 16390 - 改变地址 (CHANGE_ADDRESS)
  • 16391 - 改变端口 (CHANGE_PORT)
  • 16392 - NAT 检测源 IP (NAT_DETECTION_SOURCE_IP)
  • 16393 - NAT 检测目标 IP (NAT_DETECTION_DESTINATION_IP)
  • 16401 - 认证已验证 (AUTHENTICATION_VERIFIED)
  • 16402 - 删除重新传输 (DELETE_RETRANSMIT)
  • 16403 - 非删除重新传输 (NON_DELETE_RETRANSMIT)
  • 16404 - 非首次地址 (NON_FIRST_ADDRESS)
  • 16405 - 伪连接 (TS_UNACCEPTABLE)
  • 16406 - 无效证书 (INVALID_CERTIFICATE)
  • 16407 - 证书撤销 (CERTIFICATE_REVOKED)
  • 16408 - 无效密钥 (INVALID_KEY)
  • 16409 - 无效证书签名 (INVALID_CERT_SIGNATURE)
  • 16410 - 证书未找到 (CERTIFICATE_NOT_FOUND)