DHCP是一个C/S(C:客户端,S:服务器端)架构的协议,所以需要提供一个DHCP服务器,DHCP是UDP协议,与其他协议有所不同,DHCP协议可能是双向通信的,所以客户机和服务器端都需要各自监听一个端口,来完成协议通信:服务端为67,客户端为68。
一、DHCP的八个报文
- DHCP Discovery ——客户端广播DHCP发现
- DHCP Offer——服务器回应DHCP响应
- DHCP Request——客户端广播DHCP请求
- DHCP ACK——服务器回应DHCP确认同意
- DHCP NCK——服务回应DHCP确认不同意
- DHCP Decline——客户端发现IP地址冲突通知服务器
- DHCP Release——客户端主动释放IP地址
- DHCP Inform——Client向server发送,获取一些配置信息
二、DHCP工作过程
1. 发现阶段,当DHCP客户机第一次登录网络的时候(也就是客户机上没有任何IP地址数据时),它会通过UDP 67端口向网络上发出一个DHCP Discover数据包(包中包含客户机的MAC地址和计算机名等信息)。因为客户机还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0,目标地址为255.255.255.255,然后再附上DHCP discover的信息,向网络进行广播。DHCP discover的等待时间