概要
本文中的部分資訊由 Microsoft Press 提供 (http://mspress.microsoft.com/)。
本文是講述 Active Directory 服務和 Windows 2000 或 Windows Server 2003 域的兩篇系列文章的第 1 部分。要檢視第 2 部分,請單擊下面的連結: 310997 (http://support.microsoft.com/kb/310997/) Active Directory 服務和 Windows 2000 或 Windows Server 2003 域(第 2 部分) 第 1 部分涉及以下主題:
• | 域層級
| ||||||||
• | 信任關系
|
第 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 服務技術參考》) (http://support.microsoft.com/?scid=http%3a%2f%2fwww.microsoft.com%2fmspress%2fbooks%2fsampchap%2f3173.asp%23samplechapter)。該書已得到更新,以包含有關 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 之間建立一個交叉連結信任,這樣,在兩個域之間進行身份驗證時就無需從域樹周遊到根(即樹分支開叉的底部域)。結果,就身份驗證而言,性能會更好。 第 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 服務技術參考》) (http://support.microsoft.com/?scid=http%3a%2f%2fwww.microsoft.com%2fmspress%2fbooks%2fsampchap%2f3173a.asp)。該書已經過更新,其中包括 Microsoft Windows Server 2003 資訊。
更多資訊
管理邊界
在 Windows 2000 和 Windows Server 2003 中,有一項重大改進,即減少了必須管理的信任關系的數目。不過,還非常需要在管理邊界方面進行改進。在 Microsoft Windows NT 4.0 及較低版本中,對于需要能夠管理給定 Windows NT 域内的使用者或組子集的管理者,必須授予其全面的域管理權限。即使他們的管理權限不應跨越整個域,他們需要的權限也要求授予這種全面的權限。在 Windows 2000 和 Windows Server 2003 中,随着組織機關 (OU) 的出現,情況發生了變化。
域
Windows 2000 或 Windows Server 2003 域是一個管理邊界。管理權限不會流經域邊界,也不會通過 Windows 2000 或 Windows Server 2003 域樹向下流。例如,如果一個域樹包含域 A、B 和 C;其中,A 是 B 的父域,B 是 C 的父域,具有域 A 中的管理權限的使用者沒有 B 中的管理權限,具有域 B 中的管理權限的使用者也沒有域 C 中的管理權限。要獲得給定域中的管理權限,必須對他們進行更高的授權。但是,這并不意味着管理者不能有多個域中的管理權限,而隻表明所有權限必須明确定義。
組織機關
組織機關使管理者能夠在域内建立管理邊界。利用 OU,管理者可以将管理任務指派給下級管理者,而不授予他們整個域的全面管理權限。
下面舉例說明為什麼 OU 如此有用。假定,您的組織内的銷售團隊有自己的網絡管理者和資源(如列印機和伺服器等),并用自己的預算維護所有這些網絡資源。銷售團隊的網絡管理者想要控制銷售團隊組内的銷售資源、政策和其他管理元素。但是,銷售團隊是企業域的一部分。
如果這是 Windows NT 4 網絡,銷售團隊機關的管理者必須加入到域管理者組中,才能獲得管理銷售團隊機關所需的管理權限。銷售管理者獲得域管理者組中的這種成員身份後,可以對整個企業域(不僅僅是銷售團隊機關)進行管理控制。這樣的全面管理權限是不妥的,但是,要為銷售管理者提供對銷售資源和政策的管理控制,隻能采用這種辦法。
随着 Windows 2000、Windows Server 2003 的使用以及 OU 的出現,情況發生了變化。在 Windows 2000 或 Windows Server 2003 網絡中,監控網絡的管理者可以在域結構中建立 OU(包括銷售團隊 OU),進而建立新的和更有限的管理邊界。
此解決方案的原理如下:為銷售團隊機關建立 OU,授予銷售管理者僅限于銷售團隊 OU 的完全管理權限,而不是企業域内任何其他區域的權限。通過建立 OU,可将域管理者組中的成員身份(授予對包括其 OU 在内的整個域的管理權限)限制為僅配置設定給那些管理職責覆寫整個域的管理者。進而,使網絡能夠更可靠、更好地運作。
如果您的組織需要在 OU 内包含 OU,該怎麼辦?可以嵌套 OU 嗎?這個問題的答案是肯定的,但是您應當了解一些性能事項。可以嵌套 OU,但是如果深度超過大約 15 個 OU,就會出現性能問題。決定是否嵌套 OU(以及到底是否使用 OU)時還應考慮其他一些問題,這些問題将在第 7 章“Planning an Active Directory Implementation”(規劃 Active Directory 實作)中詳細讨論。
Active Directory 互動
Active Directory 服務用在何處适合所有這些情況?為什麼一定要充分了解域和域結構,才能了解 Active Directory 服務的規劃要求?因為 Active Directory 與 Windows 2000 或 Windows Server 2003 部署的域結構密不可分。
模拟域層級
我們已知道,Windows 2000 和 Windows Server 2003 域構成一個域層級,而一個或多個域層級可以構成林。目錄作為一個完整的機關,隻是林中所有對象的集合。但是,要確定 Active Directory 服務能夠擴充以覆寫單個目錄中的數百萬個對象,還需要一種将目錄“拆分”成多個部分的政策,因為直接放置一個巨大的、未分區目錄無法很好地擴充。以前的解決方案是将目錄分區,使之能夠很好地擴充和執行。
Active Directory 分區方案模拟 Windows 2000 或 Windows Server 2003 域層級。這樣,Active Directory 服務的分區機關就是域。
模拟域層級能達到以下幾個目的:
• | 確定可伸縮性 |
• | 發揮最大性能 |
• | 将複制開銷降至最少 |
下一節詳細講述了 Active Directory 分區方案如何模拟域層級,為什麼可確定可伸縮性和發揮最大性能,以及這種域結構模拟如何将複制開銷降至最少。
編錄域(目錄分區)
Active Directory 服務的主要目的是為林中的對象建立一個編錄。當然,如果編錄太大緻使使用起來速度慢、不靈活,則編錄就沒有什麼用了。例如,設想隻要有一輛校車,您就可以載上所有的朋友搞一次滑雪旅行,但是,試着平行停放這輛車,乘這輛車上山,或者将它停在您的車庫裡會怎樣。較好的一種辦法是,使用小車隊,每輛小車都可以運送互相住得比較近的滑雪者。這樣,可避免上山速度慢,并可以找到停車場周圍零星的停車位。最好的辦法是,每一輛小車都能滿足幾個滑雪者回家的需要,把每個人盡快送回家,這要比所有人都乘坐一輛校車回家快得多。
為了與校車作進一步比較,假定您遇到了這樣的問題:您有更多熱衷滑雪的朋友。如果人太多,一輛校車裝不下,在這種情況下,不得不換一輛全新的、更大的同時也比以前更笨重的校車。并且因為邀請的滑雪者較多,旅行結束後,把所有人送回家的時間也更長。通過比較發現,如果使用小車,當邀請更多的朋友時,隻需多增加運送車輛;對現有滑雪者來講,基本上不會帶來其他不便,也不會耽擱将滑雪者送回家的時間。Active Directory 服務有助于避免您乘坐超載的校車。它将目錄分成幾部分,就像小車隊一樣,其益處本質上與使用小車隊類似,但是遠遠不止這些。
分區目錄
為了幫助您描繪出 Active Directory 服務在林中進行分區的方式,現以一個簡單林為例說明。圖 3-5 闡釋了示例林及其單個域樹。
圖 3-5. A、B、C、D、E 和 F 域層級
林由圖 3-5 中所示的所有域組成。整個目錄由林中所有域包含的所有對象組成。但是,為了提高可伸縮性和性能,必須将目錄分成多個部分,将其合起來可形成完整的目錄。
請記住,在 Windows 2000 和 Windows Server 2003 中,分區機關是域。這樣,當我們再來看域層級示例時,可以比較邏輯域層級與目錄分區的方式。圖 3-6 對域層級與目錄編錄進行了比較。正如您所看到的,目錄隻不過是每個域的分區的集合。
圖 3-6. 域層級/目錄分區方案的關系
請記住,同一個林中不相鄰的樹仍可構成一個目錄。請不要将樹與林相混淆,也不要将企業(林)的邊界與林内給定域樹(樹)的鄰接特性相混淆。大多數組織希望能夠計劃和部署單個樹(相當于單個名稱空間),并由單個樹構成其整個林。這是可預見、管理和維護的最簡單的部署。但是,部署并不總是隻有一個樹,會發生合并,是以,需要記住下列邏輯等式: 一個林 = 一個架構 = 一個目錄編錄 還要知道,單個域仍可構成一個林。如果您足夠幸運,能夠明智地将 Windows 2000 或 Windows Server 2003 域結構設計成單個域,就可實作由單個域構成林。那意味着什麼?意味着整個目錄編錄将位于一個未分區的機關中。(域是分區機關,一個域 = 一個分區。)
對目錄編錄進行分區的最重要的一個優點也許與編錄的可伸縮性有關,就向域樹中添加域,或者甚至将其他整個域樹添加到林中而言,尤為如此。添加域或域樹,不會給現有域層級和管理結構增加管理或複制負擔。由于對目錄進行分區,同時由于任何特定域的每個域控制器都隻包含域的專有目錄編錄資訊,是以,當域甚至域樹添加到林時,網絡性能和可伸縮性都不受影響。如果與同一個林中的域之間建立的可傳遞信任關系結合,目錄編錄資訊經過這樣分區,将使通過 Windows 2000 或 Windows Server 2003 和 Active Directory 服務擴充到非常大的企業部署成為可能。
獲得有關其他域中的對象的資訊
由于以上讨論的都是對目錄編錄進行分區,您可能想知道,一個域中的使用者如何才能通路來自另一個域分區的資訊。畢竟,如果一個域中的域控制器隻包含有關其所屬域中的對象的資訊,當使用者需要獲得有關另一個域中的對象的資訊時,會發生什麼情況呢?這個問題問得好,有幸的是,答案也很簡單明了:Active Directory 服務使用 DNS 查找和查詢來解析查詢,就像 Internet 一樣。
盡管 Active Directory 服務和 Windows 2000 或 Windows Server 2003 使用 DNS 執行查詢服務,但它們都使用特殊服務 (SRV) 資源記錄 (RR) 項,将給定 DNS 項指定為域控制器。反之,域控制器又決定它們是否能夠解析查詢,如果查詢涉及其本地域中的對象,就屬于這種情況。如果不能,就會将請求轉交給以下域控制器:既能自身解析請求,也能将該域控制器指向下一個應進行請求的邏輯伺服器。最後,能夠解析查詢的域控制器被找到(或者幹脆找不到),這時,用戶端被轉交給此伺服器,以繼續查詢過程。
第 6 章“Active Directory Services and DNS”(Active Directory 服務和 DNS)中對 DNS 查詢進行了進一步說明。
分發目錄
還應弄清楚的另一點是,經分區的目錄如何分發,以及它如何與 Windows 2000 或 Windows Server 2003 域模型互動。在 Windows 2000 和 Windows Server 2003 中,給定域中的每一個域控制器都包含此域的一份目錄分區副本,使得每個域控制器都能本地解析有關其所屬域中的對象的資訊查詢。
此方法很有意義,因為在很多情況下,使用者(或者利用 Active Directory 服務的其他實體)會更多地利用本地域的網絡資源,利用遠端域中的資源的情況較少。通過将域分區的一份副本分發給域中的每一個域控制器,同時通過讓所有這些副本可讀寫,可以實作以下增強和改進:
• | 提高性能。因為任何域控制器都可以對其所屬域中找到的對象執行本地搜尋。 |
• | 增強可伸縮性。因為每一個域控制器都包含目錄編錄分區的一份可讀寫主副本。 |
• | 可伸縮性得到增強的另一個原因是不會讓單個計算機承擔執行目錄的所有更新的任務。 |
當遠端站點或分支辦公室是網絡拓撲的一部分時,此方法尤其有用。通過在遠端站點上放置域控制器(根據定義,它包含目錄編錄分區的副本),可以在本地解析使用者查詢。這意味着,可以最大限度地減少也許昂貴或有限的廣域網 (WAN) 資源的使用。在遠端站點或分校放置域控制器的好處不僅限于節省 WAN 資源,因為在遠端站點的區域網路 (LAN) 上使用域控制器(及其目錄編錄分區),查詢性能自然也會提高。
複制目錄
因為每個域控制器都包含其所屬域的 Active Directory 分區的一份可寫主副本。一台域控制器上發生更改時,必須有一種辦法讓更改更新複制到其他域控制器上。将更新後的資訊分發到适當的域控制器上的這一過程稱為複制。
在 Windows 2000 和 Windows Server 2003 中,複制的機關是域分區。但是,隻有屬性級的給定對象上的更改才能複制到其他域控制器上,而非全部對象。這樣可顯著節省複制通信量,并且可随時減少操作所需的網絡通信量,解決效果也會更好。
更新優先級通過使用更新順序号 (USN) 确定。Active Directory 服務不比較對象屬性的值,而是使用運作号 USN 來确定是否需要複制;如果需要,則确定需要傳遞哪些對象屬性值。有關 USN 的更多資訊,請參閱第 4 章“Active Directory Scalability Architecture”(Active Directory 可伸縮性結構)中的“Replication”(複制)一節。将域作為分區機關的另一個好處是實作了 USN;它将複制通信量(已限于屬性更改)限制在發生更改的域範圍内。
編錄企業(全局編錄)
最後,必須采取某種方式使 Active Directory 服務能快速響應使用者查詢。盡管許多使用者查詢針對使用者所屬的域,但仍有許多查詢針對域的,而是在整個企業内進行查詢。例如,電子郵件名稱查詢。真正面向企業并充分考慮了性能的目錄服務必須能夠提供頻繁和全局性的查詢,結果不會産生過度的網絡通信量,也不用通過多個查詢轉交跳轉。答案是目錄編錄,它包含企業中所有對象的屬性的子集。實際上,它必須是全局關注的對象屬性的編錄。對于 Active Directory 服務,答案是全局編錄。全局編錄由來自企業中每個對象的標明屬性組成,這意味着,來自林中的每個對象的標明屬性可供域本地查詢使用。就像 Microsoft 在架構中建立一個預設對象集一樣,來自每個架構對象的預設屬性都被标記為包括在全局編錄之内。(您也許從不需要修改這些屬性,但是可以對其修改。)大多數對象具有大約 15 種屬性,其中大約 7 種被标記為包括在全局編錄之内。
全局編錄位于每個域的標明域控制器上,為特定于全局搜尋的查詢提供服務。當使用者基于某個對象的屬性送出一個全局查詢,并且此對象的屬性被标記為包括在全局編錄之内時,可以由本地域中配置為保留一份全局編錄副本的域控制器解析此查詢。因為每個域中至少有一個域控制器上存放全局編錄,是以可以快速執行和解析指向全局搜尋的查詢。預設情況下,全局編錄中所包含的屬性是標明的,因為它們不常改動,而且也應當這樣。使用全局編錄中的靜态資訊可以将複制通信量降至最低;畢竟,當某個标記為包括在全局編錄中的對象的屬性更改時,必須将此更改複制到整個企業内的所有全局編錄域控制器上。除了最大限度地減少複制通信量之外,靜态資訊通常更适于全局搜尋。
結束語
Windows 2000 或 Windows Server 2003 域和 Active Directory 服務是同一枚硬币的正反兩面;域既是管理邊界,也是 Active Directory 服務的分區和複制邊界。正如 Windows 2000 或 Windows Server 2003 林是 Windows 2000 和 Windows Server 2003 域的總括組織結構一樣,Windows 2000 或 Windows Server 2003 林是 Active Directory 服務的所有對象的總括結構,也是單個架構定義的所有對象所在的架構。簡而言之,域結構就是 Active Directory 服務結構。如果不了解 Windows 2000 或 Windows Server 2003 域,就無法了解 Active Directory 服務的操作方式,這就是在本書的這一章及這一部分中反複強調域的原因。
在 Windows 2000 和 Windows Server 2003 中,可以實作可伸縮性。這是因為域不再要求完全的雙向信任關系;現在,當 Windows 2000 或 Windows Server 2003 域必須與下級域進行互動,或者必須與林外部的域建立信任時,才隐式建立和增加信任。可實作可伸縮性的另一個原因是:Active Directory 服務的域級分區方案最大限度地減少了添加域的影響,使得 Active Directory 服務可以将網絡擴充到和 Internet 一樣大的範圍。
盡管 Active Directory 服務和 Windows 2000 或 Windows Server 2003 域模型進行了分區,但憑借全局編錄可確定 Windows 2000 和 Windows Server 2003 網絡環境的内聚性。将標明對象的屬性儲存在跨越整個企業的編錄中,不管查詢源自何處,或者目标對象駐留在組織的什麼地方,都可以很容易地擷取經常需要搜尋的對象屬性。
當然,直接記住所有 Windows 2000 或 Windows Server 2003 域術語可能會很困難,就像很難清楚地了解為什麼首先建立了林、域和 OU 等組織和分層容器。如果考慮 Windows 2000 或 Windows Server 2003 域術語之間松散的關聯,以及大型組織如何将此結構應用于其環境,也許會對您有幫助:
• | 企業邊界--林 |
• | 企業邊界--樹 |
• | 部門邊界--域 |
• | 部門邊界--組織機關 |
如果您的組織與此不同,怎麼辦?如果您的組織不是一家企業,或者如果沒有部門邊界,怎麼辦?如果您屬于這些情況,不要着急;這些松散的關聯僅具指導意義,是為了讓您了解一個概念,即林、樹、域和 OU 如何才能滿足類似大型和小型組織的要求和請求。您可能不需要 OU,或者可能隻需要一個域(閱讀第 7 章“Planning an Active Directory Deployment”(規劃 Active Directory 部署)後決定,對嗎?)。無論如何,在整個規劃、部署和管理過程中,應牢記一個原則:
盡量簡單。
即使沒有極為複雜的部署計劃負擔,域、目錄和網絡本身也足夠複雜。使用一個域可行嗎?隻處理幾個 OU 可行嗎?當然,可以隻使用一個域和幾個 OU。在本書的整個第 II 部分,始終提倡簡單化,因為隻有簡單才有效:保持簡單化,可以更容易地進行管理、實施并使使用者更友善使用。畢竟,這才是目的,不是嗎?