DHCP详解
DHCP是如何工作的?
DHCP分为客户端和服务器端,是典型的C/S模式。DHCP服务器(如路由器或专用的DHCP服务器)统一管理IP地址池,客户端(如电脑、手机)通过UDP协议的67(服务器)和68(客户端)端口交互报文,实现IP地址的分配、续租、释放、静态绑定等功能。
工作原理(四步交互过程)
- Discovery(发现):客户端广播DHCP Discovery包(UDP 68端口),寻找可用的DHCP服务器。
- Offer(提供):服务器响应DHCP Offer包(包含空闲IP地址,如192.168.1.100),发送给客户端。
- Request(请求):客户端选择第一个收到的Offer,广播DHCP Request包请求正式分配该IP。
- ACK(确认):服务器确认无误后发送DHCP ACK包,确认客户端使用该IP地址和其他网络参数。
抓包分析
DHCP discover
DHCP offer
DHCP Request
DHCP ACK
设备获取IP地址后续
设备获取IP地址正常上网后,DHCP服务器继续维护IP地址池。
- 续租:客户端的IP地址的租期(lease time)已经过半,客户端会发DHCP Request报文,请求更新IP地址租期。服务器端回应DHCP ACK报文,确认客户端租期更新成功。
- 续租失败:客户端租期过半未续租成功,租期达到87.5%(T2)时,客户端再次向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果DHCP服务器回应的DHCP ACK报文,则租期更新成功。
- 续租失败:客户端收到服务器端的DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。
- 客户端重新上线:DHCP客户机每次重新连接网络时,直接发送包含前一次所分配的IP地址的DHCP Request请求信息,服务器端ACK即可。
- IP地址释放:客户端设备租期满不再续租或者设备中途离开,地址租期满后,客户端不再发新的DHCP REQUEST报文续租,服务器端则认为客户端不再使用该地址,会释放该地址,后续给其他的客户端使用。
DHCP主要测试的点
功能:正常IP地址分配;静态IP地址分配;地址池耗尽;租约续租;主动release等;
异常:offer包丢;ACK包丢;IP地址冲突;服务器无响应等;
性能:并发获取IP地址;租期续租压力测试;地址池容量等;
稳定性:7*24小时的压力挂测。