Light weight directory protocol is a open industry standard and as the name stands it
is a protocol, a standard method for accessing and updating information in a directory. Though it is not the directory itself, nor is it does define the directory service itself.
As a standard definition, LDAP is a protocol that
defines
- Message protocols used by directory servers and directory clients to communicate.
- Standard method for accessing and updating information in the directory.
- The communication protocol,defining the transport and format of messages used by a directory client to access data in an X.500-like directory.
LDAP is based on the industry standard Request for comments[RFC]
Directory
Directory is
specialized database that stores listing of information about objects in a typed and ordered way (as name-value pairs or node-data pairs). A few examples, like, DNS where nodes are domain names and data is the ip-addresses OR Network OS Directory, where the nodes are the resources managed by OS like users,computers,printers etc.
The special characteristics of a Directory that differentiate it from a RDBMS are
- They are accessed more often than they are updated,
- Typically optimized for read-access, Data can be redundant if it supports performance
- Meant to store static information, not appropriate for storing information that changes rapidly.
- Do not support transactions or rather support 'limited transactions within directory' and not any other transactions, like, database transactions. (Transactions are all-or-nothing operations that must be completed in total or not at all.)
- Limited in type of data they are allowed to store.
- Use simplified and optimized access protocols that can be used in slim and relatively simple applications (compare against powerful SQL as access method for RDBMSs.)
The
three dimensions of a directory are independant of each other.
- Scope of information (Local, Global)
- Location of client (Local, Global)
- Distribution of Server (Centralized, Distributed)
Communication path
[Application] <-calls-> [Directory-Client APIs] <--request/response--> [Directory Server] <---access via TCP/IP port 636s/389e---> [Directory]
Directory Service
Directory service is a software system that - Stores,Organizes and Provides access to information in a directory. LDAP is based on the directory information services of X.500 standard,but uses TCP/IP Stack and string encoding scheme of X.500 protocol DAP.
X.500 is a series of computer networking standards covering directory services. it includes various OSI Stack-based protocols,like, DAP,DSP,DISP,DOP. LDAP is an alternative to 'DAP of X.500 Standard' LDAP allows internet clients to access X.500 directory using the TCP/IP networking Stack.
Primary concept of X.500 is that there is a single Directory Information tree(DIT), a hierarchical organization of information that is distributed across one or more servers, called as directory system agents(DSA). An entry consists of a set of attributes and has a unique distinguished name.
The Distinguished Name comprises of :
Relative distinguished name(rdn) of itself + one or more attribute of itself + RDNs of each of the superior entries up to the root of DIT.