子网 IPv6 的最大主机数

网络工程 ip 子网 IPv6 协议论 多播
2022-02-23 07:40:24

当接口采用 IPv6 地址时,它会执行 DAD 机制。一个 NS 将被发送到多播地址“请求的节点多播组地址”。如果此多播组中有另一个接口,则不会采用此地址。

在我看来,不同请求的节点多播地址的数量是多少(2^48)-1所以一个子网的最大地址是(2^48)-1

它是否正确?

1个回答

根据RFC 4861,IP 版本 6 (IPv6) 的邻居发现,重复地址检测的邻居请求消息被发送到目标地址,而不是请求的节点多播地址。它是多播冲突情况下的回复:

邻居请求和广告消息也用于 [ ADDRCONF ] 指定的重复地址检测。特别是,重复地址检测会发送带有未指定源地址的邻居请求消息,以针对其自己的“暂定”地址。此类消息触发已经使用该地址的节点以指示该地址正在使用中的多播邻居广告进行响应。

理论上,标准 IPv6/64网络上的主机地址数为2^64( 18,446,744,073,709,551,616)。在实践中,即使是这么多主机中的一小部分,LAN 也会中断,但这与 LAN 拓扑和协议有关,而不是 IPv6。

一些 LAN 协议使用 48 位 MAC 地址,因此理论上 LAN 上的最大主机数为2^48( 281,474,976,710,656) 个主机,但其中许多 MAC 地址无法使用。一些 LAN 协议使用 64 位 MAC 地址,允许与 IPv6 理论最大值匹配的理论最大值,但同样,许多 64 位 MAC 地址不能使用。一些 LAN 协议使用其他地址,或者根本不使用地址。

实际上,如果您查看请求节点多播地址是如何创建的,它们使用24目标单播地址的最后一位,因此存在2^24可能的请求节点地址。我不确定你从哪里想出的2^48,也不知道你为什么要从那个数字中减去一个。请求节点地址的想法不是它是唯一的,实际上这个想法是它不是唯一的,因为希望主机接口上的所有地址都解析为相同的请求节点多播地址,但是您想减少被中断的主机数量。广播将中断 LAN 上的所有主机,但请求的节点多播地址将中断少得多的主机,可能只中断单个目标主机。