邮件路由
适用于:Exchange Server 2013
Microsoft Exchange Server 2013 组织中所有邮箱服务器上存在的传输服务的主要任务是将从用户和外部源接收的邮件路由到其最终目标。 路由决策在邮件分类期间做出的。 分类程序是邮箱服务器上的传输服务的一个组件,可处理所有传入邮件,并根据邮件目标信息确定如何处理邮件。
Exchange 2013 中的路由现在完全了解数据库可用性组 (DAG) ,并使用 DAG 成员身份作为路由边界。 为什么? 在 Exchange 2013 中,所有邮箱服务器都托管传输服务。 因此,当邮箱服务器属于 DAG 时,用于路由邮件的主要机制与 DAG 密切相关。 当 DAG 跨越多个 Active Directory 站点时,使用 Active Directory 站点作为主要路由边界是低效的。 Exchange 2013 还使用 Active Directory 站点成员身份作为不属于 DAG 的邮箱服务器的路由边界,以及路由与以前版本的 Exchange 的互操作性。 Exchange 2013 路由的其他显著更改包括:
邮箱服务器上的传输服务从不直接与邮箱数据库通信。 相反,传输服务与邮箱服务器上的邮箱传输服务进行通信。 只有邮箱传输服务与本地邮箱服务器上的邮箱数据库通信。 当邮箱服务器是 DAG 的成员时,只有保存邮箱数据库活动副本的邮箱服务器上的邮箱传输服务才接受目标收件人的邮件。
远程过程调用 (RPC) 仅在向本地邮箱数据库发送邮件或从本地邮箱数据库接收邮件时由邮箱传输服务使用。 当邮箱服务器是 DAG 的成员时,邮箱传输服务仅使用 RPC 与邮箱数据库的主动副本进行本地通信。 换句话说,RPC 永远不会用于跨服务器通信。 相反,不同邮箱服务器上的邮箱传输服务和传输服务始终使用 SMTP 进行通信。
Exchange 2013 对远程目标使用更精确的队列。 Exchange 2013 不对远程 Active Directory 站点中的所有目标使用一个队列,而是对 Active Directory 站点中的特定目标(例如单个发送连接器)对消息进行排队。
链接连接器已弃用。 链接的连接器是链接到发送连接器的接收连接器。 接收连接器接收的所有邮件都会自动转发到发送连接器。
路由组件
Exchange 2013 邮箱服务器上的传输服务收到邮件时,必须对邮件进行分类。 邮件分类的第一个阶段是收件人解析。 在解析了收件人之后,便可以确定最终目标。 下一个阶段是路由,用于确定到达最终目标的最佳路径。 通过引入路由目标和传递组的概念,Exchange 2013 中的路由已通用化,以提高灵活性并降低复杂性。
路由目标
在 Exchange 2013 中,邮件的最终目标称为 路由目标。 Exchange 2013 中存在以下路由目标:
邮箱数据库:这是 Exchange 组织中邮箱服务器上具有邮箱的任何收件人的路由目标。 在 Exchange 2013 中,公用文件夹是一种邮箱类型,因此将邮件路由到公用文件夹收件人与将邮件路由到邮箱收件人相同。
连接器:当用作路由目标时,连接器是 SMTP 邮件的发送连接器。 传递代理连接器或外部连接器用作非 SMTP 邮件的路由目标。
通讯组扩展服务器:当通讯组具有负责扩展组成员身份列表的指定扩展服务器时,这是路由目标。 通讯组扩展服务器始终是中心传输服务器或 Exchange 2013 邮箱服务器。
请注意,早期版本的 Exchange 中也存在这些相同的路由目标。
传递组
Exchange 2013 中的每个路由目标都有一个或多个传输服务器的集合,这些服务器负责将邮件传递到该路由目标。 这样的传输服务器集合称为传递组。 传输服务器可以是 Exchange 2013 邮箱服务器,或者安装了中心传输服务器角色的 Exchange 2010 服务器或 Exchange 2007 服务器。 当路由目标是邮箱数据库时,传递组中的传输服务器是与邮箱数据库相同的 Exchange 版本。 当路由目标是连接器或通讯组扩展服务器时,传递组可以混合包含 Exchange 2013 邮箱服务器和 Exchange 2010 或 Exchange 2007 中心传输服务器。 消息的路由方式取决于源传输服务器与目标传递组之间的关系:
如果源传输服务器位于目标传递组中,则路由目标本身是邮件的下一跃点。 邮件由源传输服务器传递到传递组中传输服务器上的邮箱数据库或连接器。 请注意,当通讯组扩展服务器是路由目标时,通讯组在邮件到达通讯组扩展服务器上的分类路由阶段时,通讯组已展开。 因此,来自通讯组扩展服务器的路由目标始终是邮箱数据库或连接器。
如果源传输服务器不在目标传递组之外,则消息将沿着成本最低的路由路径中继到目标传递组。 根据 Exchange 拓扑的大小和复杂性,邮件将沿成本最低的路由路径中继到其他传输服务器,或者将邮件直接中继到目标传递组中的传输服务器。
Exchange 2013 中存在以下类型的传递组:
可路由 DAG:这是属于一个 DAG 的 Exchange 2013 邮箱服务器的集合。 DAG 中的邮箱数据库是由此传递组提供服务的路由目标。 邮件到达属于 DAG 的邮箱服务器上的传输服务后,传输服务会将邮件路由到 DAG 中当前保存目标邮箱数据库的活动副本的邮箱服务器上的邮箱传输服务。 然后,目标邮箱服务器上的邮箱传输服务会将邮件传递到本地邮箱数据库。 尽管 DAG 可能包含位于不同 Active Directory 站点中的邮箱服务器,但 DAG 是传递组边界。
邮箱传递组:这是位于一个 Active Directory 站点中的相同版本的 Exchange 服务器的集合。 Active Directory 站点是传递组边界。 路由目标和为它们提供服务的传递组由 Active Directory 站点中 Exchange 的主要版本分隔。 位于 Exchange 2010 邮箱服务器上的邮箱数据库由位于 Active Directory 站点中的 Exchange 2010 中心传输服务器提供服务。 位于 Exchange 2007 邮箱服务器上的邮箱数据库由位于 Active Directory 站点中的 Exchange 2007 中心传输服务器提供服务。 Active Directory 站点中不属于 DAG 的 Exchange 2013 邮箱服务器上的邮箱数据库由 Active Directory 站点中 Exchange 2013 邮箱服务器上的传输服务提供服务。 邮件传递到邮箱数据库的方式取决于 Exchange 的版本:
Exchange 2013:邮件到达目标 Active Directory 站点中的目标邮箱服务器后,传输服务使用 SMTP 将邮件传输到邮箱传输服务。 然后,邮箱传输服务使用 RPC 将邮件传递到本地邮箱数据库。
Exchange 2010 或 Exchange 2007:邮件到达目标 Active Directory 站点中相同版本的随机中心传输服务器后,中心传输服务器上的存储驱动程序使用 RPC 将邮件写入邮箱数据库。
连接器源服务器:这是 Exchange 2010 或 Exchange 2007 中心传输服务器或 Exchange 2013 邮箱服务器的混合集合,其作用域为发送连接器、传递代理连接器或外部连接器的源服务器。 连接器是由此路由组提供服务的路由目标。 当连接器的范围限定为特定服务器时,仅允许该服务器将消息路由到连接器定义的目标。 此传递组可能包含位于不同 Active Directory 站点中的 Exchange 2010、Exchange 2007 中心传输服务器或 Exchange 2013 邮箱服务器。
AD 站点:在某些情况下,Active Directory 站点不是邮件的最终目标,但邮件必须通过该 Active Directory 站点中的 Exchange 2010 或 Exchange 2007 中心传输服务器或 Exchange 2013 邮箱服务器。 这些情况包括:
将 Active Directory 站点配置为中心站点时。 当中心站点存在于用于消息传递的成本最低的路由路径上时,消息在中继到其最终目标之前,会先由中心站点中的传输服务器处理。
当边缘传输服务器订阅 Active Directory 站点时。 无法从其他 Active Directory 站点直接访问这些订阅的边缘传输服务器。 请注意,边缘传输服务器可以是 Exchange 2013、Exchange 2010 或 Exchange 2007。
注意
仅当交付组是 Active Directory 站点时,才会使用延迟扇出。 当多个收件人共享成本最低的路由路径的任何部分时,延迟扇出会尝试减少邮件传输数。
服务器列表:这是配置为通讯组扩展服务器的一个或多个 Exchange 2010 或 Exchange 2007 中心传输服务器或 Exchange 2013 邮箱服务器的集合。 通讯组扩展服务器是由此传递组提供服务的路由目标。
传递组成员身份并不相互排斥。 例如,作为 DAG 成员的 Exchange 2013 邮箱服务器也可以是作用域内发送连接器的源服务器。 此邮箱服务器属于 DAG 中邮箱数据库的可路由 DAG 传递组,以及作用域内发送连接器的连接器源服务器传递组。
下表根据所涉及的 Exchange 版本将路由目标映射到传递组:
Exchange 2013 邮箱服务器 | Exchange 2010 或 Exchange 2007 中心传输服务器 |
边缘传输服务器 在外围网络中 |
|
---|---|---|---|
DAG 中的邮箱数据库 | 可路由 DAG | 邮箱传递组 | 不适用 |
邮箱数据库不在 DAG 中 | 邮箱传递组 | 邮箱传递组 | 不适用 |
Connector | 连接器源服务器 | 连接器源服务器 | AD 站点 |
通讯组扩展服务器 | 服务器列表 | 服务器列表 | 不适用 |
队列
从发送服务器的角度来看,每个传递队列都表示特定消息的目标。 当 Exchange 2013 邮箱服务器上的传输服务选择邮件的目标时,目标在收件人上标记为 NextHopSolutionKey 属性。 如果向多个收件人发送一封邮件,则每个收件人都有 NextHopSolutionKey 属性。 接收服务器还执行邮件分类,并将消息排队等待传递。 在邮件排入队列后,您可以检查特定队列的传递类型,以确定邮件在到达下一个跃点目标时是否将被再次中继。 NextHopSolutionKey 属性的每个唯一值对应于单独的传递队列。
有关详细信息,请参阅 队列主题中的"NextHopSolutionKey"一节。
路由邮件
当邮件需要传递到远程传递组时,必须为邮件确定路由路径。 Exchange 2013 使用以下逻辑来选择邮件的路由路径。 此逻辑基本上与 Exchange 2010 相同:
通过将到达目标必须经过的 IP 站点链接的成本相加,计算出最低成本路由路径。 如果目标是连接器,则将为地址空间分配的开销加到通向所选连接器的开销中。 如果有多个可能的路由路径,则使用总成本最低的路由路径。
如果多个路由路径的总开销相同,将计算每个路径中的跃点数,并使用跃点数最少的路由路径。
如果仍有多个可用的路由路径,则会考虑分配给目标前面的 Active Directory 站点的名称。 在所使用的路由路径中,最接近目标的 Active Directory 站点的字母数字顺序最小。 如果所有被评估的路由路径中与目标最接近的站点为同一个,则考虑前一个站点名称。
在 Exchange 2010 中,每个邮件收件人始终仅与一个 Active Directory 站点关联,并且只有一个从源 Active Directory 站点到目标 Active Directory 站点的最小成本路由。 在 Exchange 2013 中,交付组可能跨越多个 Active Directory 站点,并且可能有多个到这些 Active Directory 站点的最小成本路由路径。 Exchange 2013 将目标传递组中的单个 Active Directory 站点指定为 主站点。 主站点是指根据前面介绍的路由逻辑得出的最接近 Active Directory 站点。 为了在传递组之间成功路由邮件,Exchange 2013 会考虑以下问题:
沿最低成本路由路径存在一个或多个中心站点:如果主站点的成本最低的路由路径包含任何中心站点,则必须通过中心站点路由消息。 会选择沿成本最低路由路径的最近中心站点作为类型 AD site 的新传递组,其中包括中心站点中的所有传输服务器。 在邮件经过中心站点之后,会继续沿成本最低路由路径路由邮件。 如果主站点碰巧就是中心站点,则出于以下原因仍将此主站点视为中心站点:
- 如果目标传递组跨多个 Active Directory 站点,则源服务器只应尝试连接到中心站点内的服务器。
- 中心站点中实际属于目标传递组的服务器是首选服务器。 与早期版本的 Exchange 一样,将忽略不在主站点的成本最低路由路径中的任何中心站点。
要在目标路由组中选择的目标 Exchange 服务器:当目标传递组跨越多个 Active Directory 站点时,到传递组中特定服务器的路由路径可能会产生不同的成本。 系统会根据成本最低路由路径选择位于最接近 Active Directory 站点中的服务器作为传递组的目标服务器,并会选择这些服务器所处的 Active Directory 站点作为主站点。
尝试连接到目标路由组中的所有服务器失败时的回退选项:如果目标传递组跨越多个 Active Directory 站点,则第一个回退选项是其他 Active Directory 站点中目标传递组中未选择为目标服务器的其他所有服务器。 服务器选择基于其他 Active Directory 站点的路由路径的成本进行。 如果目标传递组在本地 Active Directory 站点中有任何服务器,则不存在其他任何回退选项,因为邮件已尽可能接近于目标路由目标。 如果目标传递组在远程 Active Directory 站点中有服务器,则回退选项是尝试连接到主站点中的其他所有服务器。 如果失败,则使用指向主站点的成本最低路由路径中的回退路径。 Exchange 2013 尝试在建立连接之前,沿成本最低的路由路径逐个备份,以尽可能接近目标的方式传递邮件。
Routing messages between Active Directory sites
Exchange 2013 在 Active Directory 站点之间路由邮件的方式与 Exchange 2010 几乎相同。 有关详细信息,请参阅在 Active Directory 站点之间路由邮件。
客户端访问服务器上的前端传输服务中的路由
这充当 Exchange 2013 组织的所有入站和 ((可选)) 出站外部 SMTP 流量的无状态代理。 对于传出消息,传输服务使用发送连接器与客户端访问服务器上的前端传输服务进行通信。 具体而言,当适用发送连接器上的 FrontEndProxyEnabled 参数设置为 $true
时,或者在 Exchange 管理中心的发送连接器属性中选择了“ 通过客户端访问服务器 代理”选项时,传出邮件将通过前端传输服务代理, (EAC) 。 将选择本地 Active Directory 站点中的任何客户端访问服务器。 请注意,前端传输服务没有发送连接器。
对于传入邮件,前端传输服务必须在邮箱服务器上快速找到单个正常运行的传输服务,以接收邮件传输,而不管收件人的数量或类型如何。 否则会导致外部发件人认为电子邮件服务不可用。 与传输服务一样,前端传输服务根据 Active Directory 中的信息加载路由表,并使用传递组确定如何路由邮件。 不同的是,前端传输服务使用的路由表具有以下独特特征:
- 前端传输服务永远不会被视为传递组的成员,即使邮箱服务器和客户端访问服务器安装在同一物理服务器上也是如此。 这强制前端传输服务仅与传输服务通信。
- 路由表不包含任何发送连接器路由。
- 路由表包含本地 Active Directory 站点中邮箱服务器的特殊列表,以供快速故障转移时使用。
前端传输服务中的路由将邮件收件人解析为邮箱数据库。 前端传输服务使用的邮箱服务器的列表基于邮件收件人的邮箱数据库。 请注意,可能没有任何收件人具有邮箱(例如在收件人为通讯组或邮件用户时)。 对于每个邮箱数据库,前端传输服务会查找传递组和关联路由信息。 前端传输服务使用的传递组为:
- 可路由 DAG
- 邮箱传递组
- AD 站点
根据收件人的数量和类型,前端传输服务执行以下操作之一:
对于只有一个邮箱收件人的邮件,选择目标传递组中的邮箱服务器,然后根据 Active Directory 站点的邻近程度将此邮箱服务器设置为优先服务器。 将邮件路由到收件人可能涉及通过中心站点路由邮件。
对于具有多个邮箱收件人的邮件,使用前 20 个收件人,以便根据 Active Directory 站点的邻近程度选择最接近的传递组中的邮箱服务器。 请注意,邮件分叉不会在传输Front-End发生,因此最终只选择一个邮箱服务器,而不管邮件中的收件人数如何。
如果邮件没有邮箱收件人,则在本地 Active Directory 站点中随机选择一个邮箱服务器。
在邮箱服务器上的邮箱传输服务中路由
这包括两个单独的服务:邮箱传输提交服务和邮箱传输传递服务。 对于传入邮件,邮箱传输传递服务从传输服务接收 SMTP 邮件,并使用 RPC 连接到本地邮箱数据库以传递邮件。 对于传出邮件,邮箱传输提交服务使用 RPC 连接到本地邮箱数据库以检索邮件,并通过 SMTP 将邮件提交到传输服务。 邮箱传输服务是无状态的,不会在本地对任何邮件进行排队。
与传输服务一样,邮箱传输服务根据 Active Directory 中的信息加载路由表,并使用传递组确定如何路由邮件。 不同的是,邮箱传输服务具有以下独特的路由特征:
由于传输服务和邮箱传输服务位于同一 Exchange 2013 邮箱服务器上,因此邮箱传输服务始终属于邮箱服务器所在的同一传递组。 此传递组称为本地传递组。
邮箱传输提交服务不会自动将邮件发送给本地邮箱服务器上或自己的本地传递组中的其他邮箱服务器上的传输服务。 邮箱传输提交服务可以访问与传输服务相同的路由拓扑信息,因此邮箱传输提交服务可以将邮件发送到传递组外部的邮箱服务器上的传输服务。 本地传递组中的邮箱服务器用作回退选项,并用于传递给非邮箱收件人。
邮箱传输服务仅与 Exchange 2013 邮箱服务器上的传输服务通信。
邮箱传输服务仅与本地 Exchange 2013 邮箱服务器上的邮箱数据库通信。 邮箱传输服务从不与其他邮箱服务器上的邮箱数据库通信。
当用户从其邮箱发送邮件时,邮箱传输提交服务会将邮件收件人解析为邮箱数据库。 邮箱传输提交服务使用的邮箱服务器的列表基于邮件收件人的邮箱数据库。 请注意,可能没有任何收件人具有邮箱(例如在收件人为通讯组或邮件用户时)。 对于每个邮箱数据库,邮箱传输提交服务会查找传递组和关联路由信息。 邮箱传输提交服务使用的传递组为:
- 可路由 DAG
- 邮箱传递组
- AD 站点
根据收件人的数量和类型,邮箱传输提交服务执行以下操作之一:
对于只有一个邮箱收件人的邮件,选择目标传递组中的邮箱服务器,然后根据 Active Directory 站点的邻近程度将此邮箱服务器设置为优先服务器。 将邮件路由到收件人可能涉及通过中心站点路由邮件。
对于具有多个邮箱收件人的邮件,使用前 20 个收件人,以便根据 Active Directory 站点的邻近程度选择最接近的传递组中的邮箱服务器。
如果邮件没有邮箱收件人,则在本地传递组中选择邮箱服务器。
当邮箱传输传递服务从传输服务接收邮件时,它会接受或拒绝传递给本地邮箱数据库的邮件。 如果收件人驻留在本地邮箱数据库的主动副本中,则邮箱传输传递服务可以传递邮件。 但是如果收件人不驻留在本地邮箱数据库的主动副本中,则邮箱传输传递服务无法传递邮件,并且必须向传输服务提供未送达响应。 例如,如果邮箱数据库的主动副本最近移动到另一台服务器,则传输服务可能错误地将邮件传输到现在保存邮箱数据库非主动副本的邮箱服务器。 邮箱传输传递服务返回给传输服务的未送达响应包括:
- 重试传递
- 生成 NDR
- 重新路由邮件
在边缘传输服务器上的传输服务中路由
如果在外围网络中安装了边缘传输服务器,则边缘传输服务器上的传输服务为所有面向 Internet 的邮件流提供 SMTP 中继和智能主机服务。 来自 Internet 的邮件在边缘传输服务器上本地排队。 队列与外部域或发送连接器相对应。 有关详细信息,请参阅 队列主题中的"NextHopSolutionKey"一节。
通常情况下,当您在外围网络中安装边缘传输服务器时,会将边缘传输服务器订阅到 Active Directory 站点。 Active Directory 站点包含邮箱服务器,这些服务器将中继到边缘传输服务器以及从边缘传输服务器中继邮件。 边缘订阅流程为边缘传输服务器创建了 Active Directory 站点成员资格附属关系。 站点附属关系使 Active Directory 站点中的邮箱服务器能够将邮件中继到边缘传输服务器以传递到 Internet,而无需配置显式发送连接器。
在多站点配置中,从内部收件人到外部收件人的出站邮件首先路由到订阅的 Active Directory 站点。 目标 Active Directory 站点是交付组。 路由目标为订阅的 Active Directory 站点中任意邮箱服务器上的传输服务中的组织内发送连接器。 组织内发送连接器是每个邮箱服务器上的传输服务中的特殊发送连接器。 此发送连接器是隐式创建的,因此并不可见,也不需要管理,可用于在 Exchange 服务器之间中继邮件。
外部收件人的出站邮件从邮箱服务器路由到边缘传输服务器。 客户端访问服务器不涉及将邮件路由到订阅的边缘传输服务器。 邮件从邮箱服务器上的传输服务中的组织内部发送连接器传输到边缘传输服务器上的传输服务中的接收连接器。 在订阅的边缘传输服务器上,默认的接收连接器配置为侦听来自订阅 Active Directory 站点中的内部邮箱服务器的连接,以及来自 Internet 的匿名连接。 在边缘传输服务器上的传输服务对消息进行分类后,将使用在边缘订阅期间创建的专用发送连接器在本地排队将消息传送到 Internet。
来自外部收件人的入站邮件通过默认接收连接器到达边缘传输,邮件已分类并排队等待传递。 邮件通过专用的发送连接器中继,该连接器由 Edge 订阅创建,用于将邮件发送到 Exchange 组织。 邮件的下一步位置取决于内部 Exchange 服务器的配置方式。
邮箱服务器和客户端访问服务器安装在同一台计算机上:在此配置中,客户端访问服务器用于入站邮件流。 邮件从边缘传输服务器上的传输服务中的发送连接器流向客户端访问服务器上的前端传输服务中的默认接收连接器,然后流向邮箱服务器上的传输服务中的默认接收连接器。
安装在不同计算机上的邮箱服务器和客户端访问服务器:在此配置中,将绕过客户端访问服务器作为入站邮件流。 邮件从边缘传输服务器上的传输服务中的发送连接器流向邮箱服务器上的传输服务中的默认接收连接器。
如果在外围网络中安装了 Exchange 2007 或 Exchange 2010 边缘传输服务器,则入站和出站邮件流始终直接发生在边缘传输服务器和邮箱服务器之间。 不使用客户端访问服务器。