Um pouco da história, a origem do LDAP
O X.500 é um padrão de protocolos de serviços de diretórios utilizados em redes de computadores, foi elaborado para trabalhar em cima do modelo OSI e incorporado ao pacote de protocolos do mesmo, ISO/IEC 9594 . Designado para dar suporte ao padrão X.400, que define a troca de mensagens eletrônicas entre os usuários da rede local, onde a função do X.500 é prover serviços de diretórios para rede, centralizando a base de dados dos usuários da rede em um servidor X.500.
O protocolo de acesso a diretórios - DAP (Directory Access Protocol) faz parte das especificações do padrão X.500, foi feito para trabalhar junto a todas as camadas do modelo OSI, e tinha por objetivo definir o acesso de usuários aos serviços de diretórios que seu padrão provia.
Assim como o OSI o X.500 conseqüentemente o DAP foram feitos antes do advento da internet e originalmente não foram preparados para trabalhar com o TCP/IP, visto que segundo Trigo (2007), a aplicação do mesmo além de ser de difícil implementação, gerava aplicações complexas e lentas. Além do mais o estilo da organização da árvore de diretórios do X.500 não foi preparado para a utilização de diretórios distribuídos.
Quando se trata de redes tudo gira em torno dos protocolos, a Internet, e-mail, intranets, transferência de arquivos acessos a diretórios e outros providos pela pilha TCP/IP são todas operações baseadas em protocolos como, HTTP , FTP, UDP , TCP, IP, POP , SMTP e tantas outras siglas terminadas em "P", sendo um conjunto de regras que estabelecem funções específicas.
A grande vantagem da utilização de protocolos se resume na compatibilidade que eles oferecerem tanto entre hardwares como entre softwares de diversos fabricantes, o que os tornaram compatíveis entre si. Um exemplo prático disso é a possibilidade de se estabelecer à comunicação entre Sistemas Operacionais diferentes, ou partindo para o nível de hardware, que é, por exemplo, fazer com que placas de rede de fabricantes distintos possam se comunicar.
Já se é aceito que a implementação do Modelo OSI utiliza uma gama maior de recursos de rede, onde se trafega uma grande quantidade de dados desnecessários, e a pilha TCP/IP por sua vez trabalha de forma mais leve exigindo menos dos recursos da rede, tanto que com a disseminação da internet o TCP/IP passou a ser usado como um padrão internacional. O sucesso foi tanto que os protocolos do X.500 foram adaptados para que as redes TCP/IP pudessem trabalhar com os servidores X.500. Posteriormente percebeu-se a necessidade da criação de protocolos que se encaixassem melhor as suas características.
O LDAP foi criado como uma alternativa ao DAP, para prover acesso aos serviços de diretórios do X.500 pelos protocolos da pilha TCP/IP. O LDAP é mais fácil de ser implementado do que o DAP além de exigir menos dos recursos da rede e memória. Ele foi desenvolvido, e não adaptado como o DAP, para aplicações TCP/IP, sendo assim o LDAP obteve um maior desempenho. Por esses motivos recebeu o nome Lightweight Directory Access Protocol (protocolo leve de acesso a diretórios), que é o nome de seu antecessor acrescentado de Lightweight (leve).
Posteriormente foram criados servidores de diretórios voltados para o TCP/IP e o LDAP. O Slapd (stand-alone LDAP daemon - servidor) foi escolhido como a melhor opção e consolidado. Com sua utilização, passa a se colocar em prática um software provedor de serviços de diretórios específicos para o TCP/IP e o LDAP deixando de lado o X.500 que é uma mera adaptação de um padrão desenvolvido para o modelo OSI. Com isso haverá um ganho em performance e funcionalidades e melhor integração com o LDAP.
Assim sendo o LDAP passou a ser a melhor forma de se obter o acesso a serviços de diretórios e foi padronizado em julho de 1993 no RFC 1487 da IETF (Internet Engineering Task Force - Força-Tarefa de Engenharia da Internet) estando na versão 2.4.12.
O LDAP em prática: OpenLDAP
Cada vez fica mais difícil de encontrar servidores X.500, pois o LDAP possui custo menor de hardware mostrando-se mais fácil de se implementar e possui uma melhor eficiência de funcionamento. Com o modelo OSI enterrado a utilização de um servidor X.500 adaptado ao invés de um servidor LDAP passa a ser uma displicência do administrador da rede, pois pra quem já conhece o funcionamento de X.500 se qualificar para o uso do LDAP fica fácil.
Como já citado o LDAP é o protocolo que rege a comunicação entre usuários e os serviços de diretórios e nada mais. Para que o LDAP seja funcional o mesmo tem que ser integrado com o software servidor de serviços de diretórios (slapd), além de outros softwares que atribuem aos servidores de diretórios diversas funções como, softwares de autenticação de usuário, banco de dados, chaves criptográficas e os demais protocolos de comunicação.
Com o objetivo de facilitar o uso do LDAP a Universidade de Michigan nos Estados Unidos da América desenvolveu inicialmente o OpenLDAP, que por ser um software livre traz com sigo todas as vantagens que um software livre possui, como a rápida ampliação de recursos e correção de bugs . O OpenLDAP é a implementação do LDAP sendo que ele adiciona os recursos necessários para sua utilização. A suíte é composta pelos softwares:
- Slapd - stand-alone LDAP daemon (servidor);
- Slurpd - stand-alone LDAP update replication daemon;
- Syncrepl - Replicação de base é mais flexível e tem mais recursos que o slurpd, mas só funciona nas versões mais novas do OpenLDAP;
- Bibliotecas de implementação do protocolo LDAP;
- Utilitários, ferramentas, e amostras clientes.
Segundo Trigo (2007):
As principais características do OpenLDAP são:
- Suporte a IPv4 e IPv6;
- Autenticação (Cryrus Sasl-Kerberos V, GSSAPI, Digst-MD5);
- Controle de acessos;
- Escolha entre bancos de dados (LDBM e o BerkeleyDB);
- Capacidade de atender a múltiplos bancos ao mesmo tempo;
- Alta performance em múltiplas chamadas;
- Replicação de base.(TRIGO,2007, p. 30).
Pode-se concluir que o OpenLDAP é um pacotes de softwares que trabalham vinculados com o LDAP, e que juntos oferecem um serviço de diretório pratico e seguro, com várias funcionalidades como autenticação de usuário e armazenamento de informações, facilidade de backup, funcionamento em redes TCP/IP versão 4 e 6 entre outros.