网络通信 频道

DHCP服务器基础

  动态主机配置协议(DHCP)是一种用于简化主机IP配置管理的IP标准。通过采用  DHCP标准,可以使用DHCP服务器为网络上启用了DHCP的客户端管理动态IP地址分配和其他相关配置细节,而不用管理员对各客户端主机一一配置,减轻了许多管理任务负担。

  一 DHCP简介

  TCP/IP网络上的每台计算机都必须有唯一的IP地址。IP地址(及与之相关的子网掩码)用来标识主机及其连接的子网,在将计算机移动到不同的子网时,必须更改IP地址。DHCP允许通过本地网络上的DHCP服务器IP地址数据库为客户端动态指派IP地址。

  对于基于TCP/IP的网络,DHCP降低了重新配置计算机的难度,减少了涉及的管理工作量。Windows Server 2003家族提供了一种符合RFC的DHCP服务,该服务可用于管理网络上的IP客户端配置及自动完成IP地址指派。

  DHCP使用客户/服务器(C/S)模型。网络管理员建立一个或多个维护TCP/IP配置信息并将其提供给客户端的DHCP服务器。DHCP服务器数据库包含以下信息。

   网络上所有客户端的有效配置参数。

   在指派到客户端的地址池中维护的有效IP地址,以及用于手动指派的保留地址。

   服务器提供的租约持续时间。租约定义了指派的IP地址可以使用的时间长度。

  通过在网络上安装和配置DHCP服务器,启用DHCP的客户端可在每次启动并加入网络时动态地获得其IP地址和相关配置参数。DHCP服务器以地址租约的形式将该配置提供给发出请求的客户端。DHCP的工作原理如图1所示。


  DHCP服务为管理基于TCP/IP的网络提供了以下好处。

  (1)提供了安全而可靠的配置。DHCP避免了由于需要手动在每个计算机上键入值而引起的配置错误。DHCP还有助于防止由于在网络上配置新的计算机时重用以前指派的IP地址而引起的地址冲突。

  (2)减少了配置管理时间。使用DHCP服务器可以大大减少用于配置和重新配置网上计算机的时间。可以配置服务器以便在指派地址租约时提供其他配置值的全部范围。这些值是使用DHCP选项指派的。

  另外,DHCP租约续订过程还有助于确保客户端计算机配置需要经常更新的情况(如使用移动或便携式计算机频繁更改位置的用户),通过客户端计算机直接与DHCP服务器通信可以高效、自动地进行这些更改。

  二 使用DHCP服务的必要性

  之所以要使用DHCP服务来为客户端自动分配IP地址,其主要作用有以下两个方面。

  (1)简化网络配置

  采用DHCP自动分配IP地址后,管理员就无须为每一个客户手动配置IP地址了,从而减轻了网络管理员的负担。这在规模稍大的网络中感受特别明显。

  (2)提高IP地址的利用率

  DHCP客户端在断开网络连接后,可以释放原来使用的IP地址,继续分配给其他用户使用。这对于网络IP地址资源紧缺的网络环境特别有用。如一个公司使用了标准的C类局域网网段192.168.0.0,可能实际网络用户数要稍大于这样一个C类网段所能承受的用户数(254个),但其中可能有些部门通常会有较多用户不在公司上网,如果采用DHCP自动分配方式,就可以解决IP地址数不足的问题。

  以上当然是从局域网方面来考虑的,在因特网中,更是如此。

  Internet在规划时,采用的是IPv4(IP第4版)的协议标准,即32 bit的IP地址标准。Internet的迅猛发展使得IPv4当初的规划已经捉襟见肘。如果全世界所有能够上网的计算机同时连接Internet,IP地址资源早就不够使用了。尽管目前正在制订IPv6的新的IP协议标准(采用128 bit来表示IP地址),但由于IPv4已经得到广泛的应用,因此IPv6的普及还需要时日。由于全世界所有能够连接Internet的计算机不可能同时在线,所以Internet上的ISP(Internet Services Provider,Internet服务提供商)对普通的联网用户可以使用DHCP服务来分配动态的IP地址,以解决IP地址不足的问题。当然这不是唯一的方式,也不可能是彻底的方式,因为事实上还可能因为所分配的IP地址数太少,使得即使不是所有用户同时在线,仍可能会有用户分配不到IP地址而上不了网。解决IP地址不足的其他方式,如重新划分子网方式,则是一种效率更高的方式,具体将在本系列丛书中的《网管员必读--超级网管经验谈》(第2版)一书中介绍。

  三 IP地址自动分配技术

  我们知道,IP地址分配方式有两种:手动分配静态IP地址和本章介绍的DHCP自动分配IP地址。而DHCP服务的提供是需要配置专门的DHCP服务器的。但事实上,我们在一些小型对等网中经常发现,网络中并没有配置DHCP服务,也没有为客户端手动配置静态IP地址,而用ipconfig命令一查,仍可见到客户端有一个IP地址。这是为什么呢?这个IP地址又是从哪里来的呢?

  原来这就是微软Windows系统的一个IP地址自动分配技术在起作用了。Windows 98或者Windows XP这样的客户机,如果并没有设置IP地址,操作系统将自动给计算机分配一个B类的IP地址。默认分配的IP地址网段是"自动专用IP寻址(APIPA)"。APIPA将分配从169.254.0.1到169.254.255.254的IP地址和子网掩码255.255.0.0。APIPA不指派默认网关、域名系统(DNS)服务器或Windows Internet名称服务(WINS)服务器。

  在客户机与网络连接时,在既没有分配静态IP地址,又无DHCP服务器的情况下,自动配置IP地址技术就会使客户机不停地向网络上发出"ping"信号以确定该IP地址是否正在使用。如果有别的计算机正在使用该地址,将重新选择一个新的地址,然后重新测试,直到配置一个可用的IP地址为止。DHCP客户机会在配置IP地址后,每隔5分钟检查一次DHCP服务器,看是否能够获得IP地址。所以网络中即使没有DHCP服务器,客户机也永远不会报告"没有设置IP地址"的错误。

  这时可能就会有读者要问,既然Windows客户机自己就能够自动分配IP地址,而且还可以自行选择不冲突的IP地址,为什么还要DHCP服务器呢?这就得从这种自动IP地址分配技术本身来说起了。

  首先,这种IP地址自动分配技术所分配的IP地址范围是从169.254.0.0开始的B类地址,而且是不可更改的,因此不一定满足需要。如在常见的192.168.0.0网段的局域网中,分配了这类地址的客户端就不可能与其他用户进行网络连接了,因为不在同一网段。另外,在这种IP地址自动分配技术的使用中,管理员无法对网络中的客户机IP地址进行监控,完全是Windows系统自发的行为。而DHCP服务则可以灵活地根据实际的网络环境配置不同的IP地址池。

  四 DHCP与BOOTP协议的区别与联系

  bootstrap协议(BOOTP)是先于DHCP开发的主机配置协议,主要用于无盘工作站网络中。DHCP协议在BOOTP的基础上进行了改进,并消除了BOOTP作为主机配置服务所具有的特殊限制。RFC 951文档定义了BOOTP。

  1.BOOTP与DHCP的相似性

  由于BOOTP和DHCP之间的关系,两个协议共享某些定义特征。公用元素包括以下几个。

  (1)每种格式结构都用于在服务器和端之间交换消息

  BOOTP和DHCP使用几乎相同的请求消息(由客户端发送)和回复消息(由服务器发送)。任何一种协议中的消息都使用576字节的单个用户数据报协议(UDP)来封装每个协议消息。对于BOOTP和DHCP,消息头除以下一种情况外,其余的都相同:用于携带可选数据的最终消息头字段。对于BOOTP,这个可选字段被称做"特定供应商区域",并限制为64个八位字节。对于DHCP,该区域被称做"选项"字段,最多可携带312个八位字节的DHCP选项信息。

  (2)使用众所周知的UDP端口进行客户端/服务器通信

  BOOTP和DHCP均使用相同的保留协议端口在服务器和客户端之间发送和接收消息。BOOTP和DHCP服务器均使用67号UDP端口来监听和接收客户端请求消息。BOOTP和DHCP客户端一般保留68号UDP端口,用于接受来自BOOTP服务器或DHCP服务器的消息回复。

  由于DHCP和BOOTP消息使用几乎相同的格式类型和数据包结构,并且一般使用众所周知的相同服务端口,因此BOOTP和DHCP中继代理程序通常将BOOTP和DHCP消息视为基本相同的消息类型,而不做区分。

  (3)作为配置服务的完整组成部分的IP地址分配

  BOOTP和DHCP都在启动期间将IP地址分配给客户端,只是它们使用不同的分配方法。BOOTP通常为每个客户端提供单个IP地址的固定分配,在BOOTP服务器数据库中永久保留该地址。DHCP通常提供可用IP地址的动态、租用分配,在DHCP服务器数据库中暂时保留每个DHCP客户端地址。

  2.BOOTP/DHCP的差别

  BOOTP和DHCP的主机配置方式有明显的差别。表1对比了它们在功能上的差异。

