图解网络:什么是DHCP动态主机配置协议?

简介: DHCP是网络技术世界一项特别伟大的技术,解决了静态配置IP繁琐的过程,其动态分配IP地址的特性,使得网络变得灵活可扩展。如果没有 DHCP,很难想象我们将如何连接到互联网或本地网络,DHCP 是我们在 IP 网络上的设备如何相互通信以及与我们周围的世界通信的重要组成部分。

你好,这里是网络技术联盟站。

DHCP是网络技术世界一项特别伟大的技术,解决了静态配置IP繁琐的过程,其动态分配IP地址的特性,使得网络变得灵活可扩展。

如果没有 DHCP,很难想象我们将如何连接到互联网或本地网络,DHCP 是我们在 IP 网络上的设备如何相互通信以及与我们周围的世界通信的重要组成部分。

那么DHCP背后的原理是什么?为什么说DHCP是革命性的技术?在配置DHCP的时候要注意什么?

本文,瑞哥就用图解的形式带大家揭开DHCP的神秘面纱,让我们直接开始!

什么是DHCP?

  • 英文全称:Dynamic Host Configuration Protocol
  • 中文名称:动态主机配置协议
  • 是一种网络管理协议

DHCP术语

DHCP有许多专业术语,下面我们来简单了解一下:

  • DHCP Discover:当客户端 (PC) 启动时,它会通过以太网广播 DHCP Discover 消息来定位同一子网中的所有可用 DHCP 服务器,到达同一子网中的所有 DHCP 服务器。
  • DHCP Offer:当 DHCP 服务器收到来自客户端的 DHCP Discover 消息时,它还会通过以太网广播 DHCP Offer 消息,通知客户端它可用。
  • DHCP Request:收到 DHCP Offer 消息的客户端识别出在同一子网上有可用的 DHCP 服务器,然后它通过以太网向服务器广播 DHCP 请求消息,请求网络配置数据,包括自己的 IP 地址。
  • DHCP Reservation:网络的预定义 IP 地址范围
  • DHCP ACK:DHCP确认
  • DHCP Server:DHCP服务器,运行和管理 DHCP 信息的设备
  • DHCP Client:DHCP客户端,负责请求 IP 地址并与 DHCP 服务器建立 DHCP 连接
  • DHCP Relay Agent:DHCP 中继代理,是在本地 DHCP 客户端和远程 DHCP 服务器之间发送请求和回复的主机或路由器,当多个LAN中只有一个 DHCP 服务器时,中继代理会处理所有网络的请求。
  • Lease Time:租用时间,客户端可以使用分配给它的 IP 地址的时间

DHCP 基本拓扑

DHCP组成部分

上面我们介绍了DHCP的术语,一般DHCP会包含以下部分:

DHCP组成部分

这个就印证了上面的DHCP 基本拓扑图,IP地址池、子网、DHCP租约我们会在DHCP原理中介绍。

DHCP原理

DHCP 在应用层运行以动态地为客户端分配 IP 地址,这是通过共享 DHCP 事务或 DHCP 会话来实现的:

DHCP过程

我们来用一张图来简单的解释以下DHCP的握手过程:

DHCP的握手过程

  • 第一步:discover:客户端发送一个dhcp discover消息通知服务器
  • 第二步:offer:服务器回应一个可用的IP地址和其他参数
  • 第三步:request:客户端从服务器请求IP地址
  • 第四步:acknowledge:服务器回应一个可用的IP地址和其他参数

为了方便大家记忆,我们将图简化一下:

DHCP工作过程

我们来看一下DHCP工作过程的抓包:

DHCP工作过程的抓包分析

DHCP 租约

每个 IP 地址都不会无限期地属于某一台计算机,与 IP 地址一起,DHCP 服务器将发送一个称为租用时间的到期日期,表示主机何时需要更新地址,DHCP 租约可以避免一定程度上的IP地址的浪费,因为可能有些IP分配出去了,但是所属计算机已经不在某个局域网了,这个时候如果这个地址还不释放的话,久而久之就会造成浪费。

