3.2. 通用 Payload 头
3.2. 通用 Payload 头
所有 IKE payload 都以相同的方式开始:一个通用 payload 头,后跟特定于该 payload 类型的数据。
通用 payload 头格式如下:
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: 通用 Payload 头格式
o Next Payload (1 字节) - 指示消息中下一个 payload 的类型。如果当前 payload 是消息中的最后一个,则设置为 0。这是 payload 类型注册表中定义的值。
o Critical (1 位) - 指示此 payload 对消息解释的重要性。对于不支持该 payload 类型的实现,若设置为 1,则 MUST 拒绝整条消息(如适用,返回 UNSUPPORTED_CRITICAL_PAYLOAD 通知);若设置为 0,则 MUST 忽略该 payload。
o RESERVED (7 位) - 必须发送为 0,接收时必须忽略。
o Payload Length (2 字节) - 以字节为单位的长度,包括通用 payload 头。
注意,payload 类型值(及其在"Next Payload"字段中的编码)在 IANA 的"IKEv2 Payload Types"注册表中定义。