Note that a similar term, Directory Information Tree (DIT), is often used to refer to an enterprise's directory tree. However, DIT strictly defined to mean the global X.500 directory tree. In the X.500 view, there is only one DIT and all directory services are considered to be managing portions of that single DIT. Server-Side Architecture
The directory server is essentially a communications engine that stores information in one or more databases. The server is split into two major parts: a front end that is responsible for general network communications and one or more back-end plug-ins that are responsible for database management.
The directory server is a multithreaded application that is capable of processing hundreds of thousands of search requests per hour (actual performance is determined by the supporting hardware and network connections). The directory server ensures high-performance for search requests by using a database tuned for searching and by building indexes that allow for rapid directory lookups. To further improve performance, the directory server caches the most heavily accessed data in memory.
By default, the directory server uses a single database plug-in. This database is robust implementation that is capable of managing millions of entries. It supports advanced backup and restore activities that ensure your directory data is always in a consistent state, even in the event of a power outage when data is being written to the database.
For most directory implementations, this default database will support your directory service without any need for customization. However, under some circumstances you may choose to use multiple databases. You can also use the Netscape Directory Server plug-in API to replace this standard database with something else (such as a relational database). Note that this is a non-trivial task that requires a fair amount of development and planning in its own right.
The usage of multiple databases and custom back ends is beyond the scope of this manual. For more information on database usage with your directory server, see the Netscape Directory Server Programmer's Guide.
Directory Server Concepts
You need to understand a few key concepts before you can deploy even a simple LDAP directory service. Understanding these concepts will save you a great deal of time when you install your Netscape Directory Server.
The Directory Tree
The entries in an LDAP directory service are often visualized as being organized in a tree-like structure. This mirrors the tree model used by most file systems, with the tree's root point (first entry) appearing at the top of the hierarchy. This is referred to as the directory tree:
Distinguished Names
Just as a file path uniquely identifies a file within a file system, a directory entry is uniquely identified within the directory tree using a distinguished name (DN). A DN identifies the entry by using a series of comma-separated attributes and attribute values. However, the path specification for DNs is in reverse order from a traditional file system. That is, where a file system typically traces the path to the file from left to right with the file's actual name specified in the right-most component, a DN specifies the left-most component as being the actual directory object and the right-most value as being the directory root point.
Thus, a DN might be
uid=bjensen, ou=people, o=airius.com
This DN represents the entry named bjensen in the subdirectory named people in the directory named airius.com.
The DN's left-most value is known as the Relative Distinguished Name (RDN). Following this value are subsequent attributes that represent a branch point above the entry. The final, or right-most, attribute represents the conceptual root point of the directory tree.
Suffix
A directory server's suffix value identifies the directory tree maintained by the server. That is, a suffix is always equal to the directory tree's root entry (see the example below). Suffixes are represented in DN format. Every Netscape Directory Server has at least two suffixes defined for it. Only one, however, is of general importance, and this is called the primary suffix. The primary suffix represents the directory tree under which you are storing directory information of interest to your enterprise. You can have more than one primary suffix defined for your server. That is, you can have more than one directory tree managed by your server.
For example, a directory server that contains an entry named
uid=bjensen, ou=people, o=airius.com
might have a suffix named
o=airius.com
However, suffixes do not have to be limited to a single component. In fact, it is very common for a suffix to contain at least two components. For example, the entry
uid=bjensen, ou=people, dc=airius, dc=com
might have a suffix named
dc=airius, dc=com
Note that your server will always have a second suffix defined for it that represent your server's machine data area. Your server may also have a change log suffix defined for it. For more information on the machine data area and the change log, see the Netscape Directory Server Administrator's Guide.
Root Entry
The root entry is the first, or top-most, entry in your directory tree. The root entry must have a DN that is identical to a suffix defined for your directory. Thus, if you have the suffix o=airius.com then the root entry (that is, the first entry) in your directory tree must have the distinguished name of o=airius.com
Similarly, if the suffix contains multiple attributes (dc=airius, dc=com), then the DN of the first entry in the directory tree must be dc=airius, dc=com.
Root Distinguished Name
The Root Distinguished Name, or root DN, is the special entry to which access control does not apply. Think of the root DN as your directory's superuser.
By default, the root DN uses no suffix, and it is simply a common name attribute-data pair:
cn=Directory Manager
Note that the root DN is not required to have a corresponding entry in the directory. As a result, if you search your directory server for your root DN entry, you usually will not find it (unless you explicitly created a corresponding entry for the root DN). Also, unless you intend to create an actual directory entry that corresponds to your root DN, your root DN does not have to correspond to any of the suffixes managed by your server.
All information regarding the root DN and its password is stored in the directory server's configuration file (slapd.conf
). The root DN password can be stored in clear text or in encrypted form (by default it is encrypted).
Configuration of a root DN for your server is optional, but it is strongly recommended because without it the creation of directory entries and the initial setting of access control privileges is difficult. You can configure your root DN when you first install your directory server instance. You can also create a root DN, change your root DN, or delete your root DN after you have installed your server. For more information on root DN management, see the Netscape Directory Server Administrator's Guide.
Base Distinguished Name
The Base Distinguished Name, or base DN, is the entry in your directory from which searches will occur. This search point is determined by settings created on each individual LDAP client using your directory.
Note that the base DN is also often referred to as the search base. In addition, Netscape Communicator's preference settings for directories refers to this as the search root.
For example, if you specify a base DN of ou=people, o=airius.com, then the search operation will examine only the ou=people subtree in the o=airius.com directory tree.
Every LDAP search request must specify a base DN. Most often you will configure your LDAP client such that it uses your directory's root entry for the base DN. In this way, your LDAP client will always search the entire directory tree when performing searches.
Secure Sockets Layer
When you install your directory server, you are given the option to use encryption for server communications. Encryption is most important to directory services running over public networks such as the Internet.
Directory server encryption is performed using the Secure Sockets Layer, or SSL. Encrypted LDAP communications are referred to as LDAPS connections.
Note that SSL is used throughout SuiteSpot to perform other security activities such as message integrity checks, digital signatures, and mutual authentication between servers as well as between servers and clients.
In order for your server to use LDAPS, you must configure a security database for the server, and then turn on SSL in the server. Note that your server is capable of simultaneously handling both LDAP and LDAPS communications.
For more information on SSL, see Managing Netscape Servers. For more information on LDAPS, see the Netscape Directory Server Administrator's Guide.
Last Updated: 02/17/98 15:41:51