DHCP服务器的工作流程可以概括为“发现-提供-请求-确认”四步,客户端从接入网络到拿到可用IP地址,全程自动完成,无需人工干预。
如果把局域网比作一个小区,DHCP服务器就是物业前台,客户端就是刚搬进来的住户,住户想上网,第一件事是找前台要一个门牌号,这个要门牌号的过程,就是DHCP服务器的工作流程,整个过程由四个报文完成,英文首字母拼起来叫DORA。
DHCP服务器工作流程的四个阶段:DORA握手全拆解
四个阶段分别是Discover、Offer、Request、ACK,每个阶段都有明确的任务,客户端和服务器之间像在对话,下面把每一步拆开看。
Discover客户端在局域网里问路
客户端刚插上网线或者连上Wi-Fi时,自己还没有IP地址,它把源地址写成0.0.0.0,目的地址写成255.255.255.255,以广播形式大喊一声:“这附近有DHCP服务器吗?”
广播包只在同一网段内传播,如果客户端和服务器不在同一个网段,需要配置DHCP中继代理来转发这个请求,这个阶段客户端并不认识任何服务器,完全是在盲发。
Offer服务器端递上可选地址
收到Discover的DHCP服务器会先看自己的地址池里还有没有空余IP,有空闲地址,就挑一个,通过Offer报文回复给客户端,这个回复里携带一组网络参数:
- 可用的IP地址
- 子网掩码
- 默认网关
- DNS服务器地址
- 租约时间
此时客户端还没真正使用这个IP,它只是收到了一个“报价”,如果局域网里有多个DHCP服务器,客户端可能同时收到多个Offer。
Request客户端拍板选定
客户端面对多个Offer,通常会选最先到达的那一个,选定之后,客户端会广播一个Request报文,内容大致是:“我决定用这个服务器给我的IP地址了。”
为什么还要广播?因为其他服务器也回了Offer,客户端得让它们知道自己没被选中,其他服务器收到这个广播后,会收回自己的报价,把之前预留的IP放回地址池。
ACK服务器最终确认
被选中的服务器收到Request后,检查这个IP是否仍然可用,如果没问题,就回复一个ACK报文,客户端收到ACK后,才会把IP地址、子网掩码、网关、DNS正式配置到网卡上。
如果IP地址刚好被其他设备占用,服务器会回复NAK,客户端收到NAK后,重新回到Discover阶段,再从头开始走一遍流程。

为了更直观,四个阶段可以用表格对照:
| 阶段 | 报文类型 | 方向 | |
|---|---|---|---|
| 阶段1 | Discover | 客户端→广播 | 源地址0.0.0.0,目的地址255.255.255.255 |
| 阶段2 | Offer | 服务器→客户端 | 可用IP、掩码、网关、DNS、租约 |
| 阶段3 | Request | 客户端→广播 | 确认选中的IP和服务器标识 |
| 阶段4 | ACK/NAK | 服务器→客户端 | 最终确认或拒绝,客户端真正配置地址 |
家用路由器DHCP怎么设置?结合工作流程看操作路径
家用路由器普遍默认开启DHCP服务,用户通常不需要改动,但遇到IP冲突或者需要手动指定设备地址时,搞清楚后台里的几个参数就很有必要。
具体操作路径如下:
- 浏览器打开路由器管理地址,常见的是168.1.1或168.0.1。
- 登录后台,找到“DHCP服务器”或“局域网设置”选项。
- 打开DHCP服务开关,设置地址池起始和结束地址,比如起始地址168.1.100,结束地址168.1.200。
- 默认网关设置为路由器LAN口地址,通常和登录地址一致。
- DNS服务器地址可以用运营商提供的,也可以填公共DNS,例如5.5.5。
- 保存设置并重启路由器。
家庭场景里,地址池范围不需要太大,终端数量通常不超过几十台,预留100到200个地址完全够用,设置好地址池后,DHCP服务器会自动维护已分配列表,避免重复分配。
DHCP服务器租约时间设置多少合适?不同场景的参考值
租约时间是客户端拿到IP地址后可以使用的最长时间,到期之前客户端会尝试续租,租约设得太长,地址容易被已经离网的设备占用;设得太短,又会增加广播报文数量,行业共识认为,租约时间要和网络规模、终端流动性匹配。
不同场景下的参考值可以这样选:
- 家庭网络:终端少且固定,租约可以设为1天到7天

