Mik*_*e B 1 networking windows apipa
我的理解是,使用 APIPA,客户端可以在 DHCP 服务器不可用时自动自行配置 IP 地址和子网掩码。我知道由于多种原因,这种方法并不实用,但我很好奇:协议中是否内置了任何内容来检查给定的 IP 地址是否正在使用中?
例如,假设我的主机选择使用169.254.0.2
. 如果广播域中的另一台主机已经拥有该地址怎么办?我的房东甚至会在完成自我分配之前进行检查吗?
两台设备为自己选择同一个IP几乎是不可能的。
每个设备获取一个地址,然后通过广播 ARP Probe 数据包来测试它是否已在使用中。所有冲突情况都得到了很好的涵盖,例如在没有答案到达时重复请求、另一个设备对同一 IP 的 ARP 请求等等。
最后,设备通过 ARP 使用其选择的 IP 向网络宣布自己,由算法保证是唯一的(或几乎保证)。
有关详细信息,请参阅 RFC 5227 ,其中包含所有 ad-hoc 网络必须遵循的标准。
链接本地地址 是该算法的一个变体,于 1998 年首次在 MacOS 9 中实现,其中每个设备选择一个随机地址作为其第一次尝试。这里的标准是 RFC 3927。