计算机如何通过 DHCP 获取 IP 地址?

计算机如何通过 DHCP 获取 IP 地址?

计算机如何知道要查询网络上的哪个设备?默认网关对此有何影响?基本上,当计算机尝试使用 DHCP 获取 IP 地址时,会发生哪些事件链

我之所以询问是因为我想弄清楚如何最好地设置一个冗余 DHCP 服务器,以防原来的服务器由于某种原因出现故障。

答案1

它不知道要查询哪个设备。因此,它会向整个子网广播其请求。DHCP 服务器正在监听某种类型的通信,当它听到该特定广播时,它会开始与广播其请求的设备进行 DHCP 对话。查看DORA 工艺了解更多信息。

DORA 代表:

至于网关,它仅在明确将 DHCP 流量转发到另一个子网时才起作用。该功能通常称为DHCP 中继否则网关会忽略广播 DHCP 消息,就像忽略所有其他广播消息一样。

至于冗余 DHCP 服务器,您需要将它们保留在同一个子网中,并且可能使用80/20 规则。您可以设置故障转移,如果您正在使用 CentOS 作为 DHCP 服务器

答案2

DHCP(通常)是一种广播协议,因此客户端不需要了解任何有关网络的信息,它只需广播请求。

然后网络上的 DHCP 服务器会看到该请求并对其做出响应。

当然,由于路由和其他网络设备的存在,情况要复杂得多。 维基百科页面是一个很好的来源

还有相关 RFC涵盖细节。

答案3

我之所以询问是因为我想弄清楚如何最好地设置一个冗余 DHCP 服务器,以防原来的服务器由于某种原因出现故障。

首先,我很赞赏你对了解更多协议的兴趣。这是个好计划。

其次,感谢您解释您的目标;我认为这将帮助您得到一个很好的答案。

最后,我的答案是:

无论您选择使用哪种 DHCP 服务器,都可能存在故障转移/冗余配置,允许您设置可自动接管的冗余 DHCP 服务器(我相信 Windows 有这样的服务器,而且我知道 ISC 的 DHCP 服务器也可以)。这将是我的首选,因为它通常可以解决主 DHCP 服务器在发生故障之前发出的租约问题,并且它可以自动快速恢复。

第二种选择是将配置完全复制到另一台机器上,这样当第一台机器发生故障时,您可以手动启动另一台机器。但这并不是最佳选择,因为您会丢失现有的租约信息,并且第一台 DHCP 服务器发生故障和启动替换服务器之间存在隐性停机时间。

答案4

从 dhcp 服务器获取 IP 地址涉及几个步骤。

  1. 发现消息,此消息被广播以搜索 dchp 服务器

  2. 网络中的 DHCP 服务器以提供消息进行回复。

  3. DHCP 请求消息由客户端通过广播发送。该消息将通知网络中的所有 DHCP 服务器,哪些提议已被客户端接受。

  4. DHCP确认报文是服务器发送来确认的。

相关内容