ADS Active Directory Service (Farsi User Guide)
Resource: Windows 2000 Server Resource kit Distributed Systems Guide

> Part2 > ADS > Part 1 > Active Directory Data Storage > ADS Architecture > Directory Service Architecture

Directory Service Architecture

برای شرح دادن این سرویس بهتر می باشد آن را به چند لایه تقسیم کرد تا بهتر کار هر لایه را بررسی کرد.

هر لایه وظیفه ای برای دادن سرویسهای مختلف به Client ها دارد که تاحدودی آنها را بررسی می کنیم.

ADS دارای سه لایه مهم و چندین Interface و Protocol می باشد .هر یک از این سه Service Layer دارای

وظایف مشخص و کاملا متفاوت از هم می باشد .

از بالا به پایین می توان Protocol را نام برد و یا توابع API که فقط مخصوص Client ها می باشد آنها توسط این دو ابزار با

Active Directory  ارتباط یا Communicate برقرار می کنند .البته برقراری ترافیک Replica نیز بر عهده این دو ابزار می باشد.

 

Figure 2.3 Active Directory Service Layers and Interface Agents

Legend : <MAPI (Messaging API)>,<REPL (Replication)>,<SAM (Security Account Manager)>,

<ADSI (Active Directory Service Interfaces)>

در شکل Figure 2.3 هر پیکان نمایان کنند انواع Interface های موجود برای برقراری ارتباط Client با ADS می باشد .

LDAP and Messaging API (MAPI)

این دو دارای رابطه One-way یک طرفه با Active Directory می باشند برای دریافت و ارسال اطلاعات .

Security Account Manager (SAM)

این بخش دارای "Dynamic Link Layer "DLL های متفاوت می باشد و فقط از طریق لایه  Directory System Agent می تواند

عبور کند بصورت دو طرفه.DLL مربوط به آن در این لایه فایل NTDSA.DLL می باشد.

 

بقیه موارد شکل بالا بجز Extensible Storage Engine که فایل مربوط به آن Esent.dll می باشد در فایل Ntdsa.dll وجود دارند .

بنابراین این جند فایل DLL بسیار مهم می باشند .

 
Directory System Agent (DSA)

سلسله مراتب و Parent ,Child تمامی Object ها در این قسمت ذخیره و سازماندهی  می شوند.

Database Layer

لایه بین ارتباط  Application و Database می باشد .ارتباط میان Application با Database نمی تواند Direct یا مستقیما

باشد حتما باید از طریق این لایه عبور کند تا بتواند به Database دسترسی داشته باشد .

Extensible Storage Engine (ESE)

این لایه مستقیما با اطلاعات ذخیره شده در ADS ارتباط برقرار می کند و اطلاعاتی مانند DN  هر Object درون ADS توسط این قسمت بدست می آید.

برای اطلاعات بیشتر درمورد Distinguished Name DN به قسمت Active Directory Objects رجوع کنید .

 
Data Store

فایل معروف و مهم Ntds.dit در واقع همان ADS Database می باشد .

این فایل بسیار با مهارت و دقت توسط ESE ایجاد و ذخیره سازی شده.

شما می توانید این فایل را با یک Tools دستکاری کنید یا در اصطلاح Administer کنید .البته توصیه می شود این کار را نکنید .

NtdsUtil Command-Line

برای استفاده از دستور Ntdsutil.exe شما می توانید این ابزار را در Windows 2000 or 2003 Server CD در قسمت Support\Tools

فایل SUPTOOLS.MSI را در Win2003CD اجرا کنید .بعد ازنصب یکسری Command و ابزارهای جدید به Windows شما اضافه می شود .

معمولا یک منو به Start شما اضافه می کند به نام Windows Support Tools که دارای CMD و نیز یک Help جالب می باشد  مطالعه کنید.

 
Clients obtain access to Active Directory by using one of the following mechanisms that are supported by Active Directory:
  • LDAP/ADSI. Clients that support LDAP use it to connect to the directory system agent. The extensible storage engine (ESE) that is used by Microsoft® Exchange Server version 5.5 (and earlier) client/server messaging and groupware also uses LDAP. Active Directory supports LDAPv3 (defined by RFC 2251) and LDAPv2 (defined by RFC 1777). Windows 2000 clients, as well as Microsoft® Windows® 98 and Microsoft® Windows® 95 clients that have the Active Directory client components installed, use LDAPv3 to connect to the directory system agent. Active Directory Service Interfaces (ADSI) is a means of abstracting the LDAP API by providing component object model (COM) interfaces to Active Directory; however, Active Directory uses only LDAP. The LDAP API is part of Wldap32.dll.
  • MAPI. Microsoft® Outlook® messaging and collaboration clients connect to the directory system agent by using the MAPI remote procedure call (RPC) Address Book provider interface.
  • SAM. Windows clients that use Windows NT 4.0 or earlier use the SAM interface to connect to the directory system agent. Replication from backup domain controllers in a mixed-mode domain goes through the SAM interface as well.
  • REPL. During directory replication, Active Directory directory system agents connect to each other by using a proprietary RPC interface.