DHCP租约周期如下:

  1. 客户端通过向 DHCP 服务器请求一个 IP 地址租用的分配过程来获得一个 IP 地址租用。
  2. 如果客户端已从现有租约中获得 IP 地址,则在重启时需要刷新其 IP 地址,并联系 DHCP 服务器重新分配 IP 地址。
  3. 租约未到期,则客户端绑定相关租约和IP地址。
  4. 租约到期,客户端将联系最初授予租约的服务器来更新它,获得继续使用其 IP 地址的权力。
  5. 如果客户端移动到不同的网络,它的动态 IP 地址将被终止,它会从新网络的 DHCP 服务器请求一个新的 IP 地址。

配置DHCP

Windows

windows配置dhcp比较简单,而且也几乎是默认的配置方式:

  1. 打开【网络和internet设置】

网络和internet设置

  1. 点击你连接的网络的【属性】

网络属性

  1. 找到【IP设置】

找到【IP设置】

看到我的电脑已经是设置成DHCP获取的方式了

ip设置

点开【IP设置】我们看到有DHCP和手动两种设置方式。

我们来看下通过DHCP设置后,我的IP地址是多少:

查看本机IP地址

可以看到通过DHCP自动分配后,我的电脑IP地址为:192.168.50.234

Linux

我以我的一个云服务器为例子给大家演示一下,我的这台云服务器是香港的,Centos系统,那么网络配置文件都是在/etc/sysconfig/network-scripts/路径下。

我们来看一下这台服务器的网络设置:

more /etc/sysconfig/network-scripts/ifcfg-eth0

命令行显示:

# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
MTU=1450
ONBOOT=yes
TYPE=Ethernet
USERCTL=no

服务器的网络设置

由此可见我的这台云服务器的ip地址也是DHCP的方式。

查看DHCP分配的地址租约

我们怎么去查看DHCP分配的地址租约呢?

还是以我这台香港的云服务器为例:

执行命令:

cat /var/lib/dhclient/dhclient--eth0.lease

结果显示:

lease {
  interface "eth0";
  fixed-address 172.16.2.231;
  option subnet-mask 255.255.0.0;
  option routers 172.16.0.1;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option domain-name-servers 8.8.4.4;
  option dhcp-server-identifier 172.16.0.2;
  option interface-mtu 1450;
  option dhcp-renewal-time 40305;
  option classless-static-routes 32.169.254.169.254 172.16.0.2,0 172.16.0.1;
  option broadcast-address 172.16.255.255;
  option dhcp-rebinding-time 72705;
  option host-name "host-172-16-2-231";
  option domain-name "openstacklocal";
  renew 6 2022/07/09 09:49:26;
  rebind 6 2022/07/09 19:34:44;
  expire 6 2022/07/09 23:22:59;
}
lease {
  interface "eth0";
  fixed-address 172.16.2.231;
  option subnet-mask 255.255.0.0;
  option routers 172.16.0.1;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option domain-name-servers 8.8.4.4;
  option dhcp-server-identifier 172.16.0.2;
  option interface-mtu 1450;
  option dhcp-renewal-time 39746;
  option classless-static-routes 32.169.254.169.254 172.16.0.2,0 172.16.0.1;
  option broadcast-address 172.16.255.255;
  option dhcp-rebinding-time 72146;
  option host-name "host-172-16-2-231";
  option domain-name "openstacklocal";
  renew 6 2022/07/09 20:31:46;
  rebind 0 2022/07/10 05:51:52;
  expire 0 2022/07/10 09:49:26;
}

DHCP分配的地址租约

我们看到有一项参数叫option dhcp-lease-time 86400,这个就是租期时间,单位是秒。

我们还能看出:

  • renew 6 2022/07/09 20:31:46;:重新设置的时间
  • rebind 0 2022/07/10 05:51:52;:将要重新绑定的时间
  • expire 0 2022/07/10 09:49:26;:到期时间

以上就是DHCP的设置部分,我们最后看看DHCP的优缺点。

DHCP的优缺点

