← 返回题目列表

DHCP 是什么?它是如何自动分配 IP 的?

高频 中等 第 10 / 26 题 更新于 2026/07/28
DHCPIP分配网络层局域网

简化版

DHCP(动态主机配置协议)让设备接入网络时自动获取 IP 地址等配置,不用人工一台台设。设备刚上线还没 IP,就靠广播找 DHCP 服务器,服务器从地址池里分一个 IP 租借给它,同时下发子网掩码、默认网关、DNS 服务器等。整个过程叫 DORA 四步Discover → Offer → Request → ACK。IP 是有租期的,到期要续租。

详细版

DHCP 解决什么:手动给每台设备配 IP(还要保证不冲突、配对网关和 DNS)在设备一多时根本没法维护。DHCP 把这件事自动化——设备一插网线/连 WiFi 就自动拿到一整套正确的网络配置。

DORA 四步流程

  1. Discover(发现):新设备还没 IP,广播一个 DHCP Discover:「网络里有 DHCP 服务器吗?给我个 IP」(源 IP 0.0.0.0,目的广播 255.255.255.255)。
  2. Offer(提供):DHCP 服务器收到,从地址池选一个可用 IP,广播/单播一个 Offer:「我可以给你 192.168.1.100,还有掩码、网关、DNS」。
  3. Request(请求):设备(可能收到多个 Offer)选一个,广播一个 Request:「我要用 192.168.1.100 这个(来自某服务器)」——广播是为了让其他没被选中的 DHCP 服务器知道,收回它们的 Offer。
  4. ACK(确认):被选中的服务器回 ACK 确认,正式把这个 IP 租借给设备。设备配置好 IP,可以上网了。

租期(Lease):分到的 IP 不是永久的,有租期(如 24 小时)。到租期一半时设备会续租(Renew),延长使用;不续租则到期回收,IP 可分给别人。

完整版教学

一、DHCP 要解决的痛点:手动配 IP 不可行

想象一个有几百台设备的公司网络,如果每台都手动配 IP:

  • 逐台设 IP、子网掩码、默认网关、DNS——工作量巨大;
  • 极易IP 冲突(两台设了同一个 IP,都上不了网);
  • 设备频繁进出(笔记本、手机、访客设备)时管理噩梦;
  • 换网段、改网关时要挨个改。

DHCP 把这一切自动化 + 集中管理:管理员只在 DHCP 服务器上配一个地址池和参数,所有设备接入时自动、无冲突地拿到正确配置。这就是为什么你连 WiFi 从不用手动填 IP——DHCP 在背后默默做完了。

二、DORA 四步为什么这么设计

每一步都有存在的理由,理解了就不用死背:

  • 为什么 Discover 用广播:新设备还没有 IP,也不知道 DHCP 服务器的地址,没法定向发,只能广播「谁是 DHCP 服务器」让全网听到。
  • 为什么要 Offer 而不是直接给:网络里可能有多个 DHCP 服务器,它们都可能响应。Offer 是「候选提议」,让设备有得选。
  • 为什么 Request 还要广播:设备选定一个 Offer 后广播 Request,是为了通知所有 DHCP 服务器:「我选了 X 服务器的 IP」——这样没被选中的服务器就知道可以收回它们预留的 Offer,不白占地址池。
  • 为什么最后要 ACK:正式确认租约生效。到这一步,IP 才真正「租」给了设备。

一来一回四次,恰好完成了「发现服务器 → 拿到提议 → 确认选择 → 服务器确认」这个可靠的协商。

三、租期与续租:IP 是「借」的不是「给」的

DHCP 分配的 IP 有租期,这是它高效利用地址的关键:

  • IP 是租借的,不是永久拥有。租期到了不续,IP 就被回收、可以分给别的设备;
  • 设备通常在租期过半(T1,约 50%)时向原服务器续租(Renew),成功则租期重置;
  • 续租失败会在约 87.5%(T2)时向任意 DHCP 服务器请求(Rebind);
  • 彻底失败则重新走 DORA。

租期机制让「离开网络的设备」占用的 IP 能被及时回收,地址池得以循环利用——尤其对手机、访客设备频繁进出的网络很重要。这也解释了为什么你的设备 IP 有时会变(重新连接、租约过期后可能拿到不同的 IP)。

四、DHCP 中继:跨网段也能用一台服务器

DHCP Discover 是广播,而广播默认不能跨网段(路由器不转发广播)。那多个网段怎么共用一台 DHCP 服务器?

DHCP 中继(Relay Agent):在每个网段配一个中继(通常是路由器/三层交换机),它把本网段的 DHCP 广播以单播转发给远端的 DHCP 服务器,并把响应转回来。这样一台集中的 DHCP 服务器就能服务整个企业的多个网段,不用每个网段都放一台。

五、DHCP 相关的安全问题

DHCP 也有被攻击的风险,面试能提到会加分:

  • DHCP 欺骗(伪造服务器):攻击者在网络里架一个假 DHCP 服务器,抢先给设备下发恶意的网关/DNS,从而做中间人(把流量导向自己)。防御靠交换机的 DHCP Snooping(只信任特定端口的 DHCP 响应)。
  • DHCP 耗竭攻击:攻击者伪造大量 MAC 疯狂申请 IP,把地址池耗尽,正常设备拿不到 IP。防御靠限制端口的 MAC 数量等。

六、常见误区

  • ❌ 以为 DHCP 只分 IP——它还下发子网掩码、默认网关、DNS 服务器等一整套配置。
  • ❌ 以为分到的 IP 是永久的——是有租期的「租借」,到期回收、需续租,所以 IP 可能变。
  • ❌ 以为 Discover 能跨网段——广播默认不跨网段,跨网段要靠 DHCP 中继。
  • ❌ 忽略 DHCP 欺骗风险——假 DHCP 服务器能下发恶意网关/DNS 做中间人,靠 DHCP Snooping 防。

六、常见误区与追问

考点正确口径
Discover客户端广播寻找 DHCP 服务器
Offer服务器提供地址租约
Request/Ack客户端请求并获得确认
Discover -> Offer -> Request -> ACK
leased IP: 192.168.1.100
mask: 255.255.255.0
gateway: 192.168.1.1
dns: 192.168.1.1

DHCP 不只分配 IP,还会下发掩码、网关、DNS 和租约时间等网络参数。

  • 误区:DHCP 只负责给 IP。 它还能下发子网掩码、默认网关、DNS、租约时间等配置。
  • 误区:DHCP 分配后 IP 永久属于客户端。 地址是租约,客户端需要续租,服务器可回收过期地址。
  • 误区:DHCP 必须和客户端在同一网段。 可通过 DHCP Relay 跨网段转发广播请求到服务器。
  • 追问:为什么最开始用广播? 客户端还没有 IP,也不知道 DHCP 服务器地址,只能广播发现。
  • 追问:租约到期前会发生什么? 客户端通常在租期中途尝试续租,成功则继续使用原地址。
  • 追问:DHCP 冲突怎么避免? 服务器维护地址池租约,客户端和服务器也可做冲突检测。

七、加强记忆

DHCP 让设备接入网络时自动获取 IP + 掩码 + 网关 + DNS,免去手动配置和冲突。流程是 DORA 四步:Discover(广播找服务器)→ Offer(服务器提议 IP)→ Request(广播确认选择、让落选服务器收回 Offer)→ ACK(正式租借)。IP 有租期、需续租、到期回收循环利用。跨网段靠 DHCP 中继;要防伪造 DHCP 服务器(中间人)靠 DHCP Snooping。