LDAP(一)之概念原理介绍

1. 基础知识铺垫

1.1 什么是目录?

  • (1) 目录是一类为了浏览和搜索数据二十几的特殊的数据库,例如:最知名的的微软公司的活动目录(active directory)就是目录数据库的一种。目录服务时按照梳妆形式存储信息的,目录包含基于属性的描述性信息,并且支持高级的过滤功能。
  • (2) 一般来说,目录不支持大多数事务性数据库所支持的高吞吐两盒复杂的更新操作。目录进行更新操作,可以说是要么全部,要么都不的原子操作,目录服务适合的业务应用在于提供大量的查询和搜索操作。
  • (3) 为了保证目录数据的可用性和卡可靠性,她们在确保提供快速的查询和搜索操作的同事,还提供了主从服务器同步目录数据信息的能力,这相当于传统的Mysql数据库的主从同步一样,可以最大限度的确保基于目录业务的持续可用性。
  • (4) 广义的目录服务概念,可以有多重不同的方式来提供目录服务,不同的目录所允许存储的信息是不同的,在信息如何被引用,查询,更新以及防止未经守群的访问等问题上,不同的目录所允许存储的信息是不同的,在信息如何被引用,查询,更新以及防止未经授权的访问等问题上,不同的目录的处理方式也有诸多的不同。一些目录服务时为本地的,只提供受限的服务,(比如,单机上的finger服务)。另一些服务时大范围的(global),提供广阔得多的服务(比如面向整个因特网)。大范围的服务通常是分布式的,这也就意味着数据是分布在多台机器上的,这些计数器一起来提供目录服务。典型的大范围服务定义一个统一的名称空间(namespace)来给出一个相同的数据试图(data view),而不管你相对于数据所在的位置。DNS是一个典型的大范围分布式目录服务的例子

1.2. 什么是X.500?

  • X.500由ITU-T和ISO定义,它实际上不是一个协议,而是有一个协议族组成,包括了从X.501到X.525等一系列非常完整的目录服务协议。

2. LADP介绍

2.1 什么是LDAP?

  • (1) LDAP是Lightweight Directory Access Protocol (轻量级目录访问协议)的缩写。正如它的名字所表明的那样,它是一个轻量级的目录访问协议,特质基于X.500的目录访问协议的简化版本。LADP运行在TCP/IP或者其他的面向连接的传输服务至上。LADP完整的技术规范由RFC2251 “The Lightweight Directory Access Protocol(V3)”和其他几个在RFC3377中定义的文档组成。
  • (2) 目录是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。
  • (3) 目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。

2.2 LADP目录服务的特点

2.2.1 LDAP目录服务具有下列特点

  • LDAP是一个跨平台的,标准的协议,近几年来得到了业界广泛的认可;
  • LADP的结构用树形结构来表示,而不是用表格。因此不用SQL语句维护了;
  • LADP提供了静态数据的快速查询方式,但在写数据方面并不擅长;
  • LADP服务可以使用基于“推或"拉"的复制信息技术,用简单的活基于安全证书的安全认证,复制部分或全部数据,既保证了数据的安全性,又提高了数据的访问效率;
  • LDAP是一个安全的协议,LDAP v3支持SASL(Simple Authentication and Securityh Layer),SSL(Secure Socket Layer)和TLS(Transport Layer Security),使用认证来确保事物的安全,另外,LDAP提供了不同层次的访问控制,以限制不同用户的访问权限;
  • LADP支持一类数据存储,LADP存储的数据可由是文本资料,二进制图片等;
  • Client/Server模型:Server用于存储树,Client提供操作目录信息数的工具,这些工具可以将数据库的内容以文本格式(LDAP数据交换格式,LDIF)呈现在我们的面前;
  • LDAP是一种开放Internet标准,LADP协议时跨平台的Internt协议,它是基于X.500标准的,与X.500不同,LADY支持TCP/IP(即可以分不知部署)

3. LDAP是怎样工作的?

LDAP目录服务器是基于客户/服务器模式的。一个或者多个LDAP服务器包含着组成整个目录信息树(DIT)的数据。客户连接到服务器并且并发一个请求(request)。然后服务器要么以一个回答(answer)予以回应,要么给出一个指针,客户可以通过此指针获取到所需的数据(通常,该指针是指向另一个LDAP服务器)。无论客户连到哪个LDAP服务器,它看到的都是同一个目录视图(view)。这是LDAP这类全局目录服务的一个重要特征。

4. LADP目录信息模型

4.1 什么样的信息可以存储在目录当中?

条目和属性的关系:

LDAP1.jpg

LDAP的信息模型是基于条目的(entry)。一个条目就是一些具有全局唯一的标识名(Distinguished Name,简写做DN)的属性的集合。DN用于无二义性的纸袋一个唯一的条目。条目的每一个属性都有一个类型(type),一个或者多个值(value)。类型往往是特定字符串的简写,比如用“cn”指代“common name”,或是"mail"指代电子邮件地址。值(value)的语法依赖于类型(type)。比如,类型为cn的属性可能包含值"候剑豪"。类型为mail的属性可能包含值“[email protected]”。类型为jpeg Photo的属性可能包含二进制格式的JPEG图像。

4.2 信息在目录中是如何组织的?

在LDAP中,条目是按树状的层次结构组织的。传统上,这个机构旺旺是代理界限或组织界限的反应。代表国家的条目位与整个目录树的顶层。之下的条目则代表各个州以及国家性的组织。在下面的条目则代表着组织单位,个人,打印机,文件,或者你所能想到的其他的东西。目录是也可以按照因特网域名组织结构,因为它允许按照DNS对目录服务进行定时,这种命名方式正变得越来越受欢迎。下图是按照域名进行组织的一个LADP目录树,相比传统的命名方式更加让用户易于接受。另外,LDAP允许你通过使用一种叫做objectClass的特殊属性来控制哪些属性是条目所必须的,哪些属性是条目可选的。objectClass属性的值是由条目所必须遵守的方案(schema)来定义的。

4.3 信息是如何被引用的?

一个条目是通过它的标识名来引用的。而标识名(Relative DistinguishedName 或者RDN)是由标识名和它的父条目名连在一起构成的。

4.4 信息是如何被访问的?

LDAP定义了一个查询和更新目录的操作,支持的操作包括从目录中添加和删除条目,更改已有的条目,更改已有的的名字。然而,大多数情况下LDAP是用于搜索目录中的信息的。通过指定搜索过滤器,LDAP可以在目录的相关部分搜索想相符的条目。满足过滤条件的每一个条目都能收到请求消息。

4.5 怎样保护信息不受未经授权的访问?

一些目录服务不提供保护,允许信息对任何人可见。LDAP提供了一套机制来对客户进行身份确认,或者让客户证明他拥有连接到服务器的身份,这无疑为对服务器进行全方位的访问控制铺平了道理,从而确保了服务器上所包含信息的安全。LDAP也支持privacy和integrity的安全服务。

博客著作权归本作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(LDAP(一)之概念原理介绍)