1  BOOTPDHCP协议主机配置方式的区别

BOOTP

DHCP

DHCP之前设计的

BOOTP之后设计的

计划配置具有有限引导能力的无盘工作站

计划要配置经常重新分配且具有本地硬盘驱动器和完全引导能力的联网计算机

动态BOOTPIP地址租约默认为30

DHCPIP地址租约默认为8

支持被称为“供应商扩展”的有限数量的客户端配置参数

支持被称为“选项”的较大以及可扩展的客户端配置参数集

以下为双阶段bootstrap配置过程:

Ø     客户端联系BOOTP服务器以确定地址和选择引导文件名称。

Ø     客户端与日常文件传送协议(TFTP)服务器联系以进行其引导映像的文件传送

DHCP的单阶段引导配置过程:在这个过程中DHCP客户端与DHCP服务器协商来确定其IP地址并获得网络运行所需要的任何其他初始配置的详细信息

除了在系统重新启动时以外,BOOTP客户端不使用BOOTP服务器重新绑定或续订配置

DHCP客户端不需要重新启动系统来使用DHCP服务器重新绑定或续订配置。另外,客户端以设置的固定间隔进入重新绑定状态,以使用DHCP服务器来续订其租用地址分配。该过程在后台进行并且对用户是透明的


  五 DHCP术语

  为了正确理解DHCP服务工作的原理,以及后续的DHCP服务器配置,在此先简单了解与DHCP服务有关的术语,见表2所示。