DHCP优点

  • 减少 IP 冲突:手动分配 IP 地址会增加网络中不正确或重复地址的可能性,使用 DHCP可以确保通过集中控制自动、准确地分配地址。
  • 简化网络管理:借助DHCP,网络管理员可以轻松监控、管理和分配 IPv4 和 IPv6 地址。
  • 降低成本: 与手动分配 IP 相比,DHCP 有助于节省大量时间,尤其是对于大型企业而言,它还可以节省资金和其他资源,因为公司不需要有专门的专家来持续监督知识产权管理和分配。

DHCP缺点

  • DHCP 本身并不安全,如果恶意行为者访问 DHCP 服务器,他们可能会造成严重破坏。
  • 如果 DHCP 服务器没有备份并且服务器出现故障,它所服务的设备也会出现故障。
  • 如果网络只有一个 DHCP 服务器,则 DHCP 服务器可能是单点故障。

总结

DHCP 是 1985 年网络 IP 管理协议 Bootstrap 协议 ( BOOTP ) 的扩展,用于为网络上的每台主机动态分配 IP 地址和其他信息,以便它们能够高效地进行通信。DHCP 自动、集中管理 IP 地址的分配,简化了网络管理员的工作,除了IP 地址,DHCP 还为主机分配子网掩码、默认网关和域名服务器地址等配置,从而使网络管理员的工作更加轻松。

本文主要从以下方面剖析了DHCP的种种知识:

  • 什么是DHCP?
  • DHCP术语
  • DHCP 组成部分
  • DHCP 原理
  • DHCP 租约
  • 配置DHCP

    • Windows
    • Linux
    • 查看DHCP分配的地址租约
  • DHCP的优缺点

    • DHCP优点
    • DHCP缺点
  • 总结

感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
47 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
2天前
|
监控 安全 网络协议
Hyper V上网实战:多虚拟机网络环境配置
在Hyper-V环境中配置多虚拟机网络以实现上网功能,需完成以下步骤:1. 确认Hyper-V安装与物理网络连接正常;2. 配置虚拟交换机(外部、内部或专用)以支持不同网络需求;3. 设置虚拟机网络适配器并关联对应虚拟交换机;4. 验证虚拟机网络连接状态;5. 根据场景需求优化多虚拟机网络环境。此外,还需注意网络隔离、性能监控及数据备份等事项,确保网络安全稳定运行。
|
10天前
|
安全 网络协议 网络安全
当虚拟机出现网络连接问题时,应该先检查Hyper-V的网卡连接配置
当虚拟机出现网络连接问题时,应首先检查Hyper-V的网卡配置。具体步骤包括:确认虚拟机运行状态、检查虚拟交换机类型和物理网卡连接、确保虚拟机网络适配器正确连接到虚拟交换机,并验证网络配置(IP地址等)。常见问题如虚拟交换机配置错误、网络适配器未连接或防火墙阻止连接,可通过重新配置或调整设置解决。必要时重启虚拟机和宿主机,查看事件日志或联系技术支持以进一步排查问题。
|
1月前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
83 27
|
11天前
|
虚拟化 网络虚拟化 Windows
导入虚拟机到Hyper-V环境时,理解并配置网络适配器设置是确保网络通信的关键
在Hyper-V环境中,正确配置虚拟机的网络适配器是确保其网络通信的关键。需先启用Hyper-V功能并创建虚拟交换机。接着,在Hyper-V管理器中选择目标虚拟机,添加或配置网络适配器,选择合适的虚拟交换机(外部、内部或私有),并根据需求配置VLAN、MAC地址等选项。最后,启动虚拟机并验证网络连接,确保其能正常访问外部网络、与主机及其他虚拟机通信。常见问题包括无法访问外部网络或获取IP地址,需检查虚拟交换机和适配器设置。
|
1月前
|
安全 数据挖掘 BI
|
5月前
|
安全 网络协议 网络安全
Cisco-DHCP配置
Cisco-DHCP配置
116 3
|
5月前
|
安全 小程序 网络安全
Cisco-DHCP中继配置
Cisco-DHCP中继配置
144 4
|
6月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
99 18
|
7月前
|
安全 Ubuntu 网络协议
在Linux中,如何配置DHCP服务器?
在Linux中,如何配置DHCP服务器?

热门文章

最新文章