Протоколы безопасного сетевого взаимодействия



Протокол LDAP


Основные свойства протокола LDAP:

  • Используется клиент-серверная модель.
  • Может быть сделано несколько запросов за один раз – каждый ответ содержит идентификатор сообщения запроса.
  • В протоколе определено 9 основных операций протокола – запрос информации (2 операции), изменение информации (4 операции), аутентификация и управление (2 операции).
  • LDAPv3 предоставляет расширенные операции и расширенные возможности управления.

Протокол LDAP описывается с использованием ASN.1, используя подмножество BER.

Для обеспечения расширяемости клиенты и серверы должны игнорировать часть последовательности элементов, чьи теги они не распознали.

Клиент указывает версию, которую он использует, как часть запроса Bind. Клиенты могут определить версии протокола, которые поддерживает сервер, по атрибуту supportedLDAPVersion из корневой записи сервера. Серверы, которые реализуют версию 3, должны предоставлять данный атрибут.

Все операции протокола инкапсулированы в общий конверт LDAPMessage, который определяется следующим образом:

LDAPMessage ::= SEQUENCE { messageID MessageID, protocolOp CHOICE { bindRequest BindRequest, bindResponse BindResponse, unbindRequest UnbindRequest, searchRequest SearchRequest, searchResEntry SearchResultEntry, searchResDone SearchResultDone, searchResRef SearchResultReference, modifyRequest ModifyRequest, modifyResponse ModifyResponse, addRequest AddRequest, addResponse AddResponse, delRequest DelRequest, delResponse DelResponse, modDNRequest ModifyDNRequest, modDNResponse ModifyDNResponse, compareRequest CompareRequest, compareResponse CompareResponse, abandonRequest AbandonRequest, extendedReq ExtendedRequest, extendedResp ExtendedResponse, ... }, controls [0] Controls OPTIONAL } MessageID ::= INTEGER (0 .. maxInt) maxInt INTEGER ::= 2147483647 -- (231 – 1) --

LDAPMessage обеспечивает конверт, содержащий общие поля, необходимые всем обменам протокола. В настоящий момент общими полями являются только messageID и controls.

MessageID из запроса должно иметь ненулевое значение, отличное от значений в любых других запросах для данного соединения LDAP, частью которого является данное сообщение.




Содержание  Назад  Вперед