📜  DHCP 服务器如何为主机动态分配 IP 地址?

📅  最后修改于: 2021-10-19 04:54:15             🧑  作者: Mango

DHCP 是动态主机配置协议的缩写。它是主机用于获取网络设置信息的应用层协议。 DHCP 由 DHCP 服务器控制,该服务器动态分配IP 地址、子网掩码和网关地址等网络配置参数。

什么是动态主机配置协议?

  • 动态 – 自动
  • 主机 – 连接到网络的任何计算机
  • 配置 – 配置主机意味着向主机提供网络信息(IP 地址、子网掩码、网关地址)
  • 协议 – 一套规则

总之,DHCP 服务器动态配置网络中的主机。

手动配置主机的缺点:当主机连接到网络时,配置主机可以手动完成,即由网络管理员或 DHCP 服务器完成。在家庭网络的情况下,手动配置非常容易。而在大型网络中,网络管理员可能会面临很多问题。
此外,手动配置容易出错。假设网络管理员可能会分配一个已经分配的 IP 地址。因此,这给网络上的管理员和邻居带来了困难。

所以,这里是使用DHCP服务器。在讨论 DHCP 服务器如何工作之前,让我们先了解一下 DHCP 实体。

使用 DHCP 配置主机

要配置主机,我们需要以下内容:

  • 租用 IP 地址– 主机的 IP 地址,持续特定时间,持续数小时、数天或数周。
  • 子网掩码– 主机可以知道它所在的网络。
  • 网关地址——网关是将用户连接到互联网的互联网服务提供商。网关地址让主机知道网关在哪里连接到互联网。

DHCP 实体

  • DHCP 服务器:租用时自动提供网络信息(IP 地址、子网掩码、网关地址)。一旦持续时间到期,该网络信息可以分配给其他机器。它还维护用于存储可用 IP 地址的数据存储。
  • DHCP客户端:  任何向网络请求分配 IP 地址的节点都被视为 DHCP 客户端。
  • DHCP 中继代理:如果我们只有一个用于多个 LAN 的 DHCP 服务器,那么出现在每个网络中的这个代理会将 DHCP 请求转发到 DHCP 服务器。因此,使用 DHCP 中继代理,我们可以使用单个服务器配置多个 LAN。

DHCP 服务器如何为主机分配 IP 地址?

  1. DHCPDISCOVER:当新节点连接到网络时,它向网络上的每个节点(包括服务器)广播包含源地址为 0.0.0.0 的 DHCPDISCOVER 消息。 DHCP 服务器收到消息后,向请求的主机返回 DHCPOFFER 消息,其中包含服务器地址和节点的新 IP 地址。
  2. DHCPOFFER:如果网络上有多个服务器,主机会收到多个 DHCPOFFER 消息。由主机选择特定消息。
  3. DHCPREQUEST:被请求的主机收到offer消息后,再次在网络上广播DHCPREQUEST消息,其中包含主机接受offer消息的服务器地址。与主机发送的服务器地址相关的服务器检查要分配给节点的地址在数据存储中是否可用。
  4. DHCPACK:如果分配了地址,则将存储中的IP地址标记为不可用以确保一致性。现在,服务器向请求的主机发送 DHCPACK 数据包,其中包含网络信息(IP 地址、子网掩码、网关地址)。如果同时将地址分配给其他机器,则服务器向请求的主机发送数据包 DHCPNAK,指示 IP 地址分配给其他机器。
  5. DHCPRELEASE :最后,如果主机想要移动到其他网络或者它已经完成了它的工作,它会向服务器发送 DHCPRELEASE 数据包,表明它要断开连接。然后服务器将存储中的 IP 地址标记为可用,以便可以将其分配给其他机器。

参考:
有关 DHCP 协议的参考,请单击此处