使用 DHCP 简化 IP 配置
DHCP 使用 IP 地址配置信息自动配置网络设备。 这可简化和集中处理 IP 配置的分配来帮助 Contoso 的 IT 支持人员。 如果 Contoso 选择不使用 DHCP,那么他们每次向网络添加客户端时,都需要配置其网络接口,使其具有该接口连接到的网络的信息。
提示
你必须配置的信息包括 IP 地址、网络的子网掩码、用于名称解析的客户端 DNS 设置,以及访问其他网络的默认网关。
DHCP 的优点
使用 DHCP 的主要优点是减少在网络设备上配置 IP 地址信息所需的维护。 许多组织都管理数千台计算机设备,包括打印机、扫描仪、智能手机、台式计算机和笔记本电脑。 因此,为这种规模的组织手动管理网络 IP 配置的是不现实的。
DHCP 是一个自动化过程,因此它比手动配置 IP 地址信息更准确。 对于不知道或不了解配置过程的用户来说,这一点尤其重要。
DHCP 使更新 IP 地址配置信息更加容易。 作为管理员,当你更改网络服务(例如提供新的域名系统 (DNS) 服务器)时,只需在 DHCP 服务器上更新一次,然后所有 DHCP 客户端都会收到该更改。 例如,拥有使用 DHCP 的笔记本电脑的移动用户在连接到新网络时,会自动获得新的 IP 地址配置信息。
注意
默认情况下,所有 Windows 操作系统在首次安装操作系统 (OS) 后都会自动检索 IP 地址。
DHCP 的工作原理
DHCP 客户端服务在 TCP/IP 属性设置为自动获取 IP 地址的所有 Windows 计算机上运行。 DHCP 客户端与 DHCP 服务器通信来获取 IP 配置信息。 客户端可使用分配的 DHCP 地址一段时间,这被称为租用。 DHCP 服务器是通过地址池和配置选项来配置的。 此信息确定了向客户端分发哪些 IP 地址配置信息。 下图显示了四步通信过程。
DHCP 租用生成的通信使用了 IP 广播。 由于未路由 IP 广播,因此你需要在每个子网中配置 DHCP 服务器或配置 DHCP 中继。 许多路由器都包含 DHCP 中继功能。
租用生成包含下面 4 个步骤:
- DHCP 客户端广播 DHCPDISCOVER 数据包。 只有具有 DHCP 服务器角色的计算机,或者运行 DHCP 中继代理的计算机或路由器会响应。 如果是路由器响应,DHCP 中继代理会将消息转发到已配置为中继请求的 DHCP 服务器。
- DHCP 服务器通过包含客户端潜在地址的 DHCPOFFER 数据包进行响应。 如果多个 DHCP 服务器接收 DHCPDISCOVER 数据包,则多个 DHCP 服务器可以响应。
- 客户端接收 DHCPOFFER 数据包。 如果客户端接收多个 DHCPOFFER 数据包,它会选择第一个响应。 然后,客户端发送包含服务器标识符的 DHCPREQUEST 数据包。 这会通知 DHCP 服务器接收客户端选择接受的服务器的 DHCPOFFER 的广播。
- DHCP 服务器接收 DHCPREQUEST。 客户端未接受的服务器使用此消息作为客户端拒绝该服务器的提议的通知。 所选服务器将 IP 地址客户端信息存储在 DHCP 数据库中,并使用 DHCPACK 消息进行响应。 如果 DHCP 服务器无法提供初始 DHCPOFFER 中提供的地址,则 DHCP 服务器会发送 DHCPNAK 消息。
DHCP 租用续订
当 DHCP 租用达到租用时间的 50% 时,客户端会自动尝试续订租用。 此过程发生在后台。 计算机可长时间具有同一个 DHCP 分配的 IP 地址。 这是因为计算机会多次续订租用。
客户端会发送单播 DHCPREQUEST 消息,来尝试续订 IP 地址租用。 最初租用 IP 地址的服务器将 DHCPACK 消息发送回客户端。 此消息包含自创建原始租用以来已更改的所有新参数。 请注意,这些数据包不会广播,因为此时客户端有一个 IP 地址,可用于单播通信。
注意
当你更新 DHCP 配置选项时,客户端可能不会获得更新的选项,直到达到 50% 的租用时间。 例如,如果你配置的租用时间是 6 天,那么客户端可能有 3 天无法获得更新后的选项。
如果 DHCP 客户端无法连接 DHCP 服务器,客户端将等待,直到达到 87.5% 的租用时间。 此时,客户端会发送 DHCPREQUEST 广播(而不是单播)来获取续订,请求将发送给所有 DHCP 服务器,而不仅仅是提供原始租用的服务器。 不过,此广播请求用于续订,而不是新的租用。
由于客户端计算机在关机时可能移动了位置(例如,插入新子网的笔记本电脑),因此这些计算机也会在启动过程中或在计算机检测到网络更改时尝试续订。 如果续订成功,会重置租用期限。
DHCP 版本 6
对于在 IPv6 环境中配置客户端,DHCP 版本 6 (DHCPv6) 既支持有状态配置,也支持无状态配置。 当 DHCPv6 服务器将 IPv6 地址分配给客户端及其他 DHCP 数据时,会发生有状态配置。 当路由器自动分配 IPv6 地址,而 DHCPv6 服务器仅分配其他 IPv6 配置设置时,会发生无状态配置。