电脑技术学习

Active Directory服务和Windows 2000或Windows Server 2003域(1)

dn001


第 1 部分涉及以下主题:

  • 域层级
    • Windows 2000 和 Windows Server 2003 域
  • 信任关系
    • 可传递信任
    • 单向信任
    • 交叉链接信任
第 2 部分涉及以下主题:
  • 管理边界
    • 组织单位
  • Active Directory 交互
    • 模拟域层级
    • 编录域(目录分区)
    • 分区目录
    • 获取有关其他域中的对象的信息
      • 分发目录
      • 复制目录
    • 编录企业(全局编录)
  • 结束语
此信息摘自 Active Directory Services for Microsoft Windows 2000 Technical Reference (《Microsoft Windows 2000 的 Active Directory 服务技术参考》)一书的第 3 章:Active Directory Services and Windows 2000 Domains(Active Directory 服务和 Windows 2000 域)。进一步了解 Active Directory Services for Microsoft Windows 2000 Technical Reference(《Microsoft Windows 2000 的 Active Directory 服务技术参考》) 。该书已得到更新,以包含有关 Microsoft Windows Server 2003 的信息。

更多信息

Microsoft Windows 2000 或 Windows Server 2003 域结构及其相关联的对象与它们的 Windows NT 4 前身有显著的不同,反映了 Active Directory 服务在 Windows 2000 或 Windows Server 2003 中的核心角色,以及使其成为可伸缩、面向企业的目录服务的设计要求。其中有些方面的改动很明显,如转为采用可传递信任关系模型;而有些方面则改动很小,如引入组织单位。无论改动是否明显,要理解 Windows 2000 或 Windows Server 2003 域与 Active Directory 服务之间的交互及依赖关系,对它们进行说明都是极其重要的。Active Directory 模拟 Windows 2000 和 Windows Server 2003 域模型;反之亦然(如果您要反过来看的话)。无论如何,Windows 2000 或 Windows Server 2003 域和 Active Directory 都互相依赖,甚至由对方的特性定义。要理解 Windows 2000 或 Windows Server 2003 域和 Active Directory 服务之间这种密不可分的关系,就需要说明 Windows 2000 或 Windows Server 2003 域模型,以及它与 Active Directory 服务交互的方式。因此,本章将首先讲述 Windows 2000 和 Windows Server 2003 域模型,并探讨该模型为何与 Windows NT 域模型大相径庭。

Windows 2000 和 Windows Server 2003 域

Windows NT 4 域的伸缩性不好。虽然有很多粉饰这一事实的辩解,但简单的事实摆在面前:Windows NT 4 域模型采用单向非传递信任,在大型企业中实现需要大量管理开销。Windows 2000 或 Windows Server 2003 及其域模型就不存在这一缺陷,主要是因为采用了新的信任方法,但也因为整个域概念得到了改进,以符合轻量目录访问协议 (LDAP) 和域名服务 (DNS) 等行业标准。

域层级

在 Windows 2000 和 Windows Server 2003 网络中,用层级组织域。通过域采用这种新的层级方式,就诞生了林和树的概念。这些新概念,加上现有的域概念,可帮助组织更高效地管理 Windows 2000 和 Windows Server 2003 网络结构。
Windows 2000 和 Windows Server 2003 域模型的基本单位未变,仍旧是域。域是一种管理边界,在 Windows 2000 和 Windows Server 2003 中,域代表与 DNS 域对应的名称空间(将在第 4 章中讨论)。有关 Active Directory 服务如何与 DNS 交互的更多信息,请参阅第 6 章“Active Directory Services and DNS”(Active Directory 服务和 DNS)。

Windows 2000 或 Windows Server 2003 部署中创建的第一个域称为根域,顾名思义,它是域树中创建的所有其他域的根。(域树将在下一节讲述。)由于 Windows 2000 和 Windows Server 2003 域的结构与 DNS 域层级有紧密联系,因此 Windows 2000 和 Windows Server 2003 域与我们所熟悉的 DNS 域层级的结构类似。根域是类似于 microsoft.com 或 iseminger.com 这样的域;它们是其 DNS 层级的根,也是 Windows 2000 和 Windows Server 2003 域结构的根。

给定的 Windows 2000 和 Windows Server 2003 域层级中后续创建的域将成为根域的子域。例如,如果 msdn 是 microsoft.com 的子域,msdn 域将成为 msdn.microsoft.com。

正如您所看到的,Windows 2000 和 Windows Server 2003 要求域不是层级中的根域,就是子域。Windows 2000 和 Windows Server 2003 还要求在给定的父级域中,域名是唯一的;例如,根域 microsoft.com 不能有两个名为 msdn 的直接子域。但是,在整个域层级中,可以有两个名为 msdn 的域。例如,可以有 msdn.microsoft.com 和 msdn.devprods.microsoft.com;microsoft.com 名称空间只有一个名为 msdn 的子域,而 devprods.microsoft.com 名称空间也只有一个名为 msdn 的子域。

