DHCP 以及 DHCP 的工作原理

举报
Tiamo_T 发表于 2022/07/21 18:03:11 2022/07/21
【摘要】 在本文中,我们将了解构成此功能基础的 DHCP 概念。

计算机网络可以是 LAN、WAN 等任何形式。如果您连接到本地 LAN 或 Internet 连接,则 IP 地址构成计算机网络通信的基础。IP 地址是连接到任何网络的主机或计算机设备的身份。

在大多数情况下,当您将计算机连接到 LAN 或 Internet 时,您会注意到 IP 地址和其他信息(如子网掩码等)会自动分配给您的计算机。你有没有想过这是怎么发生的?在本文中,我们将了解构成此功能基础的 DHCP 概念。

什么是 DHCP?

DHCP 代表动态主机配置协议。

顾名思义,DHCP 是用来通过远程服务器控制主机的网络配置的。DHCP 功能作为默认功能安装在大多数现代操作系统中。DHCP 是主机或网络设备上耗时的手动网络设置配置的绝佳替代方案。

DHCP 在客户端-服务器模型上工作。作为一种协议,它有自己的一组在客户端和服务器之间交换的消息。

DHCP 是如何工作的?

在了解 DHCP 实现其目标的过程之前,我们首先必须了解该过程中使用的不同消息。

1. DHCP发现

它是一个 DHCP 消息,标志着客户端和服务器之间的 DHCP 交互的开始。此消息由连接到本地子网的客户端(连接到网络的主机或设备)发送。这是一个广播消息,使用 255.255.255.255 作为目标 IP 地址,而源 IP 地址是 0.0.0.0

2. DHCP提供

它是 DHCP 服务器响应 DHCPDISCOVER 发送给 DHCP 客户端的 DHCP 消息。此消息包含发送 DHCPDISCOVER 消息的客户端的网络配置设置。

3. DHCP请求

此 DHCP 消息是响应 DHCPOFFER 发送的,表明客户端已接受服务器在 DHCPOFFER 消息中发送的网络配置。

4. DHCPACK

此消息由 DHCP 服务器发送,以响应从客户端收到的 DHCPREQUEST。此消息标志着以 DHCPDISCOVER 开始的进程结束。DHCPACK 消息不过是 DHCP 服务器的确认,它授权 DHCP 客户端开始使用它之前从 DHCP 服务器收到的网络配置。

5. DHCPNAK

此消息与上述 DHCPACK 完全相反。当 DHCP 服务器无法满足来自客户端的 DHCPREQUEST 消息时,会发送此消息。

6. DHCP 拒绝

如果客户端发现 DHCP 服务器分配的 IP 地址已被使用,则此消息从 DHCP 客户端发送到服务器。

7. DHCPINFORM

此消息从 DHCP 客户端发送,以防客户端上静态配置 IP 地址,并且只希望从 DHCP 服务器动态获取其他网络设置或配置。

8. DHCP释放

此消息由 DHCP 客户端发送,以防它想要终止 DHCP 服务器提供的网络地址的租约。

现在我们了解了各种 DHCP 消息,是时候完成完整的 DHCP 过程,以更好地了解 DHCP 的工作原理。请注意,下面提到的步骤假定客户端默认启用 DHCP 功能。

以下是步骤:

  • 第 1 步:当客户端计算机(或设备)启动或连接到网络时,客户端会向服务器发送 DHCPDISCOVER 消息。由于客户端没有网络配置信息,所以消息以 0.0.0.0 作为源地址,255.255.255.255 作为目标地址发送。如果 DHCP 服务器在本地子网上,那么它直接接收消息,或者如果它在不同的子网上,则使用连接在客户端子网上的中继代理将请求传递给 DHCP 服务器。该消息使用的传输协议是UDP,使用的端口号是67。客户端在这一步进入初始化阶段。
  • 第2步:当 DHCP 服务器收到 DHCPDISCOVER 请求消息时,它会回复 DHCPOFFER 消息。如前所述,此消息包含客户端所需的所有网络配置设置。例如,消息的 yaddr 字段将包含要分配给客户端的 IP 地址。同样,子网掩码和网关信息填写在选项字段中。此外,服务器在 chaddr 字段中填写客户端 MAC 地址。此消息作为广播 (255.255.255.255) 消息发送,供客户端直接接收,或者如果 DHCP 服务器位于不同的子网中,则此消息将发送到中继代理,中继代理负责处理消息是否作为单播传递或广播。在这种情况下,在传输层使用 UDP 协议,目的端口为 68。
  • 步骤 3:客户端形成一个 DHCPREQUEST 消息作为对 DHCPOFFER 消息的回复,并将其发送给服务器,表明它希望接受在 DHCPOFFER 消息中发送的网络配置。如果有多个 DHCP 服务器接收到 DHCPDISCOVER,那么客户端可以接收到多个 DHCPOFFER 消息。但是,客户端通过使用特定 DHCP 服务器的 IP 地址填充服务器标识字段来仅回复其中一条消息。来自其他 DHCP 服务器的所有消息都被隐式拒绝。DHCPREQUEST 消息仍将包含源地址为 0.0.0.0,因为仍然不允许客户端使用通过 DHCPOFFER 消息传递给它的 IP 地址。客户端在此步骤中进入请求阶段。
  • 第 4 步:一旦服务器收到来自客户端的 DHCPREQUEST,它会发送 DHCPACK 消息,指示现在允许客户端使用分配给它的 IP 地址。客户端在此步骤中进入绑定状态。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。