如果客户端设备联机后 DHCP 服务器联机,会发生什么情况?

Mob*_*isk 7 dhcp windows dhcp-server

如果我有一台运行 DHCP 服务器的 Windows PC。我预计启动需要几分钟的时间。我的网络将有来自不同供应商的各种其他设备,它们将在几秒钟内启动。

我还没有找到 DHCP 客户端重试的“标准”。这些设备会在 Windows DHCP 服务器启动之前超时吗?如果是这样,处理这种情况的最佳方法是什么?

说明:不涉及 Windows 客户端。客户是工业嵌入式设备,如相机、加热器和机器人。

如果 DHCP 服务器出现故障,我并不担心会发生什么。这些都是连接到单一电源的嵌入式设备。我想知道早上“工厂”通电时该怎么办。

EEA*_*EAA 7

好吧,我有几个想法:

  1. DHCP 堆栈的数量与天上的星星一样多。好吧,不完全是,但你明白了。嵌入式网络堆栈以不完整的“标准”实现而闻名。因此,它极有可能您的设备最终引导你的前DHCPd的准备,APIPA,并不会永远重试DHCP。您可以验证这一点的唯一方法是检查所涉及的每个设备的行为。
  2. 重新启动开关(如其他人所建议的)甚至可能不起作用。我见过许多嵌入式设备在引导序列中发出一次DHCP 请求,然后再也不尝试,即使 NIC 上的 PHY 链接状态发生变化。

这是我推荐的解决方案:

市场上有电源排序 PDU。这些通常是具有可编程延迟的两级或三级 PDU。有了这些,当它们通电时,它们会为第一阶段通电,等待指定的秒数,为第二阶段通电,等等。您可以将交换机和服务器连接到第一阶段,让 PDU等待 5 分钟,让服务器完成启动,然后启动第二阶段,其中包含所有其他设备。


joe*_*rty 5

对于 Windows DHCP 客户端,我可以立即想到三种方案。我无法与非 Windows DHCP 客户端通话,但我必须假设它们的操作方式相同。

  1. 在 DHCP 服务器不可用时具有活动租约的正在运行的Windows DHCP 客户端:DHCP 客户端将继续使用其当前租用的 IP 地址。当它到达续订阶段 (T1) 时,它将尝试续订现有的租约。如果它无法与可以续订现有租约的 DHCP 服务器通信,则客户端将继续尝试续订其租约,直到它到达重新绑定阶段 (T2),在该阶段它将尝试联系任何 DHCP 服务器。如果 T2 计时器到期,则客户端将释放其 IP 地址。

  2. 具有活动租用的 Windows DHCP 客户端在 DHCP 服务器不可用时重新启动:DHCP 客户端将继续使用其当前租用的 IP 地址。当它到达续订阶段 (T1) 时,它将尝试续订现有的租约。如果它无法与可以续订现有租约的 DHCP 服务器通信,则客户端将继续尝试续订其租约,直到它到达重新绑定阶段 (T2),在该阶段它将尝试联系任何 DHCP 服务器。如果 T2 计时器到期,则客户端释放其 IP 地址。这里需要注意的是,据我所知,如果 DHCP 客户端在重新启动时无法联系 DHCP 服务器,则它应该释放其现有的 ip 地址,因为它无法确认是否允许继续使用该 ip 地址。Windows 客户端似乎不是这种情况,这让我有点困惑。无论如何,我对 Windows 客户端的测试表明,当 DHCP 服务器不可用时,它们确实在重新启动时保留了现有的租用 IP 地址。

  3. 没有现有租约的 Windows DHCP 客户端:当然,DHCP 客户端将无法联系 DHCP 服务器,并且会为自己分配一个 APIPA ip 地址。正如 Neil T 在他的回答中所说,没有活动租约的 DHCP 客户端将大约每 5 分钟尝试联系一次 DHCP 服务器。

  • 好吧,您在原始问题中没有说明任何内容。有人对我的答案投了反对票,因为它不符合您的情况,但这并没有使我的答案不那么正确。如果你已经说明了你的场景的全部细节,我什至不会发布我的答案,因为它与你的场景无关。此外,我不明白为什么任何设备会偏离“标准”DHCP 客户端行为,但了解设备行为的唯一方法是在运行网络流量捕获时模拟这种情况。 (3认同)