我们通过之前的文章,已经对DHCP工作概念有一个具体的了解了。那么接下来的内容,我们主要针对DHCP工作流程进行一下介绍。从中,也便于我们理解和掌握DHCP的使用。下面就具体看一下吧。
使用DHCP时,在网络上首先必须有一台DHCP服务器,而其他计算机执行DHCP客户端。当DHCP客户端程序发出一个信息,要求一个动态IP地址时,DHCP服务器会根据目前配置中设置的IP地址集,从中提供一个可供使用的IP地址和子网掩码给客户端。这个工作流程具体如下:
DHCP工作流程第1步,由于客户机最初不知道DHCP服务器的IP地址,因此设置使用DHCP的客户端将以广播方式向网络中发送DHCP discover信息,用来查找网络中是否存在DHCP服务器。这样,网络中每一台计算机都可收到该广播信息,但只有DHCP服务器才会做出响应。
DHCP工作流程第2步,DHCP服务器收到客户端发送的DHCP discover信息,将从DHCP服务器中还没有分配的IP地址中选择一个,并将IP地址、子网掩码、网关地址等信息发送给申请的客户端计算机(DHCP offer信息)。
DHCP工作流程第3步,由于网络中可能存在多台DHCP服务器,而这些DHCP服务器都可能会向申请IP地址的客户端返回一个IP地址及相关信息。这时,就需要设置一种选择方案,通常的规则是DHCP客户端接受第1个收到的分配IP地址信息(DHCP offer信息)。
DHCP工作流程第4步,客户端以广播方式发出一个DHCP request信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。这里使用广播方式来应答,是为了通知所有其他DHCP服务器,该客户端已选择了某台DHCP服务器所提供的IP地址。
DHCP工作流程第5步,当DHCP服务器收到DHCP客户端广播的DHCP request信息之后,被使用的DHCP服务器向DHCP客户端发送一个包含其所提供的IP地址和其他设置的DHCP ACK信息,告诉DHCP客户端可以使用该IP地址,其他的DHCP服务器都将收回曾提供的IP地址。而DHCP客户端便将收到的IP地址与客户端的网卡绑定。
通过以上步骤,就完成了客户端动态IP地址分配的过程。
通过第1次分配IP地址之后,DHCP客户端每次重新登录网络时,就不需要再次发送DHCP discover广播信息了,因为这时已经知道内网中有一个DHCP服务器的IP地址了,所以就直接发送包含前一次所分配的IP地址的DHCP request信息。当DHCP服务器收到该信息后,会尝试让DHCP客户端继续使用原来的IP地址,并回答一个DHCP ACK信息。若该IP地址已被使用,则DHCP服务器将发送一个DHCP NACK信息给客户端,客户端收到该信息后,将重新发送DHCP discover信息来请求新的IP地址。如果客户端已知的DHCP服务器IP地址无效,就只有重新发送广播信息,查找新的DHCP服务器了。
另外,DHCP服务器向DHCP客户端分配IP地址称为出租,通常都设置有租借期限,当期满后,DHCP服务器便会收回该IP地址。如果DHCP客户端要延长租约,则必须更新租约。