DHCP的工作机制
DHCP(动态主机配置协议)是一种动态的机制,它允许客户机在启动引导时向DHCP服务器请求一个地址,并且由DHCP服务器集中管理记录了电脑名和IP地址对应关系的一个库。
DHCP服务器中有一个地址池,里面有多个可供分配的IP地址。每个IP地址被分配给某个客户机之后,DHCP服务器会记录下该客户机的电脑名与IP地址间的一个对应关系,并且指定一个时间间隔,它被称为租用周期。
租用周期通常是由网管设定的一个时间间隔,决定IP地址可以持续使用的时间。客户机在启动的过程中会发一个广播消息,相当于大喊了一声:谁是DHCP服务器呀?
DHCP服务器听到(收到这个广播消息)之后,就会给出应答:我能提供DHCP服务。由于此时客户机还没获得地址,DHCP也是以广播形式给出这个应答。如果网络里有多个DHCP服务器,客户机就会收到不止一个应答,客户机会从这些应答当中选一个。于是直接向DHCP服务器发一个请求:“嘿!你好,给我分配一个IP地址吧。”
DHCP服务器会在应答中给出客户机所需的配置信息,并确认IP地址的租赁期。客户机会把这次与DHCP会话所得的信息保存下来,以后在重启的过程中只需验证一下:“嘿!DHCP,我是DP,你还记得我吗?”DHCP答道:“当然,你还用上次的资料吧!”于是客户机DP就可以直接使用上一次保存在本地的信息了。
故障分析:
为什么系统重启之后,客户机仍无法上网呢?这些客户机又为什么过几天自己就会好呢?
这与客户端信息的更新机制有关。客户机会把它从DHCP服务器得的IP地址和其他相关信息保存在本地硬盘里。这些信息里包括该IP地址的租赁周期。当过了租赁周期,客户机就必须更新该租用。很显然,由于重启后客户机仍认为拥有“最新”的数据,也就没去与DHCP好好沟通一下,导致了数据的不一致。
为什么某些电脑获得了形如169.254..之类的IP地址呢?
这说明这些电脑根本未能获得DHCP服务。如DHCP服务器太忙导致无法及时给客户机应答,使客户机认为网络里不存在DHCP服务器。这时,微软的操作系统会自动查找一个形如169.254.*.*的IP地址分配给客户机。