DHCP工作原理--DHCP客户端地址请求过程
一,DHCP工作过程概述:
DHCP作用:
①DHCP( Dynamic Host Configuration Protocol, 动态主机配置协议),为网络中的设备提供动态IP地址信息,包括IP地址、网关、DNS等等。
②DHCP可以使得整网络的地址分配变得非常简单,大大减低了网络管理员的工作量。
③DHCP基于UDP协议,采用端口号为67和68,其中68端口为DHCP客户端采用,67端口为DHCP服务端采用。
图解:

(1)发现阶段。DHCP client运行后,以广播的方式发送DHCP Discover消息
(2)提供阶段。DHCP Server收到DHCP Discover消息后,从IP地址池中选择一个IP地址,以单播的方式发送DHCP Offer消息给客户端
(3)请求阶段。DHCP Client收到DHCP offer消息后,以广播方式发送一个DHCP Request消息,这个DHCP request消息携带DHCP Server的标识,意图向Server请求获取offer中提供的IP地址。DHCP client如果收到多份offer信息,一般取第一个收到的,其他的Server收到Request广播后,会明白client拒绝了自己的offer,进而收回给予该Client的offer。
(4)确认阶段。DHCP收到Request消息后,向client发送单播DHCP Ack消息,确认获取IP地址失败,或者单播发送DHCP Nak消息,说明IP地址获取失败,需要重新获取IP地址。
抓包分析:

二、数据包功能解释:
DHCP Discover:客户端发送DHCP Discovert广播询问是否有DHCP服务器
DHCP Offer: DHCP服务器通过DHCP Offer回复广播请求,并预先从地址池拿出一个地址
DHCP Request:客户端正式通过DHCP Request向此DHCP服务器请求该地址,DHCP Request包含具体服务器的地址信息,当有多服务器时,通过此方法只获取某个服务器的地址。
DHCP Ack: DHCP服务器正式给出该地址,并从地址池中移除
DHCP Release: 客户端释放其所用的地址,让客户端重新获取地址。
思科设备命令:
R1#release dhcp f0/0
R1#renew dhcp f0/0
R2#show ip dhcp binding
DHCP Decline:客户端通知服务器,其所分配的地址已经被其他设备所使用。在局域网中加入另一台PC,然后将其地址设置为与客户端的地址一样,等DHCP客户端获取到地址后通过免费ARP察觉冲突后,则发送此数据包
DHCP Nak:DHCP服务器通知客户端,其申请的地址无效或超期, 在重新获取renew更新之前,通过地址排除将地址排掉,则可以获取此数据包。
DHCP Inform:客户端向服务器申请本地的配置参数(当客户端地址已经被分配时)