你好,这里是网络技术联盟站。
DHCP是网络技术世界一项特别伟大的技术,解决了静态配置IP繁琐的过程,其动态分配IP地址的特性,使得网络变得灵活可扩展。
如果没有 DHCP,很难想象我们将如何连接到互联网或本地网络,DHCP 是我们在 IP 网络上的设备如何相互通信以及与我们周围的世界通信的重要组成部分。
那么DHCP背后的原理是什么?为什么说DHCP是革命性的技术?在配置DHCP的时候要注意什么?
本文,瑞哥就用图解的形式带大家揭开DHCP的神秘面纱,让我们直接开始!
Dynamic Host Configuration Protocol
DHCP有许多专业术语,下面我们来简单了解一下:
上面我们介绍了DHCP的术语,一般DHCP会包含以下部分:
这个就印证了上面的DHCP 基本拓扑图,IP地址池、子网、DHCP租约我们会在DHCP原理中介绍。
DHCP 在应用层运行以动态地为客户端分配 IP 地址,这是通过共享 DHCP 事务或 DHCP 会话来实现的:
我们来用一张图来简单的解释以下DHCP的握手过程:
为了方便大家记忆,我们将图简化一下:
我们来看一下DHCP工作过程的抓包:
每个 IP 地址都不会无限期地属于某一台计算机,与 IP 地址一起,DHCP 服务器将发送一个称为租用时间的到期日期,表示主机何时需要更新地址,DHCP 租约可以避免一定程度上的IP地址的浪费,因为可能有些IP分配出去了,但是所属计算机已经不在某个局域网了,这个时候如果这个地址还不释放的话,久而久之就会造成浪费。
DHCP租约周期如下:
windows配置dhcp比较简单,而且也几乎是默认的配置方式:
看到我的电脑已经是设置成DHCP获取的方式了
点开【IP设置】我们看到有DHCP和手动两种设置方式。
我们来看下通过DHCP设置后,我的IP地址是多少:
可以看到通过DHCP自动分配后,我的电脑IP地址为:192.168.50.234
我以我的一个云服务器为例子给大家演示一下,我的这台云服务器是香港的,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分配的地址租约呢?
还是以我这台香港的云服务器为例:
执行命令:
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 是 1985 年网络 IP 管理协议 Bootstrap 协议 ( BOOTP ) 的扩展,用于为网络上的每台主机动态分配 IP 地址和其他信息,以便它们能够高效地进行通信。DHCP 自动、集中管理 IP 地址的分配,简化了网络管理员的工作,除了IP 地址,DHCP 还为主机分配子网掩码、默认网关和域名服务器地址等配置,从而使网络管理员的工作更加轻松。
本文主要从以下方面剖析了DHCP的种种知识:
感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。