域背后的概念是逻辑分区。大多数组织规模大到需要多个 Windows 2000 或 Windows Server 2003 域时,都具有区分职能或工作重点的逻辑结构。通过将组织划分为多个单位(在美国企业中,有时成为部门),可以更容易地对组织进行管理。实际上,对组织被进行分区是为了提供更符合逻辑的结构,使得在组织的不同部门之间分配工作成为可能。换个角度看,当逻辑业务单位(部门)合并在一个更大实体(可能是一个企业)的保护伞下时,这些在逻辑上不同的部门就构建了一个更大的实体。虽然不同部门中的工作可能互相独立且互不相同,但是这些部门总体上构成了一个更大但逻辑周密的实体。在将 Windows 2000 和 Windows Server 2003 域组合为一个更大的连续名称空间实体(称为树)时,这一概念也适用。
树有时也称为域树,是 Windows 2000 和 Windows Server 2003 域的集合,构成了连续名称空间。在创建子域并将其与给定的根域相关联的同时,构建了域树。就技术定义来说,树是一个连续的 DNS 命名层级;从概念图看,域树的外观类似于倒置树(根域位于顶部),分支(子域)在下方展开。

通过创建域树,组织能够在自己的组织内部创建一个域的逻辑结构,并使域符合并反映 DNS 名称空间。例如,David Iseminger 和 Company 可以有一个名为 micromingers.iseminger.com 的 DNS 域,并且公司内部可能有多个逻辑部门,如销售、财会、生产等部门。这种情况下,域树的外观为如图 3-1 中所示。


图 3-1. micromingers.iseminger.com 的域树

注意 :阅读到此处,您可能会注意到处都有 iseminger.com 的字眼。这不是因为作者的意图,而是出于出版商所坚持的法律方面的考虑。“请不要使用可能会引起争议的域”,出版商说,“请只使用作者所有的域,或者没有实际意义的域。”作者的网址为 www.iseminger.com,所以只好在本书中到处使用这个域名。我有一些更新颖的名称,但是没办法,还是不要招惹律师为好。

这种公司内的逻辑部门组织非常适用于有一个 DNS 域的公司,但是对于有多个“公司”的大型企业来说,可能需要解决多个公司问题。这一问题可以通过使用 Windows 2000 和 Windows Server 2003 林得到解决。
有些组织可能有多个根域,如 iseminger.com 和 microsoft.com 等;但该组织本身是一个单个实体,如本例中虚构的 David Iseminger 和 Company。这种情况下,这些多个域树可以构成一个非连续的名称空间,称为林。林是构成给定的企业的一个或多个连续的域树层级。逻辑上讲,这也意味着其域树中仅有一个域的组织也可以被看作一个林。在本章后面讨论 Active Directory 与 Windows 2000 或 Windows Server 2003 域和林交互的方式时,这种区分将更为重要。

林模型使得未构成连续名称空间的组织能够在其合并的域结构中维护组织范围的连续性。例如,如果 David Iseminger 和 Company(即 iseminger.com)能够共同融资购买另一家称为 Microsoft 且拥有自己的目录结构的公司,这两个实体的域结构将可以合并到一个林中。使用单个林有三个主要优点。首先,信任关系的管理更易管理(使一个域树中的用户能够访问另一个树中的资源)。其次,全局编录集合了整个林的对象信息,这使得整个企业搜索成为可能。第三,Active Directory 架构适用于整个林。(有关架构的技术信息,请参阅第 10 章。)图 3-2 阐述了 iseminger.com 和 Microsoft 域结构的合并,它们的根域之间有一条连线,表明它们之间存在 Kerberos 信任并建立了林。(第 8 章将详细讲述 Kerberos 协议。)

虽然一个林可以包含多个域树,但是它代表一个企业。通过创建林,所有的成员域都可以共享信息(通过使用全局编录)。您可能想问:如何建立林内的域树,使得整个企业(由林表示)能够作为一个单位运作。这个问题问得好,下面将通过讲述信任关系来尽量回答这个问题。

信任关系

Windows NT 4 域和 Windows 2000 或 Windows Server 2003 域之间最重要的区别可能就是:同一个组织的域之间信任关系的应用和配置。Windows 2000 和 Windows Server 2003 中没有像 Windows NT 4 中那样建立单向信任网,而是实现了可以在整个(新)域树结构中上下流动的可传递信任。这一模型简化了 Windows 网络的管理,我将通过一个数字示例来进行阐述。下面的两个等式(注意:以下等式仅供说明,不用记)举例说明了每一方法所产生的管理开销;等式表示每个域信任方法所需要的信任关系的数量,其中 n 表示域的数目:

