实现一个DHCP服务器(1) 你在你的网络上运行TCP/IP吗?如果是,你也许正在使用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)来为你的网络客户分配IP地址。使用DHCP服务器消除了很多常见的配置问题。如果你正计划升级到微软Windows 2000,安装一个DHCP服务器也是一个不错的主意。在本文中,我们将讨论使用DHCP服务器的重要性。同时我们还将向你展示如何安装并且正确配置DHCP。DHCP是什么?DHCP代表动态主机配置协议。DHCP是允许无盘工作站连接到网络并且自动获取一个IP地址的BOOTP协议的一个扩展。DHCP可以向每一个网络客户提供一个IP地址,子网掩码,缺省网关,一个WINS服务器的IP地址,以及一个DNS服务器的IP地址。为什么使用DHCP?是的,虽然DHCP可以自动为你的客户配置TCP/IP,但是你也许觉得奇怪,如果你已经设置好使用静态IP地址,为什么你还要给自己找麻烦选择DHCP呢?在我们解决这个问题以前,我们要指出,无论你是否使用DHCP,某些IP地址都必须保持固定。例如,你必须在运行DHCP,WINS,以及DNS的计算机上使用固定IP地址。对你的主域控制器使用固定IP地址也是一个好主意。记住这些例外,对所有其它计算机,你都应该使用动态IP地址。使用动态IP地址的优点是你可以避免许多常见的问题。例如,如果你手工配置IP地址,你必须记住哪个地址是你已经分配了的,而哪个地址又是你还没有分配的?已经分配的都分配给谁了?如果你不小心给两个人分配了同一个IP地址,如果一个用户瞎摆弄他/她的地址,你就可能遇到非常难解决的网络问题。更重要的是,在许多组织中,在整个建筑或者建筑之间经常移动计算机是非常常见的一种情况。在这种情况下,如果你使用固定IP地址,每次你移动计算机,可能你就必须为落到另一个子网中的用户修改IP地址,而如果你使用DHCP,计算机将自动联系DHCP服务器并且取得适合新的子网的IP地址。最后,在你只拥有很少的IP地址的情况下,DHCP是很方便的。如果静态分配IP地址,你必须为每一台计算机提供一个唯一的IP地址。计算机将占据这个地址,无论它们是否开着。但是,通常并不是所有的计算机在所有的时间都在使用当中。在这种情况下,DHCP可以按是否需要的原则分配IP地址。这样就把你从必须确保你有足够的地址用于每一台计算机的窘况中解脱出来。取而代之的是,你只需要确保在任何给定的时间有足够的IP地址用于使用当中的计算机就行了。DHCP和微软Windows 2000你可能已经知道,微软Windows 2000将倚重于倚重叫做动态DNS的新的服务。动态DNS将把域名解析成为IP地址,就像现在的微软Windows NT的DNS服务所做的一样。是什么使动态DNS不同呢?是它还可以用跟微软Windows NT的WINS服务相似同样的方式解析NetBIOS名字到IP地址。该服务之所以叫做动态DNS是因为每次有计算机连线或者离线,它都要更新它的表。你也许能猜到,这样的功能只有在使用DHCP服务器的前提下才能实现。当一台新的计算机连线的时候,DHCP为它分配一个IP地址。然后DHCP联系动态DNS服务器并且通知它该计算机的NetBIOS名字和IP地址。动态DNS服务器接着使这个信息可以被其他计算机请求。DHCP如何工作?我们在前面提到过,DHCP是用于无盘工作站的BOOTP协议的一个扩展,但是你也许仍然不是十分清楚,究竟DHCP服务器是如何工作的。DHCP是一个基于广播的协议。同其他类型的广播通信一样,它不通过路由器,除非特别配置它这么做。如果你确实需要这样的能力,你必须配置你的路由器使它可以传递发生在UPD端口67和68的DHCP通信。