DHCP服务是什么
DHCP是动态主机配置协议( Dynamic Host Configuration Protoco )的缩写,使用UDP协议工作,用于向网络中的计算机分配IP地址及一些TCP/IP配置信息。DHCP提供安全、可靠且简单的TCP/IP网络设置,避免了TCP/IP网络中的地址的冲突,同时也大大降低了管理员管理IP地址设置的负担。
DHCP客户机在第一次启动时会向网络中请求IP地址,当DHCP服务器收到IP地址请求后,他将从数据库定义的地址中选择IP地址并将该IP地址提供给DHCP客户机。要想在一个TCP/IP协议的本地网络中使用DHCP,该网络中至少要有一台计算机作为DHCP服务器,而其他计算机则作为DHCP客户机。
如何使用DHCP服务
使用端口
DHCP使用UDP协议工作,默认端口号为:UDP67、UDP68。DHCP Server(服务端)使用UDP67端口;DHCP Client(客户端)使用UDP68端口。在客户机与DHCP服务器之间传递请求与响应的过程中UDP67、UDP68成为了广播包的接收端与发送端。这里还需要提到546、547端口,分别被HDCPv6协议中的客户端与(hostspace)数据中心服务器使用,DHCPv6是一个用来配置工作在IPv6网络上的IPv6主机所需的IP地址、IP前缀和/或其他配置的网络协议。
为何使用DHCP
一般的小型网络中,计算机的IP地址完全可由网络管理员手工配置,但在计算机数量超过100台的大中型网络中,为每一台计算机手工分配IP地址,将会加重网络管理员的负担,且分配错误会导致计算机无法上网。为此,在大中型网络中启用DHCP服务是很有必要的。
在一个可用IP数量不足以满足现有计算机数量的环境中,给每台计算机分配一个IP地址,显然会有一部分计算机不能联网。假定这个网络中的计算机一般不会同时运行,那么DHCP服务器通过动态的IP地址分配就能解决IP地址不足的情况。
对于使用笔记本电脑经常移动办公的员工而言,每次更换网络环境都需要手动变更IP地址,很不方便。如果网络中启用DHCP服务,一切IP地址的变更将由客户机和(HOSTSPACE)服务器自动完成。
由此可见使用DHCP可以降低网络管理员管理IP地址设置的负担,有效地提高IP地址的利用率。
DHCP服务的工作流程
客户机除了可以从DHCP服务器获得IP地址外,还可以获得子网掩码、默认网关地址、DNS服务器地址或WINS服务器地址等信息,以上这个过程又称为DHCP租约过程。因为当客户机接收提供IP地址时,DHCP服务器会把IP地址租用给客户机一段指定的时间。租约过程分为4个步骤,分别为:⒈客户机请求IP(DHCPDISCOVER)、⒉服务器响应(DHCPOFFER)、⒊客户机选择IP(DHCPREQUEST)、⒋服务器确定租约(DHCPACK/DHCPNAK)。
1)客户机请求IP
DHCP租约过程的第一步为客户机请求IP,也称为DHCPDISCOVER。当一个DHCP客户机启动时,将会在网络中查找DHCP服务器。客户机将会自动配置0.0.0.0的IP地址,并将0.0.0.0作为源地址,将255.255.255.255作为目标地址来广播请求IP地址的信息。广播信息中包含了DHCP客户机的MAC地址和计算机名,以使DHCP服务器能够确定哪个客户机发送请求。
2)服务器响应
DHCP租约过程的第二步为服务器相应,也称为DHCPOFFER。当DHCP服务器接收到客户机请求IP地址的信息时,会立刻在IP地址库中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器会将此IP地址加入到DHCPOFFER的消息中,然后将自己的IP地址作为源地址,将255.255.255.255作为目标地址广播DHCPOFFER消息。该DHCPOFFER消息中包含:DHCP客户机的MAC地址、DHCP服务器提供的合法IP地址、子网掩码、租约的期限、DHCP服务器IP地址。
注:因为客户机还没有IP地址,所以DHCP服务器以广播形式发送消息。
3)客户机选择IP
DHCP租约过程的第三步为客户机选择IP地址,也称为DHCPREQUEST。由于网络中可有多个DHCP服务器向发送请求的客户机发送DHCPOFFER消息提供可用的IP地址,这时客户机就会涉及到选择使用哪一个IP。DHCP客户机从接收到的第一个DHCPOFFER消息中选择IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能提供给其他DHCP客户机。当客户机选择了该DHCPOFFER消息中的IP地址后会将0.0.0.0作为源地址,将255.255.255.255作为目标地址发送一条DHCPREQUEST消息广播到所有DHCP服务器,表明它接受提供的内容。DHCPREQUEST消息包含了为客户机提供IP地址的服务器IP。那些DHCPOFFER消息被拒绝的DHCP服务器会取消提供保留的IP地址。
4)服务器确认IP租约
DHCP租约过程的第四步为服务器确认租约,也称为DHCPACK/DHCPNAK。DHCP服务器接受到DHCPREQUEST后,会将自己的IP地址作为源地址,将255.255.255.255作为目标地址以DHCPACK消息的形式向客户机广播成功的确认,该消息包含IP地址的有效租约和其他可能配置的消息。当客户机收到DHCPACK消息时,它就配置了IP地址,完成了TCP/IP的初始化,从而可以在网络上通信了。
如果DHCPREQUEST不成功,例如客户机试图租约先前的IP地址,但该IP地址不再可用,或者因为客户机已经移动到不同子网,该IP地址无效时,DHCP服务器将广播否定确认消息DHCPNAK。当客户机接收到不成功的确认时,它将重新开始DHCP租约过程。