Directory System Agent (DSA)

این لایه موجب  دسترسی  به DATA می شود منظور اطلاعاتی می باشد که بر روی Hard disk ذخیره شده است .

DSA بصورت  Server-side می باشد یعنی Process آن در سرور انجام می شود .Client توسط یکی از Interface هایی

که پشتیبانی می کنند به DSA وصل یا Bind می شوند سپس می توانند Search , Read , Write کنند Object های درون ADS و نیز Attribute های موجود .

The Active Directory namespace is partitioned so that individual domain controllers do not store the entire directory. Every DSA holds at least a single Windows 2000 directory partition that stores domain data for a domain (such as users, groups, and organizational units) plus two non-domain directory partitions that store forestwide data, which includes the schema and configuration data.
 
The DSA layer provides the following functionality

DSA Layer موارد زیر را انجام می دهد.

Object Identification

تمامی  Object های درون ADS دارای GUID ثابت می باشند .

این GUID ها شکل می گیرند بر اساس مواردی همچون SAMAccountName, UPN, DN این کار برای امنیت آدرسها و نامها و... لازم می باشد .

تمامی اطلاعات مربوط به GUID های Object ها در DSA ذخیره می شوند .

Schema Enforcement of Updates

In a multimaster system, a change to a schema object in one replica might conflict with existing objects in that replica and also with objects in other replicas. In Windows 2000, a schema change is a single-master operation, so if an update does not produce a conflict at the originating replica, the update is considered acceptable at all replicas. Thus, replicated updates do not perform any schema checks, and you do not have to wait until the schema replicates before creating instances of a new object or attribute.
Access Control Enforcement

لایه DSA اجرا می کندحداقل  Security را بر روی ADS و این کار را توسط خواندن Security IDentifiers SID's و اعمال آن انجام می دهد .

Support for Replication

لایه DSA همیشه آخرین تغییرات Object ها توسط ترافیک Replica را در دسترس شبکه قرار می دهد .

Referrals

لایه DSA ساختار درختی Forest را کاملا می شناسد از طریق اطلاعاتی که از Database Layer می گیرد

هم از بالا به پایین و هم از پایین به بالا .

 
Database Layer

این لایه برای نمایش Object های موجود در Database که آنها توسط  Schema ساختار یافته اند نیاز می باشد .

اطلاعات درون Database را نمی توان مستقیما دسترسی داشت این لایه برای معنی کردن Object ها لازم می باشد و برای

دسترسی به اطلاعات باید حتما از این لایه عبور کرد .

این لایه بیشتر با RND ها سروکار دارد و از آنها برای دسترسی به اطلاعات استفاده می کند این لایه عهده دار بازیابی

اطلاعات اضافه شده یا پاک شده و یا تغییر داده شده منظور رکوردها و Attribute ها می باشد .برای انجام این مسولیت

Dtabase Layer از Schema-Cache موجود در لایه DSA استفاده می کند .

 
Extensible Storage Engine (ESE)

این لایه از تکنولوژی  Indexed Sequential Access Method ISAM استفاده می کند برای دسترسی  ترتیبی

 ساختاریافته بر اساس شاخصه ها یا Index ها .

فایل مرتبط به آن Esent.dll می باشد .

ADS توسط این تکنولوژی می تواند تا 16Terabytes اطلاعات با DATABASE را را ذخیره و بازیابی کند .

در واقع میلیون ها Object در هر Domain.تا 40Million موضوع یا Object تست شده توسط Microsoft برای این موضوع .

The following ESE characteristics make it well suited to the storage needs of Active Directory:
  • Is used by the directory service and information store in Exchange Server version 5.5.
  • Supports indexing.
  • Supports multivalue attributes.
  • Supports update operations that are transacted for stability and integrity across system failures.
  • Can be backed up while the domain controller is online.
  • Handles sparse rows well — that is, rows in which many of the properties do not have values.

Active Directory اطلاعاتش را بر اساس Attribute ها معرفی شده در Schema ذخیره می کند

چون هر Object نیاز دارد که یک یا چند Attribute داشته باشد اما ممکن است User در Schema تعداد 50 Attribute معرفی کرده باشد

ولی یک User ایجاد کند که فقط 5 تا از این تعداد Attribute را دارا باشد ESE فقط Attribute هایی که Value آنها وجود دارد را ذخیره می کند نه تمامی

Attribute ها را برای آن User مشخص .البته توانایی Multiple Value نیز وجود دارد یعنی مثلا دو Phone Number ذخیره شود برای یک User و ...

 
ADS Active Directory Service (Farsi User Guide)

LastUpdate:2005/04/05

> Part2 > ADS > Part 1 > Active Directory Data Storage > ADS Architecture > Directory Service Architecture