DCHP 服务器

Dynamic Host Configuration Protocol 动态主机配置协议,自动为客户端配置 IP 地址

基于客户/服务器模式,运行在 TCP/IP 协议之上

工作过程

  1. DHCP 客户端发送 IP 租约请求

    客户端启动网络时,TCP/IP 地址与 0.0.0.0 绑定。客户端发送一个 DHCP Discover 广播信息到本地子网,发送至 UDP 端口 67。

  2. DHCP 服务器提供 IP 地址

    DHCP 服务器保留预分配地址并发送 DHCP Offer 信息包广播至 UDP 端口 68,该信息包含 IP 地址、子网掩码、DHCP 服务器 IP 地址、租用期限等信息。

  3. DHCP 客户端进行 IP 租用选择

    客户端通常对第一个 DHCP Offer 信息包产生响应,并发送 DHCP Request 信息包广播。未被采用的 DHCP 服务器会将预留的 IP 地址回收。

  4. DHCP 服务器认可 IP 租用

    服务器接收到客户端采用的 DHCP Request 信息后,会发送一个 DHCP Acknowledge 信息包广播,信息包含了客户端请求的信息。

IP 地址租约和更新

客户端从 DHCP 服务器取得 IP 地址后,本次租约行为就会被记录到主机的租赁信息文件中,并开始租约计时。

  1. IP 地址租约

    • 限定租期。DHCP 服务器提供给客户端的租约是有期限的,当租约到期客户端没有更新租约,则 DCHP 服务器将回收该 IP 地址。

    • 永久租用。DHCP 服务器提供给客户端的租约是永久使用的。
  2. 租约更新

    • 更新。租期过了 50% 或者接近 87.5% 时,客户端会发送包含 DHCP Request 的 UDP 信息给 DHCP 服务器,询问是否能保持 TCP/IP 配置信息并更新租期。如果服务可用 DHCP 服务器会发送一个 DHCP Acknowledge 信息给客户端,并更新租期。

    • 重新捆绑。如果在租期 87.5% 时更新租约失败,客户端会尝试与任何一个 DHCP 服务器联系并获得一个有效的 IP 地址,重新进入捆绑状态。如果客户端当前的 IP 地址租用期满,客户端必须放弃该 IP 地址,并重新进入初始化状态,重复整个 DHCP 工作过程。

客户端在租约期内,会在租期 50% 与 接近 87.5% 时与服务器联系并决定下一步动作。

  1. 解约条件

    • 客户端租约到期。客户端 IP 地址租用期满,且没有成功更新租约,DHCP 服务器将会回收该 IP 地址。

    • 客户端离线。当客户端进行关闭网络接口(禁用网卡)、关机或重启等操作时,会造成客户端离线。此时,DHCP 服务器会将 IP 地址回收。

DHCP 服务器分配的 IP 地址类型

  1. 动态 IP 地址

    DHCP 动态地为客户端分配 IP 地址。在 IP 地址有限的单位内,动态 IP 地址可以最大化地利用资源。

  2. 固定 IP 地址

    DHCP 服务器记录特定计算机的 MAC 地址,然后为其分配一个固定的 IP 地址。

查询 MAC 地址方法:

查询本机:

ifconfig 命令

查询远程计算机:

ping c 1 远程计算机 IP 地址 // ping 命令连接远程计算机

arp -n // 查询缓存在本地的远程计算机中的 MAC 地址

DHCP 服务器规划

  1. 小型网络 DHCP 服务器

    如果网络规模在几十台计算机并且网络拓扑结构简单,采用 DHCP 服务器就是个不错的选择。在规划 DHCP 服务器的同时需要注意以下两点:

    • DHCP 服务器硬件设备选择。

      DHCP 服务器需要长时间运行,所以要选择性能稳定的计算机搭建。

    • 计算机 IP 获取方式规划。

      确定哪些计算机需要采用动态 IP 地址配置,哪些计算机、服务器及网络设备采用静态 IP 地址配置。

  2. 大型网络 DHCP 服务器

    如果网络中存在大量计算机,为了管理和维护的方便,我们应该配置 DHCP 服务器来动态分配 IP 地址。在规划同时需要考虑以下几点:

    • DHCP 服务器位置。

      客户端在每次获取 IP 地址时需要发送 DHCP Discover 消息广播,如果在一段时间内没有接到 DHCP 服务器的响应,将继续发送消息广播。这样会造成网络带宽的浪费。所以为了缩短 DHCP 服务器的响应时间,应选择适当的介入位置,尽量使服务器连接网络核心位置。

    • DHCP 服务器作用域设置。

      根据不同的需求特点设计合适的作用域,并进行租约、网关及 IP 范围的划分。

    • 跨路由网络 DHCP 服务器。

      如果网络内部划分有多个子网并采用路由器进行连接,所以需要每个子网都可以请求有效的 DHCP 服务器,但子网内的客户机无法向其他子网的 DHCP 服务器发送请求。因此我们可以搭建一台 DHCP 服务器,同时在连接多个子网的路由器上设置 DHCP 中继代理就可以利用路由器转发 DHCP 消息,所有计算机都可以请求同一台 DHCP 服务器。

配置存在路由的网络需要注意:

  • 存在 DHCP 服务器

一个物理网络被划分为多个逻辑子网,在所有子网中必须存在一台 DHCP 服务器能够提供 TCP/IP 信息分配服务。

  • 路由器中继代理设置

路由器默认并不转发广播数据包,为了能够转送 DHCP Discover 消息,必须要在路由器上配置 DHCP 中继代理。

  1. 80/20 规则

    为了确保 DHCP 服务的稳定性,应配置 DHCP 主服务器和 DHCP 辅助服务器,并合理划分 DHCP 服务器的地址池,防止为客户端分配重复的地址。 一般主 DHCP 服务器管理 80% 的网络地址,辅助 DHCP 服务器管理剩余 20% 网络地址。日常工作中,由主 DHCP 服务器完成 TCP/IP 分配任务,在该服务器不可用时,辅助 DHCP 服务器才开始工作。

此规则适用于多子网的网络拓扑结构,并根据具体需求进行服务器规划。