写点什么

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

作者:wljslmz
  • 2022 年 7 月 09 日
  • 本文字数:3199 字

    阅读完需:约 10 分钟

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

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


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 基本拓扑图,IP 地址池、子网、DHCP 租约我们会在 DHCP 原理中介绍。

DHCP 原理

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



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



  • 第一步:discover:客户端发送一个 dhcp discover 消息通知服务器

  • 第二步:offer:服务器回应一个可用的 IP 地址和其他参数

  • 第三步:request:客户端从服务器请求 IP 地址

  • 第四步:acknowledge:服务器回应一个可用的 IP 地址和其他参数


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



我们来看一下 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 设置】



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



  1. 找到【IP 设置】



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



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


我们来看下通过 DHCP 设置后,我的 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=dhcpDEVICE=eth0MTU=1450ONBOOT=yesTYPE=EthernetUSERCTL=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;}
复制代码



我们看到有一项参数叫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 缺点

  • 总结


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

发布于: 2022 年 07 月 09 日阅读数: 24
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

订阅号:网络技术联盟站 个站:https://www.wljslmz.cn

评论

发布
暂无评论
图解网络:什么是DHCP动态主机配置协议?_网络协议_wljslmz_InfoQ写作社区