当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. 深入剖析DHCP服务IP地址自动分配原理

    以下内容摘自笔者最新出版的<深入理解计算机网络>一书,目前该书已在当当网和京东网上可以正式预订了: 当当网链接:http://product.dangdang.com/main/produ ...

  2. DHCP和IP地址冲突

    DHCP和IP地址冲突 由于宿舍增加一些上网的设备,宿舍老是IP地址冲突,各种断线,各种麻烦.原因是DHCP的分配问题.然后由于本人严重的拖延症,路由的设置一直有问题,但一直没去修改路由,趁着今天有时 ...

  3. DHCP分配IP地址详细流程讲解(附图,建议PC观看)

    目录 一.DHCP分配IP地址流程: ​第一步:DHCP Client请求IP--DHCP Client以广播的方式发出DHCP Discover报文 第二步:server响应--DHCP Serve ...

  4. wifi ip地址租约处理

    在wifi中,每个station连接ap后,ap都会给station分配一个ip 地址,如果station关闭后,ap是否会一直保留这个ip地址给该 station不?答案是否定的,每个ap都有一个i ...

  5. DHCP服务器修改ip地址,改变dhcp服务器ip地址

    改变dhcp服务器ip地址 内容精选 换一换 修改系统时间后服务器网卡出现感叹号,无法连接网络.该文档适用于CentOS 7.EulerOS,并使用DHCP协议获取IP场景.DHCP租约通常默认为24 ...

  6. 经验案例:当配置为共享/静态WEP加密时,客户端无法从DHCP获取IP地址

    经验案例:当配置为共享/静态WEP加密时,客户端无法从DHCP获取IP地址 一.问题描述        当配置为共享/静态WEP加密时,客户端无法从DHCP上获取IP地址. 二.过程分析     这种 ...

  7. linux获取ip上网,linux dhcp 获取ip地址能上网,设置静态ip地址则不能上网

    今天碰到一个奇怪的问题:安装了一台centos6.6,安装完成后默认dhcp获取ip地址,发现是可以上网的,获取的ip地址为192.168.0.131/24,因为是安装的服务器,所以打算把此地址设置成 ...

  8. pxe装机dhcp获取不到_Windows – PXE启动无法通过DHCP获取IP地址,但DHCP在操作系统启动时有效...

    我正在尝试PXE启动Cisco UCS C240服务器以通过网络安装新操作系统,但它在启动期间没有通过DHCP获取IP地址.我从英特尔Boot Agent中收到"未收到DHCP或proxyD ...

  9. CentOS最小化安装后IP的配置(图形手动及DHCP获取IP地址)

    下面主讲CentOS最小化安装后IP的配置,即DHCP获取IP地址.手动获取静态IP地址的方法. 一.CentOS最小化安装后IP的配置(DHCP获取IP地址) 图形化Linux的DHCP好配置,我就 ...

  10. 划分VLAN,根据每个VLAN通过DHCP分配IP地址

    一.新建立VLAN2并配置 switch>en //进入特权模式 switch#con //进入全局配置模式 switch(Config)#l3-forward enable  //开启三层转发 ...

最新文章

  1. 成功解决raise XGBoostError(_LIB.XGBGetLastError()) xgboost.core.XGBoostError: b'[22:08:00] C:\\Users\\Ad
  2. php读取文本写入数据库,php读取txt文本文档数据库转入mysql数据库
  3. AAPT2 error: check logs for details.
  4. 学编程必备的三个网站
  5. 安卓应用安全指南 4.1.3 创建/使用活动 高级话题
  6. python os.system
  7. POJ 1398 Complete the sequence! ★ (差分)
  8. 前端开发发展简史-个人经验分享
  9. No package ‘mate-desktop-2.0‘ found
  10. 轻松构建微服务之分布式配置中心
  11. 深度学习:NLP之词嵌入(Word Embedding)
  12. InfoPath基础应用教程-2 表单中的规则(1)
  13. python算方差_python 求方差python函数每日一讲 - divmod数字处理函数
  14. vue.js可视化开发工具_Vue.js开发工具
  15. 网络丢包怎么办?这些解决办法
  16. 风火编程--用pillow对比展示两张图片
  17. 信佛的人对佛教的诘问
  18. LLVM IR转CFG
  19. 显示服务器人数已满,明日之后服务器人数已满怎么办 排队解决方法
  20. html怎么混合颜色,在CSS中为背景混合两种颜色

热门文章

  1. 技术:车牌识别摄像机的应用,无人值守洗车房解决方案
  2. kvm迁移镜像启动报错
  3. 实时互联网的隐形风口
  4. Git学习-本地版本库的创建与简单操作
  5. DockOne微信分享( 八十八):PPTV聚力传媒的Docker与DevOps
  6. 一些常用的开发软件,定期更新!
  7. Spring框架基础(上)
  8. 现行高考政策公平 辩论_辩论文:现行高考模式有(不)利于选拔入才
  9. 微信小程序—带qq表情的评论输入框
  10. Gitter:高颜值GitHub小程序客户端诞生记