本节主要讨论DHCP的IP地址租约、释放的问题,
一起学DHCP系列(七)租约、释放
。当DHCP客户端获取到一个IP地址后,并不代表可以永久使用这个地址,而是有一个使用期限,在DHCP 中我们称之为租约期限,默认是自客户端成功获取之时算起,往后再推8天。其实除了这个8天的时间外, 在有效的租约期限内,其实还包含着两个时间点,第四天和第七天,也就是租约的一半和租约的7/8。这 三个时间点在DHCP 的Offer数据包中就有体现。如下图:
上图中标记红框处即为三个时间点。
我们再来打个比方。如果客户端在1月1日0时成功获取到 一个IP地址,那么在DHCP管理器上就可以看到这条租约信息,对应的租约截止日期就是1月9日0时。当日 期到默认租期的一半时,也就是第四天的时候。客户端会向DHCP服务器发送一个
DHCP Request 的数据包,目的是请求更新自己的租约。如果DHCP服务器正常且相应了此请求,那么就会返回一个DHCP ACK的数据包,这表示比如续约成功。比如1月5日时,客户端提出续约申请,当DHCP服务器正常相应后, 这台客户端的IP过期时间将延至1月13日,因为他是在5号提出的申请,判断是否续期和过期是以DHCP服务 器上时间为准。我将租期计算的用画图的形式展现出来,如下图:
如果第一次没有续约成功,到了租期的7/8时,还会重复一次申请续约的过程。如果成功,新的租期自 然是在申请日期的基础上加8天,以此类推。DHCP客户端获取到一个IP,只要是续约的时候都顺利,那么 它会一直使用这个IP地址,除非这个IP被排除或者被保留等。
如果在1/2租期申请更新,但没有得 到DHCP的响应,怎么办? 比如这个IP被从作用域中移除,那么DHCP服务器会返回给客户端一个DHCP NACK 的数据包,
电脑资料
《一起学DHCP系列(七)租约、释放》(https://www.unjs.com)。客户端收到这个数据包后会发送Discover的包查询,如果还是没得到回复,它就会继续使用原 有的IP地址,当到7/8租期时间时就会再次申请租约更新。如果依然没有得到正确的回应,那只能得到租 期截至后重新申请IP地址了。以上是有关租约的内容。这里再谈一下和DHCP相关的两个常用的命 令:ipconfig /release和ipconfig /renew
我相信,这两个命令大家都曾用过。当由于某些网络 原因导致IP地址没能及时同步时,我们可以先用ipconfig /release命令将当前的IP地址和其他配置信息 释放掉。此时客户端会利用单播的方式向DHCP发送DHCP Release数据包,目的是告诉DHCP服务器客户端要 释放这个IP。如下图:
上图是运行这个命令后协议层上的表现,实话讲,DHCP协议里用单播通讯的情况可不多见。如果有多 网卡,但只想释放某一张网卡,只需要在命令后面加上网卡的名称即可,比如ipconfig /release " 本地连接1" 。命令运行完后,客户端的IP地址等信息会被重置为0.0.0.0 。如下图:
再利用ipconfig /renew 命令向DHCP服务器重新获取一个IP。多半情况下,都会获得和原来相同的IP ,主要是因为在申请新IP时,发送的DHCP Discover数据包中包含了上一次获取到的IP,如果这个IP没有 被指派出去,那么依然会重新分配给这台客户端。再者就要看DHCP客户端数量了,数量多意味着DHCP请求 多。
如下图:
过程和客户端第一次获取IP时差不多,只是需要留意数据包中的Request IP 项。
4次交互过程 后,客户端获取到了IP地址。如下图:
OK,今天的内容很简 单,基本上没什么难度,希望能帮到大家。
谢谢!
下节会讲到用户类别的配置和应用及 ipconfig /setclasssid命令的用法。
出处: http://jeffyyko.blog.51cto.com/28563/166069