前面对于DHCP的概念,我们解析了它的服务内容。那么这里我们主要介绍的则是DHCP服务器的内容。那么这里就让我们详细看看DHCP服务器的应用环境,报文格式等内容吧。望对大家有所帮助。
DHCP服务器
DHCP服务器的应用环境
在以下场合通常利用DHCP服务器来完成IP地址分配:
•网络规模较大,手工配置需要很大的工作量,并难以对整个网络进行集中管理。
•网络中主机数目大于该网络支持的IP地址数量,无法给每个主机分配一个固定的IP地址。大量用户必须通过DHCP服务动态获得自己的IP地址,而且,对并发用户的数目也有限制。
•网络中具有固定IP地址的主机比较少,大部分主机可以不使用固定的IP地址。
DHCP的报文种类
•DHCPDISCOVER:客户机广播发现可用的DHCP服务器。
•DHCPOFFER:服务器响应客户机的DHCPDISCOVER报文,并向客户机提供各种的配置参数。
•DHCPREQUEST:
■客户机向服务器申请地址及其他配置参数;
■客户机重新登录后确认原来的地址及其他配置参数的正确性;
■客户机向服务器申请延长地址及其他配置参数的使用期限。
•DHCPACK:服务器向客户机发送所需分配的地址及其他配置参数。
•DHCPNAK:服务器通知客户机,其申请的地址无效,或者已经超期。
•DHCPDECLINE:客户机通知服务器,其分配的地址已被其他设备使用。
•DHCPRELEASE:客户机放弃其所使用的地址。
•DHCPINFORM:客户机向服务器申请本地的配置参数(当客户机的地址已经被分配时使用)。
DHCP客户端和服务器端的报文交互过程
典型的报文交互过程如图所示。
图DHCP客户端和服务器端的报文交互
DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式:
•DHCP客户端首次登录网络
DHCP客户端首次登录网络时,通过四个阶段与DHCP服务器建立联系:
■发现阶段:DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER报文,只有DHCP服务器才会进行响应。
■提供阶段:DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCPOFFER报文。
■选择阶段:DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCPOFFER报文,客户端只接受第一个收到的DHCPOFFER报文,然后以广播方式向各DHCP服务器回应DHCPREQUEST报文,该信息中包含向所选定的DHCP服务器请求IP地址的内容。
■确认阶段:DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST报文后,便向客户端发送包含它所提供的IP地址和其它设置的DHCPACK确认报文。然后,DHCP客户端将其TCP/IP协议组件与网卡绑定。
除DHCP客户端选中的服务器外,其它DHCP服务器本次未分配出的IP地址仍可用于其他客户端的IP地址申请。
•DHCP客户端再次登录网络
当DHCP客户端再次登录网络时,主要通过以下几个步骤与DHCP服务器建立联系:
■DHCP客户端首次正确登录网络后,以后再登录网络时,只需要广播包含上次分配IP地址的DHCPREQUEST报文即可,不需要再次发送DHCPDISCOVER报文。
■DHCP服务器收到DHCPREQUEST报文后,如果客户端申请的地址没有被分配,则返回DHCPACK确认报文,通知DHCP客户端继续使用原IP地址。
■如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCPNAK报文。客户端收到后,重新发送DHCPDISCOVER报文请求新的IP地址。
•DHCP客户端延长IP地址的租用有效期
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约(如延长IP地址租约)。
实际使用中,在DHCP客户端启动或IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST报文,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK报文,通知DHCP客户端已经获得新IP租约。
在PC机上的配置
用户PC机(即DHCP客户端)的在windowsXP、win2000或DOS环境下使用ipconfig/release命令来主动释放IP地址。在Window 98图形界面下执行[winipcfg/释放]来主动释放IP地址,操作系统不同命令会有所不同。此时用户PC机向DHCP服务器发送DHCPRELEASE报文。然后在用户PC机的DOS环境下使用ipconfig/renew命令或在图形界面下执行[winipcfg/更新]来申请新的IP地址,此时用户PC机向DHCP服务器发送DHCPDISCOVER报文。
在用户PC机(DHCP客户端)上也可以使用ipconfig/renew命令或在图形界面下执行[winipcfg/更新]来更新其IP地址租约。