DHCP 续租问题

2019-07-20 20:48发布

我看到原子哥的LWIP例程里,关于DHCP功能的实现,是单独启动了一个DHCP功能的任务,好像在成功获得动态IP分配后就把这个任务自己的删除了(或挂起了,具体忘了),这样的话长时间运行,DHCP的IP地址租期一到,LWIP是不是就没有和路由器沟通进而续租IP能力了?该如何让拥有动态IP地址的开发板子能一直长期运行下去呢?不要删除或挂起这个任务吗?望眼欲穿盼回复
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
大毛桃
1楼-- · 2019-07-20 21:30
本帖最后由 大毛桃 于 2016-8-12 21:23 编辑

.......
大毛桃
2楼-- · 2019-07-20 22:16
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-20 23:21
你先测试下,是否长时间运行有问题。
大毛桃
4楼-- · 2019-07-21 02:20
我把路由器的DHCP的租约时间改为2分钟,然后将作为客户端的开发板连到路由器上,另一台作为服务器的WindowsPC通过wifi连接到同一台路由器上,在PC上打开网络调试助手,设置为TCP服务器,接受开发板的连接请求。开发板上电后得到了动态IP地址,确实是能够连通到PC上运行的TCP服务器的。此后服务器向开发板发数据,开发板返回接收到的数据,这样一直持续了半小时,似乎没问题。但我不知道为何一直能持续,因为一般据说是DHCP租约时间超过50%和87.5%时,客户端要主动联系路由器续租的,而开发板的DHCP任务在得到IP后早已经立即自己删除了。
      没有了那个任务,那么在开发板上,谁以及如何完成以下事务处理的:
当客户机的租约期到50%的时候,会向DHCP服务器发送DHCP REQUEST消息包。
如果客户机接收到该服务器回应的DHCP ACK消息包,客户机就根据包中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。
如果没有收到该服务器的回复,则客户机继续使用现有的IP地址,因为当前租期还有50%。
如果在租期过去50%的时候没有更新,则客户机将在租期过去87.5%的时候再次向为其提供IP地址的DHCP联系。
如果还不成功,到租约的100%时候,客户机必须放弃这个IP地址,重新申请。
如果此时无DHCP可用,客户机会使用169.254.0.0/16中随机的一个地址,并且每隔5分钟再进行尝试

论坛精英荟萃,有人知道吗?
大毛桃
5楼-- · 2019-07-21 03:35
 精彩回答 2  元偷偷看……
正点原子
6楼-- · 2019-07-21 08:16
大毛桃 发表于 2016-8-11 23:15
是不是客户端得到IP后即使一直闷头不吭声续租的事情,但路由器发现这个客户端一直处于活动状态,就默许它继 ...

应该是,不会被抢。

一周热门 更多>