初级会员

- 积分
- 94
- 金钱
- 94
- 注册时间
- 2016-4-18
- 在线时间
- 25 小时
|

楼主 |
发表于 2016-8-11 23:05:34
|
显示全部楼层
我把路由器的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分钟再进行尝试
论坛精英荟萃,有人知道吗? |
|