5.2 DHCP协议
DHCP 服务器端口68
客户端端口67
注意发现阶段和选择阶段均为广播
DHCP DISCOVER,泛洪广播域,请求DHCP服务器提供地址
DHCP OFFER,为请求来源提供IP地址,主要由广播发送(思科,华为单播)
DHCP REQUEST,广播给所有的DHCP服务器,表示自己使用了什么IP地址
DHCP ACK,给客户端确认了这个使用请求,主要为广播(思科,华为单播)
DHCP报文格式
op:表示报文的类型,取值为1客户端请求,取值为2服务器响应
heype:硬件类型
hlen:MAC地址
hops:跳数,意思是讲过了几个中继服务器
flags:单播或者广播响应标志位,0单播,1广播
ciaddr:表示客户端的IP地址,初始化状态时没有IP地址,此字段为0.0.0.0
yiaddr:服务器分配给客户端的ip地址
siaddr:DHCP客户端获得启动配置信息的服务器IP地址
giaddr:表示第一个DHCP中继的IP地址
file:表示客户端需要获取的启动配置文件名
options:表示DHCP的选项字段
- options字段由Type、Length和Value三部分组成
options预定义的选项自字段介绍
这些字段包含了DHCP报文类型,服务端分配给终端的配置信息,如:网关IP,DNS服务器的IP地址,客户端可以使用IP地址的有效租期等信息
DHCP报文通过Options选项中的Type=53来表示DHCP的报文类型。
当Type=53,Length=1,Value取值从01到08分别表示不同的DHCP类型,如下图
- 4-DHCP DECLINE:在客户端收到了来自服务器的ACK请求后,这时客户端会检测Ip地址是否冲突,如果冲突,则会发送DHCP DECLINE,表示客户端不会使用这个IP
- 6-DHCP NAK:不同意使用,在发送request后由服务器端回复
- 7-DHCP REALEASE:由客户端发出,主动放弃现有的IP地址
- 8-DHCP INFORM:由客户端发出,请求服务器提供详细的IP地址,扩展信息等,服务器会回复一个ACK信息,携带详细信息
除了以上标准协议中规定的字段选项外 ,还有部分选项内容没有。。。
DHCP地址续租
租期达到50%(T1)时,DHCP客户端会自动以单播方式想DHCP服务器发送DHCP REQUEST报文。如果DHCP服务器会用DHCP ACK报文,则租期更新成功
租期达到87.5(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。恢复DHCP ACK报文则租期更新成功。
如果租期时间倒是都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。