我想知道是否有人能够告诉我何时将状态代码选项 (OPTION_STATUS_CODE) 添加到 OPTION_IAADDR 或 OPTION_IAPREFIX (RFC3633) 的选项字段中。RFC 似乎给出了何时应将其包含在 IA_TD/IA_NA 选项中而不是地址的子选项中的示例。
RFC 特别允许将状态代码添加到地址的选项字段:
RFC 3315 规定:
涉及此 IA 地址的任何操作的状态在 IAaddr-options 字段中的状态代码选项中指示。
RFC 3633 规定:
涉及此 IA_PD 前缀选项的任何操作的状态都在 IAprefix-options 字段中的状态代码选项中指示。
但是,我似乎找不到发生这种情况的合适方案。
例如,客户端的 RENEW 请求具有无法识别的地址(根据 3315):
如果服务器发现任何地址不适合客户端所连接的链接,则服务器将地址返回给客户端,其生命周期为 0。
来自地址无法识别的客户端的 DECLINE 请求(根据 3315):
如果服务器发现任何地址不再适合客户端所连接的链接,则服务器将地址返回给客户端,其生命周期为 0。
来自不适当地址的客户的请求(根据 3315):
如果服务器发现来自客户端的消息中任何 IA 中的一个或多个 IP 地址的前缀不适合客户端所连接的链接,则服务器必须将 IA 与 Status Code 选项一起返回给客户端NotOnLink 的值。
在上面的 REQUEST 语句的情况下,我发现 NotOnLink 状态被添加到 IA 选项,而不是内部 OPTION_IAADDR 对我来说更有意义。
在浏览了几次 RFC 之后,在我看来 OPTION_IAADR 的状态代码只是一个“可选”额外的 - 我假设可以设置它,同时在更新的情况下向客户端返回 0 的生命周期带有不适当地址的消息。
有谁知道我的假设是否正确,或者我是否在某处(或现实世界的示例)遗漏了 IA 地址选项字段中状态代码选项的记录用例?