DHCP Client有限状态机

问题:项目需要实现dhcp server功能,在测试时候,发现client端有线口每次重新接入时,均能正确分配到地址;而wife重新接入时,虽然dhcp server也回复了,但是client端wife无法识别,重复发了5此dhcp request报文,server回复了5次ack报文,也不能确认,直到下一次重新发起discover后,才成功。

定位:wife重新接入时,由于wife重新发起的是request报文(wife重连无法像有线口一样感知到down,所以重连后不会发起discover报文),而回复的是ack报文,所以是否因为如果dhcp client发送dhcp request报文,服务器回复的是dhcp offer报文(自身程序bug导致),此时dhcp client不认可?

 查看offer报文、ack报文的差异:

 

发现二者option项完全一样,唯一不同的就是报文类型 。

但是此处相同操作在linux环境上测试是可以的,而windows不认可,查看dhcp client有限状态机发现,的确存在疑问:

最终原因是由于存在两个server场景下,wifi在两个server之间切换时,server上的dhcp处理存在有问题:从一个server切换到另外一个server时,request报文中的server id已经改变了,所以server需要先回复NACK让wifi client释放之前所有租约信息,重新发起discover信息即可。

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值