メインコンテンツまでスキップ

5. プロトコルの符号化、接続、および転送 (Protocol Encoding, Connection, and Transfer)

LDAP プロトコルは、コネクション指向かつ信頼性のある transport 上で動作するように設計されている。データストリームは octet (8 ビット単位) に分割され、各 octet および各 bit はプロトコル上の意味を持つ。

LDAPMessage は ASN.1 Basic Encoding Rules (BER) を用いて符号化される。相互運用性を保証するため、実装は RFC 4511 で規定された BER のサブセットのみを使用する。length は definite form を用い、文字列および octet string はそれぞれの LDAP 固有の符号化 (LDAP-specific encoding) に従って転送し、プロトコル要素の tag と value は第 4 章に示す ASN.1 定義に準拠しなければならない。

通常、LDAP session は TCP 上に構築される。client は接続を確立した後、LDAPMessage を送信し、server は同一の接続を用いて response または unsolicited notification を返す。特記がない限り、LDAP は同一接続上で複数の request を同時に送信することを許容する。response は messageID によって request と対応付けられる。

実装は、転送層が提供する octet stream を完全な BER element として解析した後でなければ、LDAPMessage を解釈してはならない。接続が閉じられた場合、待機中の operation に対してプロトコルレベルの結果は返されない。client はこれを接続失敗とみなし、ローカルポリシーに従って再試行またはエラー報告を行うべきである (SHOULD)。