【网络协议】DHCP(动态主机配置协议)

server/2025/1/18 7:24:56/

概述

IP 地址分配是网络管理员的一个重要任务。在设备数量众多的情况下为路由器和其他设备配置 IP 地址可能会稍显困难。本文将讨论 IP 地址分配的解决方案——DHCP。我们将了解 DHCP 的基本概念及其工作原理,并学习如何配置和排查 DHCP 问题。

文章目录

    • 概述
    • DHCP
    • DHCP 操作
    • 配置 DHCP
      • DHCP
      • 默认网关/默认路由器
      • DNS 服务器
      • 租期
    • 验证 DHCP 配置
    • DHCP 中继
    • DHCP 操作故障排除
      • 验证运行配置
      • 验证物理连接
      • 在客户端配置静态 IP
      • 刷新客户端 DHCP 配置

DHCP_6">DHCP

在网络中,所有终端用户设备都需要一个 IP 地址才能访问网络。通常,静态 IP 地址会分配给路由器、交换机的管理接口、服务器及其他在物理或逻辑位置上保持固定的设备。这些静态 IP 地址通常用于远程访问和设备管理。

然而,用户设备(如计算机、智能手机、IP 电话等)往往可能更改其物理或逻辑位置,因此为它们分配静态 IP 地址并不可行。

为了解决这些问题,DHCP 协议应运而生。通过 DHCP,我们能够自动为用户设备分配 IP 地址信息,从而减少手动为每台设备分配静态 IP 地址的管理工作量。

以下是网络拓扑图示例:

在这里插入图片描述

在该网络中,有两台路由器和两个局域网(LAN),每个网络中有 100 台用户 PC。为路由器接口配置 IP 地址并不复杂,但想象一下,如果为每台 PC 配置静态 IP 地址,这无疑是一项繁重且具有挑战性的任务。

尤其当这些用户设备分布在不同的位置时,配置静态 IP 地址的复杂性会进一步增加。而 DHCP 则能够有效解决这些问题。

DHCP__32">DHCP 操作

DHCP 的主要任务是为用户设备分配 IP 地址信息。DHCP 的工作方式分为三种类型:

1、手动 IP 分配
在这种模式下,网络管理员会从 DHCP 服务器为用户手动分配 IP 地址,然后服务器将这些信息传递给客户端。

2、自动 IP 分配
在此模式下,DHCP 服务器从一个地址池中为客户端分配静态 IP 地址,这些 IP 地址是固定的,只有管理员进行配置修改时才会改变。

3、动态 IP 分配
在此模式下,管理员配置一个地址池,客户端通过 DHCP 请求 IP 地址,服务器分配一个可用的 IP 地址和其他相关网络信息,供客户端在特定的租期内使用。租期到期后,IP 地址会返回到 DHCP 地址池,客户端需要重新请求新的 IP 地址。

当一台计算机连接到 DHCP 服务器时,服务器会为其提供 IP 地址信息,并在指定的租期内允许使用该 IP 地址。

下图演示了客户端与 DHCP 服务器之间的交互过程:

在这里插入图片描述

DHCPdiscover_52">DHCPdiscover

客户端启动时,会广播一条消息以查找 DHCP 服务器。由于此时客户端尚未配置 IP 地址,因此使用全局广播地址进行通信。

DHCPoffer_55">DHCPoffer

DHCP 服务器接收到客户端的请求后,会从地址池中选择一个可用的 IP 地址,并将客户端的 MAC 地址和待分配的 IP 地址信息记录到 ARP 表中。然后,服务器会通过单播方式向客户端发送 DHCPOFFER 消息。

DHCPrequest_58">DHCPrequest

客户端接收到 DHCPOFFER 消息后,发送 DHCPREQUEST 消息向 DHCP 服务器确认接受该 IP 地址,并请求租期信息,验证该 IP 地址是否有效。

DHCPACK_61">DHCPACK

DHCP 服务器收到 DHCPREQUEST 消息后,会确认租期并创建新的 ARP 映射,将客户端的 MAC 地址与分配的 IP 地址关联。随后,服务器通过单播发送 DHCPACK 消息,客户端收到此消息后,会将该 IP 地址信息添加到地址配置中,并通过 ARP 查询将 IP 地址映射到 MAC 地址。

配置 DHCP 时,客户端需要以下四个主要参数:

在这里插入图片描述

DHCP 服务器通常会在指定时间段内将这些信息分配给客户端。

DHCP_75">配置 DHCP

