|
动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)是一种IP标准,旨在通过使用运行有DHCP服务的服务器集中管理在网络上使用的IP地址和其他相关配置来降低系统管理员管理地址配置的复杂性。
|
|
|
前面介绍TCP/IP协议时,我们已经知道TCP/IP网络上的每台计算机都必须有一个唯一的计算机名和IP地址。如果在配置IP地址时不小心将同一IP地址分配给了网络中不同的计算机,系统会自动检测出该错误并提出警告。为了避免这种错误的产生,管理员在手工配置IP地址时必须记录每台计算机所对应的IP地址。这在小型的网络中还是可以接受的,但在拥有几百台甚至更多主机的网络中,管理员的工作会变得更加繁重,也更容易出错。此外,如果把一台主机从一个网络移到另一个网络,由于两个网络的地址配置方案可能不同,也要重新为该主机配置IP地址。当这种移动频繁发生时(如笔记本电脑),使用静态IP地址分配方案同样会加大管理员的工作负担。而DHCP服务器能自动地为网络中的计算机分配IP地址,系统管理员只需在DHCP服务器上进行正确的配置,就可以完成整个网络地址的分配和配置。当网络中的某个配置参数改变时,管理员也只需在服务器端进行更改,新的配置就会应用到整个网络。
|
|
|
DHCP也使用客户/服务器模式进行工作,通过配置,DHCP服务器维护一个保存了TCP/IP配置信息的数据库来为客户机进行服务。DHCP数据库中主要保存如下信息。
|
|
|
◆在地址池中维护可分配给客户机的IP地址以及用于手工指派的保留地址。
|
|
|
◆服务器提供的IP地址租约持续时间,租约时间指的是客户机从服务器获得IP地址后可以使用多长时间。
|
|
|
◆适用于所有客户机的其他配置选项,如可以为所有的客户机指定默认网关、DNS服务器地址、WINS服务器地址等多种选项。
|
|
|
|
|
当DHCP客户机第一次登录网络时,会发现本机上没有设定任何的TCP/IP信息,它会向网络发出一个DHCPDISCOVER数据包。因为客户机还不知道自己属于哪一个网络,所以数据包的来源地址会为0.0.0.0,而目的地址则为255.255.255.255,然后再附上DHCPDISCOVER的信息,向网络进行广播,以便寻找能够为其分配IP地址的DHCP服务器。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。
|
|
|
提示:DHCPDISCOVER的等待时间预设为1秒,也就是当客户机将第一个DHCPDISCOVER数据包发送出去后,在1秒之内没有得到响应的话就会进行第二次DHCPDISCOVER广播。在得不到响应的情况下客户机一共会进行四次DHCPDISCOVER广播(包括第一次在内)。除了第一次会等待1秒之外,其余三次的等待时间分别是9、13、16秒。如果都没有得到DHCP服务器的响应,客户机则会显示错误信息宣告DHCPDISCOVER的失败,此时Windows会为自己临时分配一个位于169.254.0.1~169.254.255.254的IP地址(子网掩码为255.255.0.0)。此后,系统仍会每隔5分钟再重新发送一次DHCPDISCOVER数据包,尝试与DHCP服务器联系。若联系成功,则使用由DHCP服务器提供的TCP/IP信息来更新自己的配置。
|
|
|
|
当网络中的DHCP服务器收到客户机的DHCPDISCOVER数据包后,会在自己预先设定的可供分配的IP地址范围内选择一个尚未分配且最前面的IP地址,并连同其他TCP/IP设定,通过发送DHCPOFFER广播数据包,对DHCP客户机的请求做出响应。如果网络中有多台DHCP服务器,那么它们都会发送DHCPOFFER数据包对DHCP客户机做出响应,DHCP客户机会从中选择其收到的第一个DHCPOFFER信息。
|
|
|
|
当DHCP客户机选择了第一个接收到的DHCPOFFER数据包后,将发送一个DHCPREQUEST广播数据包,告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP地址。之所以要以广播方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址。同时,客户机还会向网络发送一个ARP数据包,查询网络上面有没有其他机器使用该IP地址;如果发现该IP已经被占用,客户机则会发出一个DHCPDECLINE数据包给DHCP服务器,拒绝接受其DHCPOFFER,并重新发送DHCPDISCOVER信息。
|
|
|
|
当DHCP服务器收到DHCP客户机回答的DHCPREQUEST请求信息之后,便向DHCP客户机发送一个包含它所提供的IP地址和其他设置(子网掩码、默认网关、DNS服务器地址等)的DHCPACK确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定。另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。
|
|
|
DHCP客户机获得的IP地址是有使用期限的,这个使用期限由提供IP地址的DHCP服务器设定。默认情况下,在Windows Server 2003中,这个期限为8天。为了延长IP地址的使用期限,DHCP客户机需要更新IP地址租约。更新的方法有两种:自动更新和手工更新。
|
|
|
|
在以下几种情况下,DHCP客户机会自动向DHCP服务器更新IP地址租约。
|
|
|
◆当DHCP客户机租用的IP地址期限过一半时,客户机会自动向为其提供IP地址的DHCP服务器发送DHCPREQUEST广播数据包,以便要求继续租用原来的IP地址。如果续租成功,则新租约代替原租约;如果续租失败,则继续使用原来的IP地址。
|
|
|
◆如果IP地址租约期限过一半时,续租没有成功,则在剩下的租约期限再过一半的时候,DHCP客户机会自动发送DHCPDISCOVER广播数据包,向网络中的任何一台DHCP服务器请求获得一个新的IP地址租约。
|
|
|
◆每当DHCP客户机重新启动时,也会自动向为其提供IP地址的DHCP服务器发送DHCPREQUEST广播数据包,要求继续租用IP地址。
|
|
|
|
用户可在DHCP客户机上使用ipconfig/renew命令手工对IP地址租约进行更新,另外也可以随时释放已有的IP地址租约,操作命令为ipconfig/release。
|
|
|