DHCP 是 Dynamic Host Configuration Protocol (动态主机配置协议)的缩写 。
动态主机配置协议 (DHCP) 是一种客户端/服务器协议,它自动提供 Internet 协议 (IP) 主机及其 IP 地址和其他相关配置信息,例如子网掩码和默认网关。 RFC 2131 和 2132 将 DHCP 定义为基于 Bootstrap 协议 (BOOTP) 的 Internet 工程任务组 (IETF) 标准,此协议与 DHCP 共享许多实现详细信息。 DHCP 允许主机从 DHCP 服务器获取所需的 TCP/IP 配置信息。
Windows Server 2019 DHCP 服务器,这是一个可选的网络服务器角色,可以部署该角色以将 IP 地址和其他信息租用到 DHCP 客户端。 所有Windows客户端操作系统都包括作为 TCP/IP 一部分的 DHCP 客户端,并且 DHCP 客户端默认已启用。
DHCP通常在局域网(LAN)环境中使用。它的主要作用是:对IP地址进行集中管理和分配,使网络环境中的主机动态的获得IP地址、网关地址、DNS服务器地址等信息,并提升IP地址的使用率。
IP地址是每个网络节点的标识,网络中每一台计算机都需要配置IP地址才能接通互联网。但是绝大多数用户都不精通IP地址的设置,让用户自行分配地址,不但会降低用户体验,而且,从用户的技术能力上看,也是行不通的。
通过动态主机配置协议(DHCP)服务,网络中的设备可以从DHCP服务器中获取IP地址等相关信息。
与手工配置IP地址相比较,以下是DHCP的优点
总而言之,DHCP对IP地址的配置、利用都做出了较好的优化。大大提高了配置效率,和IP地址利用率和使用效率。
备注:在网络范围内可能存在多个DHCP服务器,各自负责不同的网段,也可能由同一个DHCP服务器,负责多个不同网段的地址分配。
DHCP采用客户端/服务器通信模式,即C/S。需要客户端主动向服务器提出请求分配网络配置参数的申请,然后服务器返回给客户端分配的IP地址配置信息。
在DHCP经典应用中,一般包含一台DHCP服务器和多台客户端。
DHCP协议采用UDP作为传输协议,客户端发送广播消息到服务器的68号端口,服务器回应广播消息给客户端的67号端口。
DHCP客户端 从 DHCP服务器获取IP地址,主要通过四个阶段进行:分别是DISCOVER(发现)、OFFER(提供)、REQUEST(选择/请求)和ACK(确认)。
备注 :如果LAN中有多台DHCP服务器,所有服务器都会向客户端发送OFFER报文,这时候服务器只是提供了一个分配建议,IP地址并没有分配给客户端。
备注:客户端采用先到先得的机制,根据第一个收到的OFFER报文返回REQUEST报文。其他DHCP服务器在这次没有成功分配出的IP地址,可以分配其他客户端,不会被占用。
四个阶段完成之后,客户端才真正分配到了IP地址。
在Windows服务器中DHCP服务动态分配的IP地址是有使用期限的,这个期限叫做租期,默认为8天。
客户端在成功获取IP地址后,可以通过发送Release报文释放自己的IP地址,服务器收到Release报文后,会回收相应的IP地址并重新分配。
在租期使用到50%时,DHCP客户端会向DHCP服务器发送单播报文request来续租IP地址,如果DHCP客户端成功收到了服务器发送的ACK报文,会按对应的时长,延长IP地址租期。否则,客户端还是会继续使用该地址,但是在使用租期超过87.5%的时候,客户端会以广播形式向服务器发送request报文来续租IP地址。此时,如果客户端成功收到ACK报文,会按对应的时长,延长IP地址租期,否则,客户端仍然会继续使用该地址,知道IP地址租期到达100%,才会向服务器发送Release报文来释放这个IP地址。并开始新的IP地址申请过程。
Microsoft Docs:DHCP (Dynamic Host Configuration Protocol) Basics
Microsoft Docs:Dynamic Host Configuration Protocol (DHCP)
Microsoft Docs:How To Install and Configure a DHCP Server in a Workgroup