转自:https://blog.csdn.net/wangdk789/article/details/27052505

当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的数据包。客户端收到这个数据包后会发送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地址。如下图:

DHCP的IP地址租约、释放的更多相关文章

  1. win7无法通过DHCP获得IP地址

    问题:win7无法通过DHCP获得IP地址(手动设置没有问题),但XP可以自动获取. 前些时候,某局域网反应部分WIN7系统无法正常从DHCP服务器(windows dhcp 服务器)获取ip地址,交 ...

  2. DHCP获取IP地址过程中捕获的报文—三级网络总结(二)

    上一篇文章主要说了一下知识点中的IP地址的考点,这一篇我打算说说DHCP获取IP地址过程中捕获的报文的这个考点,都是自己的理解,有错误欢迎指正. DHCP是应用层协议,UDP是传输层协议,IP是网络层 ...

  3. PXE DHCP获取IP与传统DHCP获取IP地址的区别

    正常的DHCP获取IP的流程(Discover-Offer-Request-Ack): (Discovery)主机端在LAN中发布MAC地址为FF:FF:FF:FF:FF:FF的广播来寻找DHCP服务 ...

  4. ubuntu dhcp修改ip地址

    sudo vim /var/lib/dhcp/dhclient.eth0.leases 把里边的fixed-address都改成你想要的ip. 然后执行 sudo ifdown eth0 && ...

  5. Linux 最小化安装后IP的配置(DHCP获取IP地址)

    图形化Linux的DHCP好配置,我就不讲了.主要将一下Linux最小化安装后IP的配置: linux最小化安装后没有ifconfig这个命令: yum install net-tools.x86_6 ...

  6. DHCP服务自动分配IP地址原理

    转载自:http://blog.csdn.net/lycb_gz/article/details/8499559 DHCP在提供服务时,DHCP客户端是以UDP 68号端口进行数据传输的,而DHCP服 ...

  7. 分配IP地址的好东西 DHCP以及NAT简单介绍

    主机配置协议DHCP 1.DHCP应用场景 2.DHCP基础原理 3.NAT简单介绍 4.配置命令 1.手工配置IP地址,工作量比较大而且不好管理,如果用户自己修改参数,可能会导致ip地址冲突,这个时 ...

  8. 通过DHCP动态管理IP地址

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  9. 2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: •DHCP服务器工作原理 •使用DHCP为局域网中的机器分配IP地址 •使用DHCP为服务器分配固定IP地址 •ntpdate加计划任务同步服务器时间 ---------------- ...

随机推荐

  1. oo第四次总结

    1.论述测试与正确性论证的效果差异,比较其优缺点 测试:通过大量测试样例覆盖测试代码,来检测代码功能的实现是否正确是否完善.正确性论证:通过对代码规格和逻辑的严密分析,推论和证明,来验证代码实现的正确 ...

  2. JAVA RPC (三) 之thrift序列化协议入门杂谈

    首先抱歉让大家久等了,最近工作的原因,再加上自己维护koalas rpc利用的大部分时间,一直没腾出空来写这篇文章. 先放出来自研的企业级RPC框架源代码地址,上面有使用方式和部署环境说明,说环境部署 ...

  3. 关于parseInt()里的一些小坑

    parseInt(string,radix)方法是将输入字符串转化为数值,两个输入参数中string为要转化的字符串,radix可省略,是浏览器以几进制来解读输入的string. 举几个例子就能够对该 ...

  4. Django搭建网站笔记

    参考文档 https://www.cnblogs.com/yoyoketang/p/10195102.html https://www.cnblogs.com/yoyoketang/p/1022094 ...

  5. dataTable 分页用法总结

    $(function(){ var eData=[ { "area":"濮阳县", "name":"面粉厂", &quo ...

  6. tensorflow-用DASC结合Inception-v3对imagenet2012聚类实现

    一.目的 以imagenet2012作为数据集,用Inception-v3对图像提取特征作为输入,来训练一个自编码器. 以上作为预训练模型,随后在该自编码器的基础上,中间加入一个自表示层,将最终学习到 ...

  7. Cocos Creator JS 时间戳日期转换

    /*** 时间戳换算日期* */function formatDateTime (timeStamp) { var date = new Date(); date.setTime(timeStamp ...

  8. mybatis增强

    MyBatis SQL参数传递(掌握) SQL映射器Mapper接口(掌握)Myb atis批量操作(理解掌握) (多对一)关联映射(掌握) (一对多,多对多)集合映射 MyBatis原理回顾(Obj ...

  9. #WEB安全基础 : HTTP协议 | 0x9 GET和POST请求以及请求URI的方式

    请求URI的方式 1.URI为完整的请求URI GET http://hackr.jp/index.htm HTTP/1.1 2.在首部字段Host中写明域名或IP地址 GET/index.htm H ...

  10. flask 虚拟换将安装

    1.1.  1.4虚拟环境的安装 1.1.1. 安装虚拟环境 1.1.1.1. 安装 注意:这里必须使用pip3 安装. sudo pip3 install virtualenv sudo pip3 ...