,减少续租次数。
- 办公有线网络:员工电脑位置稳定,租约设为8小时到1天比较合适。
- 访客Wi-Fi或公共热点:终端流动快,租约设为1小时到2小时,防止地址池耗尽。
- 大型会议或展会:终端集中进出,租约设为30分钟到1小时更灵活。
用表格对比更清楚:
| 场景 | 推荐租约时间 | 原因 |
|---|---|---|
| 家庭网络 | 1天到7天 | 终端少,减少续租开销 |
| 办公有线网络 | 8小时到1天 | 设备固定,兼顾稳定性 |
| 访客Wi-Fi | 1小时到2小时 | 人员流动快,及时回收地址 |
| 大型会议/展会 | 30分钟到1小时 | 终端密集进出,防止地址耗尽 |
DHCP与静态IP哪个好?从工作流程看各自适用场景
很多人在配置网络时会纠结:DHCP与静态IP哪个好?其实没有绝对答案,得看设备角色,DHCP的优点是自动完成四步流程,冲突风险低,静态IP需要手动填写,配置过程跳过Discover和Offer,直接固定地址,但容易在多人维护时出现地址重复。
| 对比维度 | DHCP | 静态IP |
|---|---|---|
| 配置方式 | 自动获取 | 手动填写 |
| 冲突风险 | 低,服务器统一分配 | 较高,人为重复常见 |
| 维护成本 | 低 | 高 |
| 适用场景 | 普通终端、访客、移动设备 | 服务器、打印机、网络设备 |
公司内网中,打印机、文件服务器、路由器管理口这类设备建议使用静态IP或者DHCP保留,保证地址长期不变,普通办公电脑和手机通过DHCP自动获取地址,管理效率更高。
公司内网DHCP服务器搭建步骤:从零到可用的操作清单
不少北京中小企业内网部署DHCP时,会优先使用已有的Windows Server或Linux服务器,不需要额外采购设备,搭建过程不复杂,核心是创建作用域并设置正确的网络参数。
以Windows Server为例,操作路径如下:

- 打开服务器管理器,选择“添加角色和功能”。
- 在角色列表中勾选“DHCP服务器”,完成安装。
- 打开DHCP管理控制台,右键点击IPv4,选择“新建作用域”。
- 输入作用域名称、起始和结束IP地址、子网掩码。
- 配置排除地址段,把网关或服务器自身IP排除在外。
- 设置租约时间。
- 配置默认网关和DNS服务器地址。
- 激活作用域。
Linux环境下可以使用isc-dhcp-server,核心配置文件示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 223.5.5.5, 119.29.29.29;
default-lease-time 600;
max-lease-time 7200;
}
配置完成后启动服务,命令为systemctl enable --now isc-dhcp-server,并确认UDP 67端口处于监听状态。
DHCP服务器的工作流程并不神秘,核心就是DORA四个动作,理解了这四个动作,再去配置路由器或者排查网络故障,方向就清楚多了。
Q&A:DHCP服务器工作流程中的典型疑问
DHCP服务器工作流程中,为什么客户端收到Offer后还要发Request?
因为局域网里可能同时存在多个DHCP服务器,客户端会收到多个Offer,客户端只能选一个,必须通过Request报文告诉所有服务器自己的选择,收到Request的其他服务器会收回报价,把预留地址放回地址池,客户端真正开始使用地址,要等ACK回来之后。
DHCP服务器租约到期后,工作流程会重新从Discover开始吗?
不会,客户端会先尝试单播Request给原服务器续租,如果服务器回复ACK,租期顺延,如果续租失败,客户端会在租期到达50%和87.5%时广播Request寻找任意服务器(据RFC2131规范),如果仍然没有ACK,租期到期后客户端释放地址,重新进入Discover阶段。
DHCP服务器工作流程中,地址池耗尽时客户端会怎样?
服务器收到Discover后,如果地址池中没有可用IP,通常不会回复Offer,客户端等待几秒后重发Discover,多次无响应后,Windows等系统会自动分配一个254.x.x的链路本地地址,这个地址只能用于本地通信,无法访问外部网络,客户端此时会持续在后台重新尝试Discover,直到有服务器腾出空余地址。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/841964.html


评论列表(4条)
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是服务器部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于服务器的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
@云云1514:这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于服务器的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
读了这篇文章,我深有感触。作者对服务器的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!