接下来,我们将以 Cisco 路由器为例,配置 DHCP 服务器并观察其如何向客户端分配 IP 地址。路由器接口及 HTTP 服务器将配置静态 IP 地址,并且 HTTP 服务器还将充当 DNS 服务器。

在这里插入图片描述

拓扑图如下所示,包括一个路由器、一个交换机和若干主机设备。在此实验中,我们将使用 5 台主机,其中包括 PC 和一台 Web 服务器。

排除静态 IP 地址范围
1、首先,排除那些已经为路由器接口、交换机管理接口及服务器配置的静态 IP 地址,这些设备不应从 DHCP 服务器分配 IP 地址。

2、创建 DHCP 地址池
在全局配置模式下,使用 ip dhcp pool 命令创建 DHCP 地址池。

3、配置 DHCP 地址池的详细信息
配置地址池中的网关、子网掩码及 DNS 服务器等必要信息。

静态分配的 IP 地址如下表所示,路由器和 Web 服务器已完成配置:

在这里插入图片描述

首先,我们需要验证主机是否已获得 IP 地址并且能够正常与服务器通信。在本实验中,我们使用 ipconfig 命令来检查 PC 是否已经配置了 IP 地址。根据以下的输出信息,可以看到 PC 1 并未分配到 IP 地址、子网掩码或默认网关:

在这里插入图片描述

由于没有有效的 IP 地址,PC 1 无法成功与服务器通信,如下所示,Ping 操作失败:

在这里插入图片描述

对于路由器接口、交换机管理接口和服务器等设备,我们为它们配置了静态 IP 地址,这些设备应从 DHCP 地址池中排除。静态 IP 地址配置的原因是,这些设备在网络中的位置相对固定,且在发生故障时,静态配置的 IP 地址有助于故障排查。

在配置 DHCP 地址池时,我们需要明确排除这些静态 IP 地址。可以使用以下命令来确保这些静态 IP 地址不会被分配给动态主机:

在这里插入图片描述

即:

在这里插入图片描述

通过这个命令,配置的静态 IP 地址将不包含在 DHCP 池中。

DHCP 地址池是网络中可分配给客户端设备的 IP 地址范围。在配置 DHCP 地址池时,使用以下命令来指定池的地址范围:

在这里插入图片描述

执行该命令后,提示符会切换到 DHCP 配置模式,如下所示:

在这里插入图片描述

此时,我们可以配置更多的 DHCP 参数,包含池中可用的 IP 地址、租期以及其他配置项。

接着,我们要配置具体的 DHCP 参数,如下所示:

在这里插入图片描述

DHCP__167">DHCP

DHCP 池是网络中主机可以请求的 IP 地址范围,配置 DHCP 池 IP 地址所需的命令如下所示:

在这里插入图片描述

故配置 DHCP 池的命令如下:

在这里插入图片描述

默认网关/默认路由器

默认网关是主机与远程网络通信所用的路由器接口 IP 地址。在这种情况下,默认网关是路由器 LAN 接口上配置的 IP 地址。配置默认网关的命令如下:

在这里插入图片描述

即:

在这里插入图片描述

DNS 服务器

DNS 服务器用于将 IP 地址解析为主机名。配置 DNS 服务器的命令如下:

在这里插入图片描述

我们使用 Web 服务器作为 DNS 服务器,使用的命令是:

在这里插入图片描述

租期

租期指定客户端可以使用 IP 地址的时长。配置租期的命令如下:

在这里插入图片描述

在本场景中,命令显示如下:

在这里插入图片描述

这意味着客户端必须每三天更新一次 DHCP 配置。

综上,我们将使用下面命令来配置 DHCP

在这里插入图片描述

DHCP 客户端上,我们需要确保它的接口配置为从 DHCP 获取 IP 地址。许多 PC 默认这样配置,但最好还是验证一下。

DHCP__230">验证 DHCP 配置

要验证路由器上 DHCP 的运行状态,可以使用 “show ip dhcp binding” 命令。该命令显示 DHCP 服务提供的所有 IP 地址与 MAC 地址绑定的列表,如下所示:

在这里插入图片描述

要验证路由器是否正在接收或发送 DHCP 消息,可以使用 show ip dhcp server statistics 命令。该命令显示关于发送和接收的 DHCP 消息数量的统计信息。以下是路由器上执行该命令后的输出:

在这里插入图片描述

命令 show ip dhcp pool 将显示路由器上配置的 DHCP 池,如下所示:

在这里插入图片描述

验证 DHCP 操作的另一种方法是检查网络中的客户端是否已获取 IP 地址和其他 DHCP 配置选项。下面是 PC 1 上运行 ipconfig 命令的输出:

