Namespace and Naming Conventions
The Active Directory's naming conventions serve a number of important purposes. First, all directories are based on the concept of a namespace; that is, a name is used to resolve the location of an object. When name resolution occurs, it converts the namespace locator to the specific object, such as a printer on the third floor. Everything hangs off the Active Directory using the namespace to identify and locate persons, places, and things within an enterprise.
In keeping with the namespace concept, the Active Directory uses four name types to recognize every object:
The distinguished name (DN) defines the domain and related container(s) in which an object resides. It matches several defined attributes to the descriptionthe basic ones are DomainComponent (DC), OrganizationalUnit (OU), and CommonName (CN). For example, a representation of a printer within the EntCert.com domain and sales organizational unit, physically located on the third floor, would have the distinguished name DC=COM,DC=EntCert, OU=sales,CN=Printer,CN=3rdfloorprinter.
The relative distinguished name (RDN) is really an attribute of the object itself. In the above example, CN=3rdfloorprinter is relative to its parent, CN=printer. The RDN is compared to the DN.
The Globally Unique Identifier (GUID) avoids duplication of objects, and ensures uniqueness. It is a 128-bit number assigned to an object at the time of creation, and stored with it. This permits applicationsfor example, a word processor file with embedded graphical objectsto retrieve an updated version of a drawing by use of the GUID that is stored within the document.
The user principal name (UPN) is considered a "friendly" naming convention. It combines the user account name with the DNS domain name in which the account exists. The name bob@EntCert.com is the UPN for user account bob within the EntCert.com domain tree.
Additional use of Industry Naming Standards
The Active Directory supports a number of industry standard formats to facilitate greater interoperability with other directory services. Microsoft's own Universal Naming Convention (UNC), which takes the form \\EntCert.com\Administration\budget.doc, is the base naming convention. The Active Directory also incorporates RFC 822, which defines the common Internet e-mail-naming structure of email@example.com. It supports the familiar HTTP Uniform Resource Locator (URL), which takes the form http://EntCert.com/specific page, as well. Finally, borrowing from the X.500 communication protocol, the Active Directory incorporates the LDAP URL, as defined in the draft of RFC 1779, which breaks the name into very specific subunits that might look like this:
The initials provide greater object specification. CN is the user's first and last name. The two hierarchical OUs distinguish the branch of the company and the specific product area. Finally, DN defines the work area, such as engineering, accounting, or marketing.
Active Directory Use of LDAP
The Lightweight Directory Access Protocol (LDAP), defined by the Internet Engineering Task Force RFC 2251, is a simplified version of the X.500 DAP. Microsoft's Windows 2000 utilizes LDAP versions 2 and 3. LDAP permits the exchange of directory data between services. For example, because Novell Directory Services data is LDAP-compliant, it can be passed to and from the Active Directory.
LDAP is utilized to access information from compliant directory services such as the Active Directory. LDAP searches the Active Directory for information about stored objects and their attributes. It uses both distinguished and relative distinguished names to locate the object, and works closely with DNS throughout this process. DNS provides resolution to locate the appropriate Active Directory domain controller; LDAP resolves the object itself. The process follows these basic steps:
A client queries DNS for an LDAP server (Active Directory domain controller).
The client queries the domain controller for information about the object.
If the requested object is not in the domain, but the domain controller knows there are child domains or a forest domain, it issues a referral to contact the other domain controllers until object resolution is achieved.
The client is returned the object information.
LDAP's C language API (RFC 1823) permits the development of application enhancements and the building of related applications. Developing interfaces using the LDAP C API is perhaps the easiest way to provide interoperability between LDAP directory-compliant services. Existing LDAP directory service auxiliary applications migrated to communicate with Windows 2000 Active Directory may not need modification. If API code changes are required as well, they are typically for the identification of objects unique to the Active Directory.
In addition to the aforementioned conventions introduced in Windows 2000, the Windows 2000 Active Directory implementation adds a number of additional facilities to its LDAP support:
Active Directory now has support for dynamic store entries, as defined by the Internet Engineering Task Force (IETF) standard protocol RFC 2589. Entries in the directory can additionally be assigned Time-To-Live (TTL) values that determine when the entries will be automatically deleted.
Transport Layer Security (TLS) connections to Active Directory over LDAP are now protected using the IETF standard TLS security protocol (RFC 2830).
The Digest Authentication mechanism (DIGEST-MD5 SASL authentication) over LDAP connection Active Directory is supported (RFC 2829).
Virtual List Views (VLV) LDAP extensions, as defined by the Working Group of IETF, are also supported.
[lb]Support for Dynamic Auxiliary classes and instances are also supported.
An extension of LDAP is its replication technology protocol LDUP (LDAP Duplication/Update Protocol), an open standards specification that is not embraced by the Active Directory. LDUP does a complete real-time replication of directory elements that requires that compliant directory services adhere to very specific rules and data structures. Violation of any of the rules such that a directory entry is not understood can lead to cascading errors throughout the directory. Rather than LDUP, the Active Directory utilizes a synchronization methodology to populate and update directories.
Microsoft decided not to include major portions of the X.500 protocol in the Active Directory primarily because of its dependence on an OSI networking layer and a general lack of public interest. The excluded elements are the Directory Access Protocol, the Directory System Protocol, the Directory Information Shadowing Protocol, and the Directory Operational Binding Management Protocol. LDAP is the most significant element of X.500 incorporated in Windows 2000 and Windows 2000.