跳到主要内容

DHCP (Dynamic Host Configuration Protocol)

在复杂的现代网络中,动态主机配置协议 (DHCP) 是必不可少的。它负责自动分配合适的 IP 地址及其相关的配置选项,使网络管理更加高效、便捷。

什么是 DHCP?

DHCP 是一种应用层协议,它允许网络管理器在一个中心位置管理 IP 地址的分配,并将该信息分发给各工作站。

核心作用

  • 分配 IP 地址: 避免地址冲突并提高利用率。
  • 提供网关信息: 配置默认网关。
  • 提供 DNS 信息: 配置域名系统服务器的 IP 地址。

交互过程 (四个阶段)

DHCP 使用 UDP 协议,端口号为:客户端 (68)服务端 (67)

在客户端启动时,它通常会经历所谓的 DORA 流程:

  1. Discover (发现): 客户端发送广播包,由于它还没有 IP,会以 0.0.0.0 为源地址,寻找局域网内的 DHCP 服务器。
  2. Offer (提供): 服务器收到请求后,从自己的地址池中选出一个未分配的地址,发送一条包含租约信息的广播/单播(取决于具体实现)。
  3. Request (请求): 客户端从多个 Offer 中选择一个(通常是第一个收到的),并再次广播,通知所有服务器它已经选择了哪一个。
  4. Acknowledge (确认): 被选中的服务器确认租约合法,完成正式分配。

续约过程

DHCP 分配的 IP 并不是永久的,而是具有一个 租约 (Lease Time)

  • 50% 租约时间: 客户端会尝试向服务器发送单播 Request 进行续约。
  • 87.5% 租约时间: 如果第一次续约失败,客户端会广播发送 Request,寻找原服务器或备用服务器进行续约。
  • 租约过期: 如果第二次续约仍未成功,客户端必须释放该 IP 并重新开始 Discover 流程。

技术细节

  • 地址范围 (Pool): 服务器可分配的所有地址范围。
  • 排除地址 (Exclusion): 手动分配给服务器、打印机等设备的静态 IP。
  • 保留地址 (Reservation): 某些设备通过其 MAC 地址进行绑定,每次获取相同的 IP 地址。

安全问题

  • DHCP 饥饿攻击 (DHCP Starvation): 攻击者伪造大量 MAC 地址耗尽服务器的 IP 池,导致合法用户无法获取地址。
  • 流氓 DHCP 服务器: 攻击者设置非法 DHCP 服务器,引导用户连接到伪造的网关或 DNS,实施中间人攻击。

防护措施: 交换机常用的 DHCP Snooping (DHCP 监听) 技术可以有效防止流氓服务器和欺骗。