2 DHCP服务有关的术语

   

 

 

   

 

 

作用域

 

 

作用域是网络上可能的IP地址的完整连续范围。作用域通常定义为接受DHCP服务的网络上的单个物理子网。作用域还为网络上的客户端提供服务器对IP地址及任何相关配置参数的分发和指派进行管理的主要方法

 

 

超级作用域

 

 

超级作用域是作用域的管理组合,它可用于支持同一物理子网上的多个逻辑IP子网。超级作用域仅包含可同时激活的成员作用域子作用域列表。超级作用域不用于配置有关作用域使用的其他详细信息。如果想配置超级作用域内使用的多数属性,需要单独配置成员作用域属性

 

 

排除范围

 

 

排除范围是作用域内从DHCP服务中排除的有限IP地址序列。排除范围确保服务器不会将这些范围中的任何地址提供给网络上的DHCP客户端

 

 

地址池

 

 

在定义了DHCP作用域并应用排除范围之后,剩余的地址在作用域内形成可用的地址池。服务器可将池内地址动态地指派给网络上的DHCP客户端

 

 

 

(续表)

 

 

   

 

 

   

 

 

租约

 

 

租约是由DHCP服务器指定的一段时间,在此时间内客户端计算机可使用指派的IP地址。当向客户端提供租约时,租约是活动的。在租约过期之前,客户端通常需要向服务器请求更新指派给它的地址租约。当租约的租约期满或在服务器上被删除时,它将变成非活动的。租约期限决定租约何时期满,以及客户端需要向服务器设置对它进行更新频率

 

 

保留

 

 

可使用保留创建DHCP服务器指派的永久地址租约。保留可确保子网上指定的硬件设备始终可使用相同的IP地址

 

 

选项类型

 

 

选项类型是DHCP服务器在向DHCP客户端提供租约时可指派的其他客户端配置参数。例如,一些常用选项包含用于默认网关(路由器)、WINS服务器和DNS服务器的IP地址。通常,为每个作用域启用并配置这些选项类型。DHCP控制台还允许您配置由服务器上添加和配置的所有作用域使用的默认选项类型。虽然大多数选项都是通过RFC 2132预定义的,但需要时也可使用DHCP控制台定义并添加自定义选项类型

 

 

选项类别

 

 

