DHCP 四步交互图解:PC 开机自动拿到 IP 的全过程
DHCP 四步交互原理图解,一张图看懂 Discover/Offer/Request/ACK,附华为 eNSP 完整配置。
先看效果

为什么需要 DHCP
如果每台电脑都要手填 IP、掩码、网关、DNS,网络管理员会累死,还容易填错(IP 冲突)。DHCP(动态主机配置协议)让设备开机后自动获取这些参数,即插即用。
你在家连 Wi-Fi 什么都不用配就能上网,背后就是路由器的 DHCP 在干活。
原理图解
看上面这张图,DHCP 四步交互:
- Discover(发现):PC 没有任何 IP,用广播
0.0.0.0 → 255.255.255.255喊「谁是 DHCP 服务器?」; - Offer(提供):服务器回应「我这儿有个 192.168.1.100,你要不要?」;
- Request(请求):PC 广播「我要这个 192.168.1.100」(广播是为了让其他服务器知道它选了这个);
- ACK(确认):服务器确认「这个地址归你了」,附带掩码、网关、DNS、租期。
一个记忆口诀:DISCOVER → OFFER → REQUEST → ACK,首字母 DORA。地址是「租」的,租期到了要续租(再发一次 Request)。
eNSP 完整配置
在核心三层交换机(S5700)上开 DHCP,给两个 VLAN 自动分配地址。华为有两种方式:接口地址池(简单,直接用 VLANIF 的网段)和全局地址池(灵活,可配 DNS、租期等)。
方式一:接口地址池(最简单)
# ===== 核心交换机 SW1 =====
<Huawei> system-view
[Huawei] sysname SW1
[SW1] vlan batch 10 20
[SW1] interface Vlanif10
[SW1-Vlanif10] ip address 192.168.10.254 24
[SW1-Vlanif10] dhcp select interface # 用本接口网段做地址池
[SW1-Vlanif10] quit
[SW1] interface Vlanif20
[SW1-Vlanif20] ip address 192.168.20.254 24
[SW1-Vlanif20] dhcp select interface
[SW1-Vlanif20] quit
# 全局开启 DHCP
[SW1] dhcp enable
[SW1] save
方式二:全局地址池(推荐,参数更全)
[SW1] dhcp enable
# 定义地址池
[SW1] ip pool vlan10
[SW1-ip-pool-vlan10] network 192.168.10.0 mask 255.255.255.0
[SW1-ip-pool-vlan10] gateway-list 192.168.10.254
[SW1-ip-pool-vlan10] dns-list 114.114.114.114
[SW1-ip-pool-vlan10] lease day 3 # 租期 3 天
[SW1-ip-pool-vlan10] excluded-ip-address 192.168.10.1 192.168.10.20 # 预留地址段
[SW1-ip-pool-vlan10] quit
# 在接口上引用全局地址池
[SW1] interface Vlanif10
[SW1-Vlanif10] dhcp select global
[SW1-Vlanif10] quit
[SW1] save
验证
# 查看 DHCP 地址池分配情况
[SW1] display ip pool
# 查看已分配的地址
[SW1] display ip pool name vlan10 used
在 PC 上把「IPv4 配置」改成 DHCP,然后命令行 ipconfig,能看到自动获取到的 192.168.10.x 地址、网关和 DNS。display ip pool 里 Used 数量增加。
常见问题
Q: PC 拿不到地址?
A: 五查:① dhcp enable 全局开了没;② 接口上 dhcp select 配了没;③ VLANIF 接口是否 UP(VLAN 里有活动物理口);④ 地址池网段和接口网段是否一致;⑤ PC 是不是真的选了 DHCP。
Q: 接口地址池和全局地址池选哪个? A: 入门实验用接口地址池最简单;生产环境用全局地址池,因为能单独配 DNS、租期、排除地址,一台设备服务多个网段时更清晰。
下一步
恭喜你走完了 eNSP 基础全套!把 VLAN、路由、ACL、NAT、聚合、STP、DHCP 串起来,就是一套完整的中小企业网络。想看完整组网实战,去 学习路径 按路线图复习。