当使用 DHCP 进行地址分配时,DHCPv6 客户端使用的初始源地址是什么?

当使用 DHCP 进行地址分配时,DHCPv6 客户端使用的初始源地址是什么?

什么时候DHCPv6用于地址分配(由M标志决定新民主党在路由器通告消息 (Router Advertising Message) 中,主机显然还没有有效的链路本地地址。

为了无状态地址自动配置指定主机发送初始邻居请求消息,使用 IPv6 未指定地址 (::) 作为源地址 (RFC 4862 - 第 5.4.2 节)。

但是 DHCPv6 并未指定要使用的任何初始地址。它只是指定客户端在使用单播地址直接向服务器发送 DHCP 消息时必须有一个地址(RFC 8415 - 第 17.1 节

所以...

1.那么DHCPv6分配地址时,主机/客户端的初始源地址是什么呢?是未指定的地址吗?

2.如果是未指定地址,那么在某处是否规定,当没有源地址时,源地址就自动必须是未指定地址?

答案1

您声明

该主机显然还没有有效的链路本地地址。

但事实并非如此。

DHCPv6 的 RFC8415告诉

客户端使用链路本地地址或通过其他机制确定的地址用于发送和接收 DHCP 消息。

因此,合理的方法是:

  • 让无状态地址自动配置创建一个有效的链路本地地址(创建链路本地地址)(或提供“通过其他机制确定的地址”),
  • 使用此地址作为 DHCPv6 消息中的源

为了支持这一立场(您显然驳回了这一立场),以下是来自 RFC8415 的其他信息:

3. 背景

IPv6 的两个优点是需要支持多播,并且 节点可以在初始化期间创建链路本地地址. 这些功能的可用性意味着客户端可以使用其链路本地地址以及一个众所周知的多播地址,用于发现其链路上的 DHCP 服务器或中继代理并与其进行通信。

4.1 IPv6 术语

链路本地地址

具有仅链路范围的 IPv6 地址,通过前缀 (fe80::/10) 表示,可用于到达连接到同一链路的相邻节点。 DHCPv6 可合理使用的每个 IPv6 接口都有一个链路本地地址

相关内容