我目前正在开发使用TCP-IP的嵌入式设备,并通过DHCP获得IP地址。 我在示例中看到,我时不时需要检查租约是否已结束,但是我没有找到有关检查频率的参考,因为有实施者每8天检查一次,并且实施每24小时检查一次。 所以基本上,在您的实现中,您多久检查一次DHCP租约? 关于这个问题的标准是什么?

===============>>#1 票数:1 已采纳

实际上,您必须检查DHCPREQUEST的ACK中的“ IP租约时间”字段。 RFC指定此ACK消息必须包含租用时间。 一些客户端还可以选择在DHCPDISCOVER或DHCPREQUEST消息中建议租用时间(取决于实现方式)。

从客户端的角度来看,在租约期限(T1)的50%时,客户端必须向服务器发送DHCP请求,以请求续订其租约时间。 当客户端从服务器接收到DHCP ACK时,客户端会计算租约到期时间,作为客户端发送DHCPREQUEST消息的时间与DHCPACK消息中的租约持续时间之和。

如果没有在租约时间(T2)的87.5%的时间之前到达DHCPACK,则客户端发送(通过广播)DHCPREQUEST消息以延长其租约。

如果在客户端收到DHCPACK(T3)之前租约到期,则客户端必须立即停止任何其他网络处理并请求网络初始化参数,就像客户端未初始化一样。

因此,您必须牢记T1,T2和T3。

  ask by stdcall translate from so

未解决问题?本站智能推荐:

1回复

DHCP服务器是否会将租约分发给无法识别的供应商类别标识符?

即使DHCP服务器无法识别供应商,在DISCOVER / REQUEST消息中发送选项60的DHCP客户端能否获得IP设置(ACK)? 也就是说,DHCP服务器会发放租约,但省略供应商特定的参数吗?
1回复

CoovaChilli上的多个DHCP范围

我试图在多个子类下使用CoovaChilli。 例如,我想建立类似的东西: 扩展设备上的连接。 没有太多的文档,但是我发现不相关且无法正常工作。 有趣的链接: https://www.linuxmuster.net/wiki/anwenderwiki:benutz
1回复

我的客人无法从我的网络DHCP获得IP?

我为访客设置了以下配置 图片说明在这里 但是在设置它并重新启动我的客户机之后,它无法从我的网络DHCP获取IP !!!! 我该如何解决?
1回复

如果dhcp失败,则设置保存的静态IP地址

我正在尝试在bash脚本中使用Wheezy在Raspberry Pi上实现以下场景。 这样做是因为如果DHCP联机,我希望设备始终获得新IP,同时我希望设备在DHCP脱机的情况下保留最后使用的IP。 最重要的是,IP地址可能会更改,并且我有很多设备,因此,简单地设置静态IP不是我的选择:
1回复

如果没有从DHCP获取静态IP(脚本)

我在linux上使用嵌入式设备。 我想先使用DHCP客户端,但如果DHCP服务器没有应答,我想设置静态默认IP。 我想这应该不复杂,但我没有找到严格的答案。 我正在考虑2个解决方案(不幸的是我可以在几天内测试它们): 我用ifconfig设置静态IP,然后我调用udhcpc。
1回复

DHCP服务器如何知道我的IP地址?

第17、22、200、390、531、535号数据包的目的地应该是广播消息,但是为什么它们是我的IP地址? 请注意,我已经发布了我的IP。
2回复

Java上的DHCP客户端,无法从IP 0.0.0.0发送

我正在尝试使用Java创建DHCP客户端。 客户将发送发现,接收要约,发送请求和接收确认。 但是,在发送光盘和请求UDP DatagramPackets时,我需要从IP 0.0.0.0端口68发送它们,因为DHCP的重点是从DHCP服务器接收可用的IP地址。 但是,如果根据http://d
2回复

如何在Fedora上通过bash查找DHCP分配的IP地址?

fedora的bash shell内是否有一个命令可以给我当前分配的IP地址?
1回复

在Scapy中制作DHCP OFFER数据包

我正在使用scapy编写一个非常简单的DHCP服务器,但我一直坚持发送要约数据包。 现在,我正在这样做: 客户端是ISC DHCP,安装在ubuntu服务器16.04上。 我可以在Wireshark中看到dhclient发送的发现数据包,但是看不到我的服务器发送的要约数据包(Scap
1回复

DHCP IP发现,提供,请求,确认

为什么我的DHCP服务器使用我的旧IP地址作为目的地? 0.0.0.0-255.255.255.255->发现 192.168.0.1 - 192.168.0.100 - >报价 0.0.0.0-255.255.255.255->请求 192.168.0