由于Exchange 2000,Exchange 2003和Exchange 2007都将活动目录(AD)作为其邮箱配置数据的知识库,因此理解Exchange Server和AD如何交互是很重要的。
Exchange Server通过轻量级目录访问协议(LDAP)查询从活动目录中提取信息,但Exchange Server并不直接对这些LDAP查询进行操作。
对于这种情况,Microsoft以下提供3种特殊服务作为Exchange Server与活动目录交互的中间媒介,它们是:DSAccess, DSProxy,和SMTP分类器。
这些组件负责与活动目录通信,并为Exchange Server提供它所需要的信息。
在这个教程中,Exchange的MVP专家Brien Posey阐述了这些服务在Exchange Server与活动目录基础架构中的角色和目标。
第一部分:DSAccess服务如何在Exchange Server和活动目录之间工作
在这三种负责向活动目录发送Exchange Server LDAP查询的组件中,DSAccess也许是最为重要的。DSAccess服务的主要工作就是发现活动目录的拓扑,然后将该信息提供给Exchange Server。
更具体地说,DSAccess服务致力于发现:
1. 站点结构的改变
2. 域控制器的添加与移除
3. 域控制器布置的改变
4. 可用的全球目录服务器
从技术上讲,DSAccess服务是Exchange Server的一部分,它包含在DSACCESS.DLL文件中。
为了提高效率,Microsoft选择将DSAccess作为单独的服务,而不是通过针对AD的LDAP查询搜集信息。每处理一次DSAccess查询,信息被储存在DSAccess缓存中。这意味着Exchange Server每次访问域控制器,或是Microsoft Outlook客户端每次访问全球目录服务器时,Exchange Server都不需要对更新的查询进行操作。
DSAccess可以动态探测域控制器和全球目录服务器的故障。当探测到故障时,它帮助Exchange故障恢复到备用的域控制器或全球目录服务器(如果存在的话),因此减少了潜在停机时间。
DSAccess服务还维护另一个缓存来储存LDAP查询的结果。因此,如果另一个用户发起相似的请求,Exchange可以通过返回该缓存的查询结果来节约时间。
第二部分:DSProxy服务如何在Exchange Server和活动目录之间工
DSProxy服务是一种机制,这种机制帮助Exchange Server 2003后向兼容Outlook2000之前的Microsoft Outlook版本。由于Exchange 5.0和Exchange 5.5不是使用活动目录,而是使用自身内建目录(Exchange目录)来储存信息,因此,较早版本的Microsoft Outlook客户端在运行Exchange 2003时会遇到问题。
在Outlook 2000之前的版本使用MAPI来查询Exchange目录,以获取组织机构中的邮箱信息。由于Exchange的新版本不再包含Exchange目录,取而代之的是作为目录竞争者的DSProxy服务。
在较早版本的Microsoft Outlook中,DSProxy服务拦截那些指向Exchange目录的MAPI调用,从活动目录中读取请求信息,并将信息回送给发送请求的客户端。
尽管全球目录服务器实际上就是域控制器,DSProxy服务并不使用LDAP查询从全球目录服务器检索信息,而是使用名称服务提供程序接口(NSPI)协议来进行全球目录服务器的通信。
NSPI虽然比LDAP效率更高,但是只被全球目录服务器所支持。因此,Exchange Server用DSAccess来获取全球目录服务器的名称(通过LDAP查询),再用NSPI来检索服务器中的信息。
对于运行较新版本Microsoft Outlook的客户端,DSProxy作为一种中介服务是非常重要的。这是因为全球地址列表(GAL)是从全球目录服务器中得到的,而Microsoft Outlook并不具备直接连接全球目录服务器的机制。
当Microsoft Outlook客户端为获取GAL而连接Exchange Server时,Exchange Server使用DSProxy服务为客户端提供一个到全球目录服务器的引用。一旦Microsoft Outlook接收到该引用,就能够与全球目录服务器直接进行通信了。
第三部分:SMTP分类器如何在Exchange Server和活动目录之间起作用
SMTP分类器(也称分类器)是Exchange Server消息传送引擎的一部分,它的任务是协助消息发送。
当有人要发送一封SMTP电子邮件消息到你所在的机构时,消息发送到哪个服务器是参考你所在DNS服务器的MX记录,而不管是哪个服务器实际含有接收者的邮箱。消息到达时,由Exchange Server决定哪个服务器含有接收者的邮箱。这里正是SMTP分类器起作用的地方,它决定了含有接收者邮箱的服务器。
此外,SMTP分类器还有其它功能:
1. 决定如何将收到的消息从你所在的Exchange服务器机构转发出去
2. 解析分发列表
3. 将每个用户限制应用于收到的电子邮件消息
SMTP分类器可以独立处理对活动目录发起的LDAP查询。但是,前提是它必须有DSAccess的协助。
DSAccess服务为SMTP分类器提供能够进行活动目录查找的域控制器列表。这样可以去除冗余,提高效率。毕竟,当DSAccess服务已经有可用的域控制器列表时,分类器就没有必要再去查询活动目录了。
然而,获取服务器列表是SMTP分类器用到DSAccess的唯一方面。对于其它所有的功能,分类器可以独立处理其活动目录LDAP查询。
你必须了解的是,服务器在Exchange 2003安装前,必须先安装IIS。这是因为SMTP分类器是内建于IIS SMTP传输堆叠中的。
IIS分类器是一种基本分类器。基本分类器通过AQUUE.DLL文件实现。它的作用是使用活动目录LDAP查询解析SMTP消息中接收者的信息,以扩展分发列表。
值得注意的是,虽然基本分类器不能完全满足Exchange Server的需求,但是许多Exchange的功能都依赖于基本分类器,所以不能完全摒弃它。
鉴于这种情况,Exchange server使用PHATCAT.DLL的文件来扩展基本分类器的功能。这个文件就是Exchange分类器。它的作用是扩展基本分类器,以完全满足Exchange Server的内在需求。
有关分类器的问题常常被误判为DNS或网络通信的问题。如果你的Exchange Server组织机构有邮件流的问题,应该使用消息追踪来查看哪个进程出了故障。如果消息滞留在分类器,你应该从目录访问方面入手来解决故障。