Friday, November 6, 2009

LDAP: Revealed

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
  1. They are accessed more often than they are updated,
  2. Typically optimized for read-access, Data can be redundant if it supports performance
  3. Meant to store static information, not appropriate for storing information that changes rapidly.
  4. 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.)
  5. Limited in type of data they are allowed to store.
  6. 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.

  1. Scope of information (Local, Global)
  2. Location of client (Local, Global)
  3. 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.

No comments:

Post a Comment