在这里插入图片描述

如上所示,PC 1 现在已经有了 IP 配置信息。在 Windows PC 上,使用命令 ipconfig/all 可以查看其他配置项。

DHCP__256">DHCP 中继

在许多企业网络中,DHCP 服务器通常位于服务器集群中,而不是路由器上。这种架构可能会对需要获取 IP 地址的客户端造成困扰。

IP 助手地址(IP Helper Address)是解决这一问题的有效方案。它允许网络中的路由器将来自本地网络的 DHCP 广播消息转发到位于不同子网的 DHCP 服务器。随后,DHCP 服务器可以向客户端分配 IP 配置信息。

要将路由器配置为 DHCP 中继,可使用以下命令:

在这里插入图片描述

在这种情况下,命令使用的接口是连接到 LAN 的接口。

DHCP__272">DHCP 操作故障排除

为了有效地排查 DHCP 相关问题,建议按照以下步骤逐一进行检查。

验证运行配置

确保 DHCP 池的配置正确,检查所有相关的配置命令是否按照设计要求设置。

验证物理连接

检查客户端与路由器的 LAN 接口之间的物理连接是否正常。这往往是容易忽视的环节,但可能是问题的关键所在。

在客户端配置静态 IP

如果客户端未能从 DHCP 服务器接收 IP 地址,可以尝试为客户端手动配置静态 IP 地址。随后,通过 ping 命令测试与 DHCP 服务器的连通性。这种方法可以帮助判断问题是出在客户端还是服务器端。

DHCP__284">刷新客户端 DHCP 配置

在客户端运行命令以刷新 DHCP 配置,观察是否能够成功接收 IP 地址和其他网络参数。例如,在 Windows 系统中,可以使用以下命令:

  • 释放当前配置: ipconfig /release
  • 请求新配置: ipconfig /renew

http://www.ppmy.cn/server/159297.html

相关文章

ASP.NET Core - 依赖注入(四)

ASP.NET Core - 依赖注入(四) 4. ASP.NET Core默认服务5. 依赖注入配置变形 4. ASP.NET Core默认服务 之前讲了中间件,实际上一个中间件要正常进行工作,通常需要许多的服务配合进行,而中间件中的服务自然也是通过 Ioc…

Android 13 Hotseat定制化修改——001 hotseat布局方向

一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置&#xff0…

记录点android升级内容

Cleartext HTTP traffic to yun.tjwzkj.com not permitted 在android中不仅要由网络权限<uses-permission android:name"android.permission.INTERNET"/>&#xff0c;而且需要在Application中增加android:usesCleartextTraffic"true" 还可以创建xml…

时序数据库TDengine 3.3.5.0 发布:高并发支持与增量备份功能引领新升级

近日&#xff0c;TDengine 3.3.5.0 版本正式发布&#xff0c;带来了多项重磅更新与优化&#xff0c;从功能拓展到性能提升&#xff0c;再到用户体验进行了全面改进。本次更新围绕用户核心需求展开&#xff0c;涵盖了开发工具、数据管理、安全性、可视化等多个层面&#xff0c;为…

JTAG调试器的使用方法

概述: JTAG(联合测试行动组)是基于IEEE 1149.1标准的专用硬件接口。该接口旨在将复杂的芯片和设备连接到标准测试和调试硬件。目前JTAG主要用于: Output control of microcircuits; Testing of printed circuit boards; Flashing of microchips with memory; Chip softwa…

什么情况下适合使用静态路由?什么情况下适合使用动态路由?_什么时候用静态路由什么时候用动态

2 静态路由 静态路由是由网络管理员根据网络拓扑&#xff0c;使用命令在路由器上配置的路由&#xff0c;这些静态路由信息指导报文发送&#xff0c;静态路由方式也无需路由器进行计算&#xff0c;但它完全依赖于网络管理员的手动配置。 补充一下&#xff0c;默认路由是一种特…

【Rust自学】13.2. 闭包 Pt.2:闭包的类型推断和标注

13.2.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发&#xff0c;而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中&#xff0c;我们会讨论 Rust 的一…

paimon使用腾讯云cosn作为仓库存储的使用方式

背景 paimon是flink推出的高性能流式数据湖平台&#xff0c;我们在业务应用中选型了paimon作为数据湖的落地框架。对象存储&#xff08;Cloud Object Storage&#xff0c;COS&#xff09;是腾讯云提供的一种存储海量文件的分布式存储服务&#xff0c;用户可通过网络随时存储和查…