选项类别是一种可供服务器进一步管理提供给客户端的选项类型的方式。当选项类别添加到服务器时,可为该类的客户端提供用于其配置的类别特定选项类型。对于Windows 2000Windows XP,客户端计算机还可以在与服务器通信时指定类ID。对于不支持类ID过程的早期DHCP客户端,当需要将客户端归类时可以把服务器配置成默认类以便使用。选项类别有两种类型:供应商类别和用户类别

 

 

  六 Windows Server 2003的DHCP功能

  为了使大家对Windows Server 2003系统中的DHCP服务功能有一个全面的了解,本小节要向大家介绍Windows Server 2003的DHCP功能,其中包括新提供的功能,以及从Windows 2000 Server系统中继承的DHCP服务功能。

  1.Windows Server 2003系统中的DHCP服务新功能

  Windows Server 2003系统中的DHCP服务新功能主要有以下两个。

  (1)DHCP客户端备用配置

  借助DHCP客户端备用配置,可以轻松地在两个或多个网络间转移计算机,其中一个网络使用静态IP地址配置,另一个或多个网络使用DHCP配置,而无须重新配置网络适配器参数,如IP地址、子网掩码、默认网关、首选和备用的域名服务(DNS)服务器及Windows Internet名称服务(WINS)服务器。如图2所示。不过需要注意的是,只有在"常规"选项卡的主IP地址配置中选择了"自动IP地址"单选项后,"备用配置"选项卡才会出现。


  (2)DHCP数据库备份和恢复

  可以使用DHCP控制台中的"备份"和"还原"命令来备份和还原DHCP数据库。具体的DHCP数据库备份和恢复方法请参见本系列丛书中的《网管员必读--网络管理》(第2版)一书。

  2.从Windows 2000 Server中继承的DHCP服务功能

  以下是Windows 2000 Server的新增功能,在Windows Server 2003家族中也提供了这些功能。

  (1)向DHCP管理员和用户提供有限的服务器和控制台访问权限的本地组

  在服务器计算机上安装DHCP服务器时会创建两个本地管理组:DHCP Users组和  DHCP Administrators组,如图3所示。DHCP Users用来提供以只读方式访问服务器控制台的权限。使用时,该组授予成员查看服务器数据的权限,但不能对其进行修改。而DHCP Administrators组提供更高级的管理访问。添加至该组的成员可完全管理和修改DHCP服务器的任何数据,但不提供完全不受限制的管理访问,这如同于改用本地Administrators组来提供对相应的DHCP服务器的管理访问。


  (2)IP地址的自动指派

  对Windows 98、Windows 2000、Windows XP和Windows Server 2003家族,如果DHCP服务器启用了DHCP的客户端在网络上启动时无法提供租约,则这些客户端会被自动指派临时的IP配置。运行这些Windows版本的DHCP客户端在后台每隔5分钟便会尝试与DHCP服务器联系,以求最终获得其有效的IP地址租约。

  自动指派对于用户来说始终是透明的,当客户端未能从DHCP服务器获得租约时,并不提示用户。地址是从为专用TCP/IP使用保留且未在Internet上使用的网络地址范围中自我指派的。

  (3)增强的性能监视和服务器报告能力

  DHCP对于网络基础结构的成功至关重要。如果不运行DHCP服务器,IP客户端可能就会失去部分或全部访问或使用网络的能力。

  性能监视计数器在运行Windows 2000或Windows Server 2003操作系统的计算机上可用,它们可帮助监视网络中DHCP服务器的性能。

  (4)多播作用域和超级作用域的扩展作用域支持

  DHCP服务器支持可用于简化当前的IP地址配置管理的附加作用域。新的多播作用域使启用DHCP的客户端可以租用D类类型的IP地址(224.0.0.0到239.255.255.255)以加入多播组。

  超级作用域(Windows NT Server 4.0的新增内容)有助于创建成员作用域的管理组合。当希望在网络上重新编号或扩展IP地址空间而不干扰当前的活动作用域时,超级作用域可提供帮助。

  (5)支持用户指定和供应商指定的选项类

  可使用该功能为具有类似或特殊配置需要的客户端分离和分发适当选项。例如,可以将位于同一建筑物同一楼层的所有启用DHCP的客户端指派到相同的选项类。可在租用过程中使用该类(用相同的DHCP类别ID值配置)以分发其他选项数据,替代任何作用域选项或全局默认选项。这样,对相同网络位置(如特定的默认网关或父域名)中的一组类成员客户端都适用的选项将作为类特定选项而被应用。

  (6)DHCP与DNS的集成

  运行Windows 2000 Server或Windows Server 2003家族系统的DHCP服务器可在DNS名称空间中对其任何支持动态更新的客户端进行动态更新。如果作用域客户端由于DHCP指派的地址发生更改,它们随后会使用DNS动态更新协议来更新其主机的名称到地址映射信息(存储在DNS服务器上的"区域"中)。

  (7)通过使用Active Directory集成来检测未授权的DHCP服务器

  如果无意间在网络上启动了DHCP服务器,它可能导致多种网络问题。为防止这种情况发生,Windows 2000 Server和Windows Server 2003家族提供了对DHCP服务器进行授权的方法及检测并关闭未授权的服务器的手段。

  当属于域成员并且运行Windows 2000或Windows Server 2003的DHCP服务器试图在网络上启动时,系统会查询Active Directory,并将该服务器的IP地址同已授权DHCP服务器的列表进行对比。如果发现匹配项,则服务器计算机被授权为DHCP服务器。如果未找到匹配项,将得到以下结果。

   该服务器未在Active Directory中得到授权。

   该服务器被标识为未授权的服务器。

   该服务器将停止向DHCP客户端租借IP地址。

  若要使用DHCP服务器授权功能,您必须在运行Windows 2000或Windows Server 2003的服务器上部署Active Directory和DHCP服务。其他DHCP服务器不支持该功能。

  (8)BOOTP客户端的动态支持

  通过添加"动态BOOTP",DHCP服务为大型企业网络中的BOOTP客户端提供了附加支持。

  动态BOOTP是BOOTP协议的扩展,它使DHCP服务器在不使用明确的固定地址配置的情况下便可配置BOOTP客户端。由于不必更改客户端操作便可自动分配IP地址(与DHCP的方式相同),该功能可使大型BOOTP网络的管理更加方便。

0
相关文章