DHCP技术原理详解

今天给大家讲解一下DHCP的原理和技术细节。本文从DHCP基本原理、实现流程和DHCP重启后的流程和租约和续约机制三个方面对DHCP进行了全方位的讲解,基本上涵盖了DHCP的全方面。

一、DHCP基本原理

DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,是一种可以使主机开机后自动获取IP地址、子网掩码、DNS等信息的技术手段。应用DHCP技术,不仅可以简化用户的上网流程,方便用户上网,如果从企业的角度来说,还可以实现对公司内部网络用户的管理。
DHCP是一种C/S模式的网络协议,要想实现DHCP功能,首先主机必须支持DHCP Client功能,其次网络中还必须拥有一台DHCP服务器,并且主机和该服务器之间必须能够正常通信。因为DHCP中有些报文时以广播的形式,因此DHCP Server和DHCP Client一般必须要在一个子网内。(后面我们会讲到,如果确实不在一个网段,还可以配置DHCP中继来解决这个问题)
DHCP服务器,既可以是一台主机,华为和思科系列路由交换设备也可以实现DHCP服务器功能。
DHCP使用UDP协议实现通信,网络层协议号字段为0x11,DHCP Client端口号68,DHCP Server端口67。

二、DHCP实现流程

DHCP实现流程一共有4个阶段,具体如下图所示:
在这里插入图片描述

(一)发现阶段

当主机刚刚开机运行,此时他不知道此时网络中是否存在DHCP服务器,DHCP服务器是谁,因此它必须首先确定网络中的DHCP服务器身份。因此,新上线主机会发送DHCP Discover报文, 该报文是一个广播报文,源IP地址为0.0.0.0,目的IP地址为255.255.255.255。源MAC地址为自己的MAC地址,目的MAC地址为ffff-ffff-ffff。该报文会在二层网络中洪泛,因此如果网络中存在DHCP服务器,则DHCP服务器会收到该报文。

(二)提供阶段

当网络中的DHCP服务器收到了DHCP Client发送的DHCP报文后,DHCP就进入了提供阶段。在这个阶段,DHCP Server会根据管理员的相关配置,给DHCP Client提供一个可用的IP地址,同时给其提供DNS、子网掩码等信息。
DHCP Server会发送DHCP Offer信息给DHCP Client提供上述信息,该报文也是一个广播报文,源IP地址为DHCP Server的IP地址,目的IP地址为DHCP Server给该DHCP Client分配的IP地址,源MAC地址为DHCP Server的MAC地址,目的MAC地址为DHCP Client的MAC地址。(注,在这里有的设备上DHCP Offer报文也是广播,其实也能够实现DHCP的功能)

(三)请求阶段

在DHCP Client收到DHCP Server发送的DHCP Offer报文后,就进入了DHCP请求阶段,在DHCP请求阶段,DHCP已经得到了DHCP Server分配给它的IP地址,DHCP Client在得到该IP地址后,却不会马上使用,DHCP Client会向DHCP Server发送DHCP Request报文,正式向DHCP Server申请使用该IP地址。
DHCP Request报文,源IP地址为0.0.0.0(因为这时还没有得到DHCP服务器的回应,因此此时这个IP地址还不能正常使用,因此在这里源IP地址还是0.0.0.0)。目的地址为255.255.255.255。(注:在这里其实DHCP Client其实已经知道了DHCP Server的IP地址,因此其实这里使用DHCP Server的IP地址其实也是可以的,因此,有些设备对此做了优化,因为这样可以减少网络中的广播洪范流量)源MAC和目的MAC地址分别是DHCP Client的和DHCP Server的MAC地址。

(四)确认阶段

当DHCP Server收到DHCP Client发送的DHCP Request报文后,DHCP进入确认阶段。DHCP Server会向DHCP Client发送DHCP Reply报文,表示同意DHCP Client使用该IP地址。
DHCP Reply报文(有时也被称为DHCP ACK报文),源IP地址为DHCP Server的IP地址,目的IP地址为DHCP Client的IP地址,源目MAC为DHCP Server和Client的MAC地址。

三、重启PC后的DHCP过程及DHCP续约机制

(一)重启PC后的DHCP过程

目前,PC机对于DHCP有记忆功能,会记住当前网络中DHCP服务器的IP地址和上次分配给自己的IP地址。因此,当PC重启后,通常不会按照上述的4个步骤按部就班的申请IP地址,而是通常会直接进入第三个阶段,直接向DHCP Server发送DHCP Request报文,请求自己上一次获得的IP地址。如果DHCP同意,则会回应DHCP Reply报文,如果该IP地址已经被占用,或者其他情况造成DHCP Server不把该IP地址分配给DHCP Client,则DCHP Server会回应DHCP NACK报文,表示拒绝。这时,PC就必须重新进行DHCP四个阶段。

(二)DHCP续约机制

DHCP存在租约和续约机制,在默认情况下,当PC机申请到一个DHCP地址后,使用时间为一天,管理员也可以手动修改该时间,最短为1小时。当PC申请的DHCP IP地址到达租约时间后,该IP地址就不可以继续使用,因此PC会在租约到期之前进行续约。
通常情况下,DHCP Client会进行两次续约,一次是在租约期的50%时候,DHCP Cient会向DHCP Server发送DHCP Reqruest报文,如果收到DHCP Server的回应,则续约成功。第二次续约是在租约期的87.5%的时候,DHCP会再次向DHCP Server发送DHCP Request报文,申请租约。如果此时仍为收到DHCP响应的DCHP ACK报文,则就必须要重新进行DHCP的四个阶段,重新申请IP地址。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/118858510

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值