Windows NT 4 域--( n * ( n -1))
Windows 2000 或 Windows Server 2003 域--( n -1)

仅用于演示,我们以一个有几个域的网络为例,来对以下不同的域模型方法进行比较。(假定网络中有 5 个域,即以下公式中 n = 5。)

Windows NT 4 域:(5 * (5-1)) = 20 个信任关系
Windows 2000 或 Windows Server 2003 域:(5 - 1) = 4 个信任关系


图 3-2. Iseminger.com 和 Microsoft 的域树的合并

必须管理的信任关系数量之间有显著的差异,但这甚至不是新的域方法最主要的优点。对于 Windows 2000 和 Windows Server 2003 域,默认情况下会创建和实现信任。管理员仅只需安装域控制器,就可以使用信任了。信任关系的自动创建基于以下事实:即 Windows 2000 和 Windows Server 2003 域(与 Windows NT 4 域不同)通过层级形式创建;也就是说,在给定的域树中,只有一个根域和若干子域。这就使得 Windows 2000 和 Windows Server 2003 能够自动了解给定域树中包含哪些域,以及根域之间何时建立了信任关系;还能够自动了解林中包含哪些域树。

与此相反,在 Windows NT 域之间,管理员必须创建(并随后管理)信任关系,并且他们必须记住信任关系的流向(以及对任一域中的用户权限的影响)。区别非常明显:管理开销被削减为很小的一部分,而这样的信任的实现也更为直观,所有这些优点都是因为采用了新的信任模型以及域和域树的层级方法。

在 Windows 2000 和 Windows Server 2003 中,有三种类型的信任关系,分别满足域结构中的某一需要。向 Windows 2000 和 Windows Server 2003 域提供的信任关系如下:
  • 可传递信任
  • 单向信任
  • 交叉链接信任
可传递信任
可传递信任在两个域之间建立一种信任关系,这种信任关系可以流动到其他域,例如,如果域 A 信任域 B,域 B 信任 C,则域 A 必然信任域 C,反之亦然,如图 3-3 所示。


图 3-3. 三个域之间的可传递信任

由于不再需要管理单向非传递信任网,因此可传递信任可以极大地减少有关维护域之间的信任关系的管理开销。在 Windows 2000 和 Windows Server 2003 中,每当在域树中创建新域时,都会自动建立父级和子级域之间的可传递信任关系。可传递信任限于 Windows 2000 或 Windows Server 2003 域,并仅限于同一域树或林中的域;不能与低级(Windows NT 4 和更早版本)域建立可传递信任关系,不能在位于不同林中的两个 Windows 2000 或两个 Windows Server 2003 域之间建立可传递信任。
单向信任
单向信任不可传递,因此它们仅可以定义所涉及的域之间的信任关系,并且这些域不是双向的。不过,您可以创建两个单独的单向信任关系(一个方向一个)来创建双向信任关系,就像在纯 Windows NT 4 环境中一样。不过,请注意,即使是可互换的单向信任也不能等效于可传递信任;单向信任中的信任关系仅在所涉及的两个域之间有效。Windows 2000 和 Windows Server 2003 中的单向信任与 Windows NT 4 中的单向信任完全相同,在有些情况下,Windows 2000 或 Windows Server 2003 中会使用单向信任。下面介绍了其中几种最常见的情况。

首先,单向信任常用于必须与低级域(如 Windows NT 4 域)建立新的信任关系的情况。由于低级域不能加入 Windows 2000 和 Windows Server 2003 可传递信任环境(如树或林),因此必须建立单向信任,才能在 Windows 2000 或 Windows Server 2003 域与低级 Windows NT 域之间产生信任关系。

注意 :这种单向信任情形不适用于迁移过程(如将现有的 Windows NT 4 域模型升级到 Windows 2000 或 Windows Server 2003 域/树/林模型)。在从 Windows NT 4 升级到 Windows 2000 或 Windows Server 2003 的整个过程中,您所建立的信任关系在迁移过程接近结束,即直到所有的域都为 Windows 2000 或 Windows Server 2003 并且建立了可传递信任环境时,才会得到实现。有关迁移过程的更详细说明,请见第 11 章“Migrating to Active Directory Services”(迁移到 Active Directory 服务)。

其次,如果必须在不属于同一 Windows 2000 或 Windows Server 2003 林的域之间建立信任关系,可以使用单向信任。您可以在属于不同的 Windows 2000 或 Windows Server 2003 林的域之间使用单向信任关系,以隔离与之建立并维护信任关系的域的信任关系,而不是创建影响整个林的信任关系。让我来用一个示例来阐明。

