接上篇blog (59条消息) [RFC5996 翻译一] IKEv2 互联网密钥交换协议版本2_羊羊洒洒_Blog的博客-CSDN博客
3.15.配置负载 Configuration Payload
配置负载,在本文档中表示为 CP,用于在 IKE 对等体之间交换配置信息。交换是为了让 IRAC 从 IRAS 请求一个内部 IP 地址,并交换其他信息,如果 IRAC 直接连接到 LAN,则可以使用动态主机配置协议 (DHCP) 获取此类信息。
配置负载定义如下:
配置有效负载的有效负载类型为四十七 (47)。
o CFG 类型(1 个八位字节) - 由配置属性表示的交换类型。 下表中的值仅是截至 RFC 4306 发布日期的最新值。 其他值可能自那时起添加,或者将在本文档发布后添加。 读者应参考 [IKEV2IANA] 了解最新值。
CFG Type Value
--------------------------
CFG_REQUEST 1
CFG_REPLY 2
CFG_SET 3
CFG_ACK 4
o 保留(3 个八位字节) - 必须以零形式发送;必须在收到时忽略。
o 配置属性(可变长度) - 这些是特定于配置有效负载的类型长度值 (TLV) 结构,定义如下。 此负载中可能有零个或多个配置属性。
3.15.1. 配置属性
o 保留(1 位) - 此位必须设置为零,并且在收到时必须忽略。
o 属性类型(15 位) - 每个配置属性类型的唯一标识符。
o 长度(2 个八位字节,无符号整数)- 以值的八位字节为单位的长度。
o 值(0 个或多个八位字节) - 此配置属性的可变长度值。 下面列出了属性类型。
下表中的值仅是截至 RFC 4306 发布日期的最新值(本文档删除的INTERNAL_ADDRESS_EXPIRY和INTERNAL_IP6_NBNS除外)。 其他值可能自那时起添加,或者将在本文档发布后添加。 读者应参考 [IKEV2IANA] 了解最新值。
Attribute Type Value Multi-Valued Length
------------------------------------------------------------
INTERNAL_IP4_ADDRESS 1 YES* 0 or 4 octets
INTERNAL_IP4_NETMASK 2 NO 0 or 4 octets
INTERNAL_IP4_DNS 3 YES 0 or 4 octets
INTERNAL_IP4_NBNS 4 YES 0 or 4 octets
INTERNAL_IP4_DHCP 6 YES 0 or 4 octets
APPLICATION_VERSION 7 NO 0 or more
INTERNAL_IP6_ADDRESS 8 YES* 0 or 17 octets
INTERNAL_IP6_DNS 10 YES 0 or 16 octets
INTERNAL_IP6_DHCP 12 YES 0 or 16 octets
INTERNAL_IP4_SUBNET 13 YES 0 or 8 octets
SUPPORTED_ATTRIBUTES 14 NO Multiple of 2
INTERNAL_IP6_SUBNET 15 YES 17 octets
* 仅当请求了多个值时,这些属性才可以在返回时具有多个值。
o INTERNAL_IP4_ADDRESS,INTERNAL_IP6_ADDRESS - 内部网络上的地址,有时称为红色节点地址或专用地址,它可能是Internet上的专用地址。 在请求消息中,指定的地址是请求的地址(如果没有请求特定地址,则为零长度地址)。 如果请求特定地址,则可能表示以前存在与此地址的连接,并且请求者希望重用该地址。 使用 IPv6,请求者可以提供它想要使用的低阶地址八位字节。 可以通过请求多个内部地址属性来请求多个内部地址。响应者最多只能发送请求的地址数。 INTERNAL_IP6_ADDRESS由两个字段组成:第一个是 16 个八位字节的 IPv6 地址,第二个是 [ADDRIPV6] 中定义的一个八位字节前缀长度。 只要请求该地址的此 IKE SA(或其重新键入的后续地址)有效,请求的地址就是有效的。 第 3.15.3 节对此有更详细的描述。
o INTERNAL_IP4_NETMASK - 内部网络的网络掩码。 请求和响应消息中只允许使用一个网络掩码(例如,255.255.255.0),并且必须仅与INTERNAL_IP4_ADDRESS属性一起使用。 CFG_REPLY中的INTERNAL_IP4_NETMASK与包含相同信息INTERNAL_IP4_SUBNET大致相同("通过我向这些地址发送流量"),但也意味着链接边界。 例如,客户端可以使用自己的地址和网络掩码来计算链路的广播地址。 空INTERNA