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

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

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

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

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

什么是DHCP?DHCP术语

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(1)

DHCP 基本拓扑

DHCP组成部分

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(2)

DHCP组成部分

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

DHCP原理

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(3)

DHCP过程

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(4)

DHCP的握手过程

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(5)

DHCP工作过程

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(6)

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 地址。
配置DHCPWindows

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

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(7)

网络和internet设置

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(8)

网络属性

  1. 找到【IP设置】

dhcp配置协议详解(什么是DHCP动态主机配置协议)(9)

找到【IP设置】

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(10)

ip设置

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

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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(11)

查看本机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

dhcp配置协议详解(什么是DHCP动态主机配置协议)(12)

服务器的网络设置

由此可见我的这台云服务器的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配置协议详解(什么是DHCP动态主机配置协议)(13)

DHCP分配的地址租约

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

我们还能看出:

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

DHCP的优缺点DHCP优点DHCP缺点总结

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

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

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

,