DHCP
动态主机配置协议的做用我想做为网管的兄弟们都应该知道了,这里我就很少废话了,今天我要谈的是
DHCP
的工做过程,了解了工做过程,要排除故障就容易了。
1、
DHCP
客户机初始化:
1.
寻找
DHCP Server
。
当
DHCP
客户机第一次登陆网络的时候(也就是客户机上没有任何
IP
地址数据时),它会经过
UDP 67
端口向网络上发出一个
DHCPDISCOVER
数据包(包中包含客户机的
MAC
地址和计算机名等信息)。由于客户机还不知道本身属于哪个网络,因此封包的源地址为
0.0.0
.0
,目标地址为
255.255.255.255
,而后再附上
DHCP discover
的信息,向网络进行广播。
DHCP discover
的等待时间预设为
1
秒,也就是当客户机将第一个
DHCP discover
封包送出去以后,在
1
秒以内没有获得回应的话,就会进行第二次
DHCP discover
广播。若一直没有获得回应,客户机会将这一广播包从新发送四次(以
2
,
4
,
8
,
16
秒为间隔,加上
1-1000
毫秒之间随机长度的时间)。若是都没有获得
DHCP Server
的回应,客户机会从
169.254.0.0/16
这个自动保留的私有
IP
地址中选用一个
IP
地址。而且每隔
5
分钟从新广播一次,若是收到某个服务器的响应,则继续
IP
租用过程。
2.
提供
IP
地址租用
当
DHCP Server
监听到客户机发出的
DHCP discover
广播后,它会从那些尚未租出去的地址中,选择最前面的空置
IP
,连同其它
TCP/IP
设定,经过
UDP 68
端口响应给客户机一个
DHCP OFFER
数据包(包中包含
IP
地址、子网掩码、地址租期等信息)。此时仍是使用广播进行通信,源
IP
地址为
DHCP Server
的
IP
地址,目标地址为
255.255.255.255
。同时,
DHCP Server
为此客户保留它提供的
IP
地址,从而不会为其余
DHCP
客户分配此
IP
地址。
因为客户机在开始的时候尚未
IP
地址,因此在其
DHCP discover
封包内会带有其
MAC
地址信息,而且有一个
XID
编号来辨别该封包,
DHCP Server
响应的
DHCP OFFER
封包则会根据这些资料传递给要求租约的客户。
3.
接受
IP
租约
若是客户机收到网络上多台
DHCP
服务器的响应,只会挑选其中一个
DHCP OFFER
(通常是最早到达的那个),而且会向网络发送一个
DHCP REQUEST
广播数据包(包中包含客户端的
MAC
地址、接受的租约中的
IP
地址、提供此租约的
DHCP
服务器地址等),告诉全部
DHCP Server
它将接受哪一台服务器提供的
IP
地址,全部其余的
DHCP
服务器撤销它们的提供以便将
IP
地址提供给下一次
IP
租用请求。此时,因为尚未获得
DHCP Server
的最后确认,客户端仍然使用
0.0.0
.0
为源
IP
地址,
255.255.255.255
为目标地址进行广播。
事实上,并非全部
DHCP
客户机都会无条件接受
DHCP Server
的
OFFER
,特别是若是这些主机上安装有其它
TCP/IP
相关的客户机软件。客户机也能够用
DHCP REQUEST
向服务器提出
DHCP
选择,这些选择会以不一样的号码填写在
DHCP Option Field
里面。客户机能够保留本身的一些
TCP/IP
设定。
4.
租约确认
当
DHCP Server
接收到客户机的
DHCP REQUEST
以后,会广播返回给客户机一个
DHCP ACK
消息包,代表已经接受客户机的选择,并将这一
IP
地址的合法租用以及其余的配置信息都放入该广播包发给客户机。
客户机在接收到
DHCP ACK
广播后,会向网络发送三个针对此
IP
地址的
ARP
解析请求以执行冲突检测,查询网络上有没有其它机器使用该
IP
地址;若是发现该
IP
地址已经被使用,客户机会发出一个
DHCP DECLINE
数据包给
DHCP Server
,拒绝此
IP
地址租约,并从新发送
DHCP discover
信息。此时,在
DHCP
服务器管理控制台中,会显示此
IP
地址为
BAD_ADDRESS
。
若是网络上没有其它主机使用此
IP
地址,则客户机的
TCP/IP
使用租约中提供的
IP
地址完成初始化,从而能够和其余网络中的主机进行通信。
2、
DHCP
客户机租期续约:
客户机会在租期过去
50%
的时候,直接向为其提供
IP
地址的
DHCP Server
发送
DHCP REQUEST
消息包。若是客户机接收到该服务器回应的
DHCP ACK
消息包,客户机就根据包中所提供的新的租期以及其它已经更新的
TCP/IP
参数,更新本身的配置,
IP
租用更新完成。若是没有收到该服务器的回复,则客户机继续使用现有的
IP
地址,由于当前租期还有
50%
。
若是在租期过去
50%
的时候没有更新,则客户机将在租期过去
87.5%
的时候再次向为其提供
IP
地址的
DHCP
联系。若是还不成功,到租约的
100%
时候,客户机必须放弃这个
IP
地址,从新申请。若是此时无
DHCP
可用,客户机会使用
169.254.0.0/16
中随机的一个地址,而且每隔
5
分钟再进行尝试。