DHCP 是 Dynamic Host Configuration Protocol (动态主机配置协议)的缩写 。
1. DHCP 理论
1.1 DHCP的定义和作用
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地址的使用率。
1.2 使用DHCP的原因
(1)从用户角度看
IP地址是每个网络节点的标识,网络中每一台计算机都需要配置IP地址才能接通互联网。但是绝大多数用户都不精通IP地址的设置,让用户自行分配地址,不但会降低用户体验,而且,从用户的技术能力上看,也是行不通的。
(2)从技术角度看
通过动态主机配置协议(DHCP)服务,网络中的设备可以从DHCP服务器中获取IP地址等相关信息。
与手工配置IP地址相比较,以下是DHCP的优点
配置不容易出错。手工配置IP地址、子网掩码、网关和DNS等地址参数的过程中有操作失误的风险。对IP地址分配有较好的灵活性。网络拓扑发生变化时,手动配置的IP地址等信息可能发生变化,人工修改各项参数效率低。对IP地址资源利用率高。人工配置IP地址,容易发生记忆错误。配置工作量小。如果有大量主机存在且需要大量IP地址,那么人工配置的工作量可想而知。配置工作量会随着主机数量的增加而增大。
总而言之,DHCP对IP地址的配置、利用都做出了较好的优化。大大提高了配置效率,和IP地址利用率和使用效率。
备注:在网络范围内可能存在多个DHCP服务器,各自负责不同的网段,也可能由同一个DHCP服务器,负责多个不同网段的地址分配。
1.3 DHCP工作过程及原理
(1)DHCP工作过程
DHCP采用客户端/服务器通信模式,即C/S。需要客户端主动向服务器提出请求分配网络配置参数的申请,然后服务器返回给客户端分配的IP地址配置信息。
在DHCP经典应用中,一般包含一台DHCP服务器和多台客户端。
DHCP协议采用UDP作为传输协议,客户端发送广播消息到服务器的68号端口,服务器回应广播消息给客户端的67号端口。
DHCP客户端 从 DHCP服务器获取IP地址,主要通过四个阶段进行:分别是DISCOVER(发现)、OFFER(提供)、REQUEST(选择/请求)和ACK(确认)。
(2)DHCP工作原理
第一阶段:discover阶段(发现阶段),客户端在LAN中以广播方式发送DISCOVER报文。当广播报文DISCOVER被DHCP服务器接受到后,进入第二阶段offer阶段。
第二阶段:offer阶段(提供阶段),DHCP服务器收到DISCOVER报文后,会根据IP地址分配的优先次序选出一个地址,与其他参数一起被封装到名为offer的报文中。然后DHCP服务器再次以广播方式将offer报文发送给客户端。
备注 :如果LAN中有多台DHCP服务器,所有服务器都会向客户端发送OFFER报文,这时候服务器只是提供了一个分配建议,IP地址并没有分配给客户端。
第三阶段:request阶段(选择阶段),客户端收到OFFER报文后,以广播方式发送REQUEST报文,这个报文的选项字段中会加入被选中的DHCP服务器的IP地址和客户端需要的IP地址。
备注:客户端采用先到先得的机制,根据第一个收到的OFFER报文返回REQUEST报文。其他DHCP服务器在这次没有成功分配出的IP地址,可以分配其他客户端,不会被占用。
第四阶段:ack阶段(确认阶段),DHCP服务器确认IP地址分配。DHCP服务器收到客户端发送的REQUEST报文后,被客户端选择的服务器会返回ACK报文,确认将地址分配给该客户端。如果收到了错误的REQUEST报文,服务器会返回NAK报文,表明地址不能分配给该客户端。而没有被客户端选择的DHCP服务器,不会进行任何响应。在客户端收到服务器返回的ACK确认报文后,会以广播方式发送免费ARP报文,探测是否有其他客户端正在使用服务器分配的IP地址,如果在规定时间内没有收到响应,客户端才使用这个地址。否则,客户端会发送DECLINE报文给DHCP服务器,表示服务器分配的地址已经被占用,并重新申请IP地址。
四个阶段完成之后,客户端才真正分配到了IP地址。
(3)租约更新
在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
到此这篇关于Windows Server 2019 DHCP服务器配置与管理——理论 Ⅰ的文章就介绍到这了,更多相关DHCP服务器配置与管理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!