RFC 2462 指定:
5.5.2. 缺少路由器通告
如果链路没有路由器,主机必须尝试使用状态自动配置来获取地址和其他配置信息。在这种情况下,实现可以提供一种方法来禁用状态自动配置的调用,但应启用默认设置。从自动配置的角度来看,如果在发送少量路由器请求(如 [DISCOVERY] 中所述)后未收到路由器通告,则链路没有路由器。
如果我理解正确的话,如果主机在请求时或在指定的时间限制内未能收到路由器通告,则它应该使用 DHCPv6 进行地址配置。
由于 DHCPv6 无法携带有关默认网关的信息(https://datatracker.ietf.org/doc/html/draft-droms-dhc-dhcpv6-default-router-00已被弃用),地址配置的意义何在(由于 DHCPv6 缺少前缀信息,该地址甚至不能用于链路本地流量)?
答案1
邻居发现协议(路由器通告是其中的一部分)目前是自动配置客户端路由器选项的唯一方法。人们正在争论这是否是 DHCPv6 协议的真正缺点,或者 NDP-RA 是否足够。有不少人认为 DHCPv6 完全没有必要,也应该弃用(我不想在这里讨论这个问题,但它很“热门”)。
此外,您链接的 DHCPv6 路由器选项草案是原始草案,它们是目前为第 4 稿。
关键论点是,如果您的路由器没有广播 NDP-RA,那么它们一定无法正常工作,而且您无论如何都不希望客户端尝试联系它们。这允许您更轻松地配置备份路由器,因为客户端会自动找到它。
我测试过的 Windows (6.0+)、BSD 和 Linux 客户端都将接受 NDP-RA 公告并寻求 DHPCv6 信息,正如人们所期望的那样。目前,您可以使用 mDNS/Bonjour 协议自动配置这些客户端的 DNS(对于大多数企业来说,这是一种不可接受的解决方案)。NTP 具有多播和广播功能。WINS 具有 NetBIOS。只有少数常用的配置选项尚无法替换(尤其是 PXE 和 DHCP 的集中管理方面)。
DHCPv6 和 NDP 均无法解决计算机通过本质上不受信任的网络接收自动配置信息的安全问题。对于完全未配置且没有证书或信息作为安全依据的计算机而言,尤其如此。