我有一个测试场景,其中我们的设备将插入网络,而没有静态 IP 并且网络中没有 DHCP 服务器。
目的是创建设备自动配置为随机本地链路地址 - 169.254.xx 的场景
但 RFC 指出,“如果您的设备启用了 DHCP,并且没有 DHCP 服务器且没有可用的静态 IP,则设备应该选择链路本地地址”
我知道如何在我的设备中启用 DHCP - 但如何确保网络中没有运行 DHCP 服务器?
答案1
我确实没有最佳实践,但我知道客户端通常采用多种方法通过 DHCP 发现数据包联系 DHCP 服务器。也许您想使用 wireshark(其他产品可用)执行数据包捕获,以确定采取的方法数量/所用时间。
您是否正在尝试编写自己的 DHCP 客户端?因为其他方法可以定期获取分配给相关接口的 IP 地址。如果客户端被告知执行 DHCP,则通常不会分配 IP 地址,直到发生以下两个事件之一
- 有一个 DHCP 服务器,并且它成功为您分配了一个 IP 地址
- 您的客户端无法通过 DHCP 服务器获取 IP 地址,因此为自己分配了一个链路本地 IP 地址