Lightweight Directory Access Protocol
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がIETFによって RFC 1777 として標準化された。LDAPv2 では、LDAP サーバは X.500 のフロントエンドとして機能し、分散化は X.500 が担っている。
LDAPv2は、その後分散化を実現するLDAPv2+、さらに国際化やセキュリティ強化がなされたLDAPv3(RFC 2251)へと進化している。
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実装
編集- NetIQ eDirectory (NetIQ)
- Oracle Internet Directory(オラクル)[リンク切れ]
- Sun Java System Directory Server(サン・マイクロシステムズ)
- Sun OpenDS(サン・マイクロシステムズ)
- StarDirectory(日本電気)
- 389 Directory Server(レッドハット)
- InfoDirectory(富士通)
- Sendmail Directory Server
- OpenLDAP
- Tivoli Directory Server (IBM)
- Active Directory(マイクロソフト)
- Apache Directory Server