Lightweight Directory Access Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Lightweight Directory Access Protocol(ライトウェイト ディレクトリ アクセス プロトコル、LDAP:エルダップ)は、ディレクトリ・サービスに接続するために使用されるプロトコルの一つ。ITU勧告X.500モデルをサポートするディレクトリに対するアクセスを提供するために設計された。一方で、X.500ディレクトリアクセスプロトコル(Directory Access Protocol : DAP)の資源要求は課されない。本プロトコルは、特にディレクトリに対する対話的な読み込み/書き込み(read/write)アクセスを提供する管理アプリケーションやブラウザアプリケーションを対象とする。X.500プロトコルをサポートするディレクトリと共に使用する際に、X.500のDAPを補完するものとなることが意図されている。

コンピュータネットワークでは、ネットワークを構成する機器が多くなるにつれて扱うべきネットワーク・リソースが増大する。DAP が登場した背景には、個々に異なるディレクトリ・サービスを扱うよりも、統一されたプロトコルで拡張可能な情報にアクセスする方法が求められるようになったことが挙げられる。上述の X.500 シリーズは、分散可能な統合案内サービスとして優れた機能を有していたものの、DAP が複雑なため処理が重たく、TCP/IP によるインターネットでは使用されにくいという欠点があった。

「X.500の90%の機能を10%のコストで実現する」という目標のもと、ネットスケープ社を中心とした設計チームにより、DAPの問題点を洗い出し、再設計が行われた LDAPv2 (RFC 1777) が IETF によって標準化され、ミシガン大学において最初の処理系が誕生した。LDAPv2 では、LDAP サーバは X.500 のフロントエンドとして機能し、分散化は X.500 が担っている。また、LDAP サーバによる分散化を実現する LDAPv2+ は、多くの処理系で使用された。その後、分散化のための仕様を含み、セキュリティが強化された LDAPv3 (RFC 2251) が規定されている。

LDAP の処理系は、OpenLDAP により、オープンソースで提供されているものをはじめ、各種の製品が存在している。

LDAPとX.500の違い[編集]

LDAPはX.500のDAPを軽量化したもの

しかし、X.500ではDAP以外にDSP,DOP,DISPといったプロトコルが規定されている。

つまりLDAPにはこの3つのプロトコルが存在しないことになる。

  • DUA(Directory User Agent):ディレクトリの利用者に代わってディレクトリへアクセスする機能(プログラムやコマンド、ライブラリ)
  • DSA(Directory Service Agent):ディレクトリ情報を管理する個々のシステム。ディレクトリはDSAの集合体として構成される。
  • DAP(Directory Access Protocol):DSAがDUAに対してディレクトリサービスを提供するためのプロトコル
  • DSP(Directory System Protocol):DSA間で分散協調動作(連鎖や紹介)を行うためのプロトコル
  • DOP(Directory Operational binding management Protocol):ディレクトリ運用結合管理プロトコル。DSA間の運用結合の規定内容や状態の交換に用いられるプロトコル
  • DISP(Directory Information Shadowing Protocol):DSA間で複製情報を交換するためのプロトコル

X.500のDAPはOSI各層の標準プロトコルを使用する。

LDAPはTCP/IPの上に実装されるため、DAPにあるROSE,RTSE,ACSEを実装していない。

(これらの機能はTCP/IPの中で実装されているのでLDAPでは不要)

  • ROSE(Remote Operation Service Element):遠隔操作サービス要素、処理の依頼と結果の通知という通信メカニズムを実現するプロトコル要素
  • RTSE(Reliable Transfer Service Element):高信頼転送サービス要素、通信経路障害などによって情報の欠落や重複が起きないようにするプロトコル要素
  • ACSE(Association Control Service Element):アソシエーション制御サービス要素、コネクションの確立、正常開放、異常解放を行うサービス要素

代表的なLDAP実装[編集]