最近遇到一个dhcp问题,因此将dhcp过程及涉及到的知识点进行了回炉学习,在这里简单做下总结
-----再牛逼的梦想,也抵不住傻逼般的坚持!
源码下载路径https://udhcp.busybox.net/
一、dhcp过程简单讲解
1.第一步:client 发送discover寻找dhcp server;
注:此处发送的包针对链路层来说是广播包。但是针对dhcp协议,需要通过bootp flags来区分是广播or单播包
2.第二步:server发送offer, offer报文中携带了分配的ip。
3.第三步:client发送request,携带server分配的ip.
4.第四步:server发送ack
上述过程为静电的正常dhcp过程,详细的过程可自行百度了解
这里主要讲述下dhcp遇到的问题及解决方法:
二、问题分析
问题1:路由器兼容性,部分路由dhcp失败
背景:dut设备在做路由器兼容性测试时发现,部分路由器设备配网一直失败。之后通过设备log及抓取空口包发现,设备在与路由链路层建立连接后,dhcp失败。
分析:
a.不同设备对比分析;尝试使用其他设备进行同样操作的连接,比如:手机、竞品设备,发现均能正常连接。
b.不通加密方式分析;尝试将路由器改为不加密状态, 再次进行测试。dhcp失败概率降低,但仍存在失败的情况。(该测试只为分析影响,即使改为不加密,dut设备能够完全正常连接,