在一个计算机比较多的网络中,如果要为整个企业每个部门的上百台机器逐一进行IP地址的配置绝不是一件轻松的工作。为了更方便、简捷地完成这些工作,很多时候会采用动态主机配置协议(DynamicHost Configuration Protocol,DHCP)来自动为客户端配置IP地址。
DHCP基于客户/服务器模式,当DHCP客户端启动时,它会自动与DHCP服务器通信,要求供自动分配IP地址的服务,而安装了DHCP服务软件的服务器则会响应要求。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如:DNS服务器、WINS服务器、Gateway(网关)的设置。
在DHCP机制中可以分为服务器和客户端两个部分,服务器使用固定的IP地址,在局域网中扮演着给客户端提供动态IP地址、DNS配置和网管配置的角色。客户端与IP地址相关的配置,都在启动时由服务器自动分配。
1.DHCP客户机发送IP租约请求
当客户端启动网络时,由于在IP网络中的每台机器都需要有一个地址,因此,此时的计算机TCP/IP地址与0.0.0.0绑定在一起。它会发送一个“DHCPDiscover(DHCP发现)”广播信息包到本地子网,该信息包发送给UDP端口67,即DHCP/BOOTP服务器端口的广播信息包。
2.DHCP服务器提供IP地址
本地子网的每一个DHCP服务器都会接收“DHCPDiscover”信息包。每个接收到请求的DHCP服务器都会检查它是否有提供给请求客户端的有效空闲地址,如果有,则以“DHCPOffer(DHCP提供)”信息包作为响应,该信息包包括有效的IP地址、子网掩码、DHCP服务器的IP地址、租用期限,以及其他的有关DHCP范围的详细配置。所有发送DHCPOffer信息包的服务器将保留它们提供的这个IP地址(该地址暂时不能分配给其他的客户端)。“DHCPOffer”信息包广播发送到UDP端口68,即DHCP/BOOTP客户端端口。响应是以广播的方式发送的,因为客户端没有能直接寻址的IP地址。
3.DHCP客户机进行IP租用选择
客户端通常对第一个提议产生响应,并以广播的方式发送“DHCPRequest(DHCP请求)”信息包作为回应。该信息包告诉服务器“是的,我想让你给我提供服务。我接收你给我的租用期限”。而且,一旦信息包以广播方式发送以后,网络中所有的DHCP服务器都可以看到该信息包,那些提议没有被客户端承认的DHCP服务器将保留的IP地址返回给它的可用地址池。客户端还可利用DHCPRequest询问服务器其他的配置选项,如DNS服务器或网关地址。
4.DHCP服务器IP租用认可
当服务器接收到“DHCP Request”信息包时,它以一个“DHCPAcknowledge(DHCP确认)”信息包作为响应,该信息包提供了客户端请求的任何其他信息,并且也是以广播方式发送的。该信息包告诉客户端“一切准备好。记住你只能在有限时间内租用该地址,而不能永久占据!好了,以下是你询问的其他信息”。