Origem do LDAP

LDAP é um protocolo de acesso a diretórios do tipo X.500, o serviço de diretório OSI (Open Systems Interface). Inicialmente, os clientes LDAP acessavam gateways para o serviço de diretório X.500. Esse gateway (também chamado de proxy ou front-end) rodava LDAP entre o cliente e o gateway; e rodava o DAP (Directory Access Protocol ou Protocolo de Acesso a Diretório) X.500 entre o gateway e o servidor X.500.

O X.500 é um protocolo pesado, que opera sobre a pilha completa de protocolos OSI e requer uma quantidade significante de recursos computacionais. O LDAP é projetado para operar sobre TCP/IP e fornece a maioria das funcionalidades do X.500 com um custo muito menor.

Figura 1.3. Modelo gateway LDAP/DAP

Modelo gateway LDAP/DAP

O LDAP é considerado leve, pois não precisa rodar na pilha de sete camadas OSI, como o protocolo da camada de aplicação X.500. Os pacotes X.500 carregam mais bagagem, pois precisam de cabeçalhos para cada uma das camadas da pilha de protocolos OSI. A suite de protocolos TCP/IP, na qual o LDAP roda, também necessita de cabeçalhos nos pacotes, mas tem um overhead menor.

Figura 1.4. X.500 sobre OSI vs. LDAP sobre TCP/IP

X.500 sobre OSI vs. LDAP sobre TCP/IP

O segundo motivo é que o LDAP omite várias operações do X.500 que são raramente usadas. LDAPv3 possui apenas nove operações principais e fornece um modelo mais simples para os programadores e administradores. Assim é possível que eles se foquem mais na semântica de seus programas, sem terem que se preocupar com características do protocolo raramente usadas.

Além do LDAP ainda ser usado para acessar o serviço de diretório X.500 através de gateways, LDAP é também agora implementado direto em servidores LDAP do tipo X.500. Note o uso de "do tipo X.500" em vez de simplesmente "X.500", pois um servidor X.500 não entende mensagens LDAP. O segundo uso é o mais comum atualmente, pois atende a praticamente todas necessidades.

Figura 1.5. Modelo cliente/servidor

Modelo cliente/servidor