假定您的组织有一个生产部和一个销售部。生产部想要与某个标准机构共享一些它的一部分处理信息(存储在位于其 Windows 2000 或 Windows Server 2003 域中的服务器上)。不过,销售部希望使存储在其域中的服务器上的敏感销售和营销信息对该标准机构保密。(或许,他们的销售业绩好到了那个标准机构想要通过声称其“垄断”来打击他们!)使用单向信任就可以确保销售信息的安全。要为标准机构提供必要的访问,可在生产部门域与标准机构的域之间建立单向信任,由于单向信任是不可传递的,因此仅在所涉及的两个域之间建立了信任关系。此外,由于信任域是生产部门域,因此生产部门域中的用户将无法使用标准机构域中的任何资源。

当然,在上面提到的任一单向信任方案中,都可以使用两个单独的单向信任关系来创建双向信任。
交叉链接信任
交叉链接信任用于提高性能。使用交叉链接信任,可在树或林层级内建立一个虚拟信任验证桥,从而能够更快地进行信任关系确认(或拒绝)。上述说明使您有了大致了解。但要真正理解如何及为什么使用交叉链接信任,首先需要理解 Windows 2000 和 Windows Server 2003 中如何处理域间身份验证。

当 Windows 2000 或 Windows Server 2003 域需要对不属于自己域中的资源验证用户(或以其他方式验证身份验证请求)时,它会以类似的方式对 DNS 查询进行验证。Windows 2000 和 Windows Server 2003 首先确定资源是否位于发出请求的域中。如果资源不在本地域中,域控制器(具体说来,是域控制器上的密钥分发服务 [KDC])会将客户端转交给层级中(上层或下层,视具体情况)的下一个域中的域控制器的引用。下一个域控制器继续执行这种“本地资源”检查,直到到达资源所在的域。(第 8 章对这一转交过程进行了详细说明。)

虽然这种“遍历域树”效果不错,但是虚拟遍历域层级耗费时间,耗费时间就会负面影响查询响应性能。为了便于您理解,请看以下紧急情况:

您在具有两条登机道构成 V 形的机场。登机道 A 位于 V 形的左侧,登机道 B 位于右侧。登机口按一定顺序编号,登机道 A 和登机道 B 的 1 号登机口都接近 V 形的底部(即两个登机道的交汇处),两者的 15 号登机口都位于 V 形的顶端。所有的登机口都连接到 V 形内。您匆忙地来赶飞机,到了登机道 A 的 15 号登机口(位于 V 形的顶端),但此时您想起班机实际上从登机道 B 起飞。您可以透过窗户看到登机道 B 15 号登机口处的班机,但是为了到达该登机口,您必须一直沿登机道 A 走到(跑到)V 形的底部,然后沿登机道 B 小跑到它的 15 号登机口(此时,您已经气喘吁吁了),但到达时刚好看到飞机离您而去。您坐在候机厅里,等待两小时后的下一趟班机,目光扫过 V 形登机道,移到登机道 A,也就是您原以为飞机起飞的位置,这时您突然想到一个好主意:在登机道的两端修建一座天桥,这样像您这样的乘客就能够快速地从登机道 A 的 15 号登机口到达登机道 B 的 15 号登机口。这主意不是很好吗?只有登机道的 15 号登机口之间的客流量很大时,这一想法才可行。

类似地,交叉链接信任可以充当域或树层级中逻辑距离较远,并且两者之间具有大量验证通信量的域之间的身份验证桥。多大的数量可以称为是大量验证通信量?以 Windows 2000 或 Windows Server 2003 域树的两个分支为例。第一个分支由域 A、B、C 和 D 组成。A 是 B 的父级,B 是 C 的父级,C 是 D 的父级。第二个分支由域 A、M、N 和 P 组成。A 是 M 的父级,M 是 N 的父级,N 是 P 的父级。听上去有点复杂,可参见图 3-4 中此结构的图示。


图 3-4. 域层级示例

现在假定域 D 中的用户经常(无论出于什么原因)使用域 P 中的资源。当域 D 中的用户想要使用域 P 中的资源时,Windows 2000 和 Windows Server 2003 将解析该请求,方法是遍历一个引用路径,爬回树的根(本例中为域 A),然后沿域树的适当分支遍历,直到到达域 P。如果同时进行这些身份验证,此方法会产生大量的通信量。更好的方法是在域 D 和 P 之间创建一个交叉链接信任,这样,在两个域之间进行身份验证时就无需从域树遍历到根(即树分支开叉的底部域)。结果,就身份验证而言,性能会更好。

标签: