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)