IPv6 SLAAC 和静态 DAD

网络工程 ip 协议理论 ipv6 IP地址
2021-07-19 20:21:16

我开始学习 IPv6,我想知道当您将 SLAAC 和静态地址混合在同一个/64.

我目前的理解如下:

  1. 具有静态配置地址的机器 A。
  2. 机器 B 上线,并使用 SLAAC 生成自己的地址,该地址与机器 A 的 IP 匹配
  3. 机器B发出邻里广告
  4. 机器 B 收到机器 A 的响应
  5. 机器 B 再生其 SLAAC
  6. 机器 B 发出新的邻里广告
  7. 机器 B 没有收到回复
  8. 机器 B 有一个新地址

现在,出于某种奇怪的原因,我们要扭转这种局面:

  1. 有一个机器 A,它通过 SLAAC 有一个地址,没有冲突。
  2. 机器 B 上线,它只有一个静态配置的地址。
  3. 机器 B 的地址与机器 A 冲突。
  4. ???

4. 会发生什么?

  • 机器 A 会检测到机器 B 并改变吗?
  • 机器 B 是否仍会获取地址并造成严重破坏?
  • ……?...

最后:

我知道有不同的方法可以更好地解决这个问题,但让我们假设这种情况。

1个回答

在任何一种情况下都需要进行重复地址检测。机器 B 不应接受与现有地址冲突的手动配置地址。无论是SLAAC、DHCPv6还是手动配置地址,都需要DAD。

这在多个 RFC 中有解释。例如RFC 4862,IPv6 无状态地址自动配置,第 5.4 节重复地址检测

根据RFC 8504,IPv6 节点要求,所有主机都需要它

所有节点必须实现重复地址检测。引用 RFC 4862 的第 5.4 节

在将所有单播地址分配给接口之前,必须对所有单播地址执行重复地址检测,无论它们是通过无状态自动配置、DHCPv6还是手动配置获得的,以下[其中注明的例外情况]。


任何特定的主机操作系统如何处理这里都是题外话,但如果尝试手动配置重复地址,您可能会看到错误。

.