2024年4月2日发(作者:)

1. LDAP概述

目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它成树状结构组织数据,

就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读

性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所

以目录天生是用来查询的,就好象它的名字一样。目录服务是由目录数据库和一套访问协议

组成的系统。类似以下的信息适合储存在目录中:

企业员工和企业客户之类人员信息;

公用证书和安全密钥;

邮件地址、网址、IP等电脑信息;

电脑配置信息。

...

1.2. X.500和LDAP

现在国际上的目录服务标准有两个,一个是较早的X.500标准,一个是较新的LDAP标准。

X.500是一个协议族,由一系列的概念和协议组成,包括:

X.501是模型定义,定义目录服务的基本模型和概念;

X.509是认证框架,定义如何处理目录服务中客户和服务器认证;

X.511是抽象服务定义,定义X.500提供的功能性服务;

X.518是分布式操作过程定义,定义如何跨平台处理目录服务;

X.519是协议规范,定义了X.500协议,包括DAP(Directory Access Protocol,目录访问协议)、

DSP(Directory System Protocol,目录系统协议)、DOP(Directory Operator Protocol,目录操作

绑定协议)、DISP(Directory Information Shadowing Protocol,目录信息阴影协议 );

X.520定义属性类型要求;

X.521定义对象类型;

X.525定义如果在目录服务器间复制内容。

X.500标准中定义了很多内容,包括:

定义了信息模型,确定目录中信息的格式和字符集,如何在项中表示目录信息(定义对象类、

属性等模式);

定义命名空间,确定对信息进行的组织和引用,如何组织和命名项-目录信息树DIT和层次

命名模型;

定义功能模型,确定可以在信息上执行的操作;

定义认证框架,保证目录中信息的安全,如何实现目录中信息的授权保护-访问控制模型;

定义分布操作模型,确定数据如何分布和如何对分布数据执行操作,如何将全局目录树划分

为管理域,以便管理。

定义客户端与服务器之间的通信的各种协议。

由于X.500较复杂,且需严格遵照OSI七层协议模型。造成应用开发较困难。所以开发了

LDAP,以便在INTERNET上使用。

LDAP协议于1993年获批准,产生LDAPv1版,1997年发布最新的LDAPv3版,该版本是

LDAP协议发展的一个里程碑,它作为X.500的简化版提供了很多自有的特性,使LDAP功

能更为完备,具有更强大的生命力。

LDAP也是一个协议族,包含以下内容:

RFC 2251--LDAPv3核心协议,定义了LDAPv3协议的基本模型和基本操作;

RFC 2252--定义LDAPv3基本数据模式(Schema)(包括语法、匹配规则、属性类型和对象类)

以及标准的系统数据模式;

RFC 2253--定义LDAPv3中的分辩名(DN)表达式;

RFC 2254--定义了LDAPv3中的过滤表达式;

RFC 2255--定义LDAPv3统一资源地址的格式;

RFC 2256--定义LDAPv3中使用X.500的Schema列表;

RFC 2829--定义了LDAPv3中的认证方式;

RFC 2830--定义了如何通过扩展使用TLS服务;

RFC 1823--定义了C的LDAP客户端API开发接口;

RFC 2847--定义了LDAP数据导入、导出文件接口LDIF。