15.7DHCP和BOOTP
DHCP是自引导规程Bootstrap协议(BOOTP)的扩展。BOOTP(定义于RFC1532)是为两个目的而设计的:其一是客户机能请求一个IP地址和其他TCP/IP设置信息,其二则是使无盘工作站在通过TFTP协议获得映像以后可以请求得到引导文件信息的位置,以便客户机可以从那里启动。但是,BOOTP并不支持租用期的概念,每台客户机的硬件地址必须和一个实际的IP地址相联系。
因为windows 计算机支持DHCP但不支持BOOTP,所以没有理由在纯windows 环境下使用BOOTP。但因为windows NT是支持DHCP的,而DHCP基于BOOTP,windows NT4.0ServicePack2也支持BOOTP客户机。这意味着DHCP服务器可以响应UNIX客户机或无盘工作站的DHCP请求以及BOOTP请求。该特性在混合的而DHCP/BOOTP服务器又存在冲突的环境中是十分有用的。有了DHCP,windows 可以对配置中继代理的远程子网提供BOOTP服务。但是windows 2000 没有提供用于传送启动映像文件的可配置的TFTP服务。
这种部分的支持可能看起来有些奇怪,但是如果考虑网络服务中启动环境的使用,这种限制看起来就不那么重要了,它对windows 客户端是肯定没有影响的。DHCP选项(或者这里称为BOOTP选项)用于通知BOOTP客户端启动映像文件名和客户端。windows 2000 DHCP忽略BOOTP请求除非BOOTP表中已经配置了至少一个启动映像文件的信息。而且windows 2000 一个特色是对没有专门请求选项的BOOTP客户端不提供任何信息。
windows 2000 中的动态BOOTP扩展通过将IP地址在BOOTP作用域共用从而减化了管理。在BOOTP作用域中,对于使用保留的客户端将硬件地址和IP地址链接在一起是不必要的。除非该BOOTP客户端不支持动态BOOTP或者需要特定的选项。BOOTP作用域像普通的作用域一样创建,但是必须被标记为用做BOOTP请求。标记的方法如图15-13所示,在作用域的属性
对话框的Advanced选项卡中选择“Both”或“BOOTPonly”,值得注意的是在DNS选项卡中关于使用动态DNS更新的所有选项都可为BOOTP客户端所用。
要配置启动文件,首先要改变DHCP服务器属性的“General”选项卡中的缺省值,使“showtheBOOTPTableFolder复选框被选中,如图15-14所示。
1)打开DHCP服务器管理界面。
2)单击服务器节点,然后右键单击弹出菜单以选择服务器属性对话框。
3)在General选项卡中,选中标签为“showtheBOOTPTableFolder”的复选框。
4)单击OK关闭属性对话框。
因为当BOOTP表为空的时候服务器将忽略BOOTP请求,所以这是一个必要的步骤。此后就可能在服务器控制台中的BOOTP表节点的上下文菜单中选择“NewBootImage”以提供启动映像信息。在响应BOOTP请求时,DHCP服务器将表中的信息返回给客户端。
1)打开DHCP服务器管理界面。
2)展开服务器节点。
3)单击BOOTP表节点。如果看不到该节点,就使用上面提到的操作在服务器属性对话框中启用BOOTP表。
4)已定义的BOOTP映像文件将在右边的细节框中列出。在BOOTP表节点的上下文菜单中选择“NewBootImage”添加一个映像文件。
5)输入TFTP服务器,映像文件名,TFTP服务器上的映像路径,然后单击“Add”。
BOOTP和DHCP报文的格式几乎是一样的,缺省的时候两者在服务器和客户端分别使用UDP67和68号端口。BOOTP服务器响应的大小固定,比DHCP响应可能要小一些,这意味着在配置用于支持BOOTP的作用域的返回选项时必须谨慎。BOOTP客户端没有租借的概念。在传统的BOOTP使用中所有的BOOTP客户端都使用保留,所以没有租借并不是一个问题。已经看到windows 2000 DHCP服务器允许定义一个提供BOOTP服务的作用域,并且动态地分配IP地址。如果使用了动态BOOTP扩展,DHCP服务器将使用基于在超时后测试该IP是否未被使用的方法回收租借给BOOTP客户端的IP地址。BOOTP在服务器和客户端之间采用两步的交换而不是四步的交换,并且没有周期性的更新,但这些并没有什么影响。
如果要为各BOOTP客户端分别提供选项信息,就必须借助MAC地址对BOOTP客户端实行保留。对于DHCP客户端也是如此。表15-2列出了所支持的一些BOOTP客户端选项。BOOTP客户端必须请求发送选项,否则不会收到任何选项。
15.8小结
许多人不能或不敢使用DHCP,因为在DHCP的早期历史中DHCP一般没有和DNS集成在一起。尽管早先微软使用WINS的解决方案允许DHCP,WINS早期版本的不稳定和WINS的专有性使许多人认为该方案不是一个通用的解决方案。
本章说明了若综合使用微软DHCP和DNS且允许动态更新,则网络上的计算机可以动态得到IP地址分配,也仍能正常在DNS下工作,且不需要许多管理工作。要使用DHCP,应考虑DHCP服务器的数量和位置,以及对DNS的影响,比如对清理的影响。然后要建立和授权DHCP服务器,定义和使能作用域和选项,并配置客户端成为DHCP客户端。当存在一定的DHCP客户端时,对客户端网络配置的重新设置由所传送的DHCP选项集中管理。
(本章完)