Exchange 2013 Transport. Overview.

transportВсем привет!

На этот раз посмотрим, что из себя представляет транспортная система в Exchange 2013, какие изменения произошли с ней по сравнению с Exchange 2010 и как этим управлять. Не смотря на то что теперь отдельной транспортной роли и нету, этот компонент довольно большой и заслуживает отдельного рассмотрения.

Это будет цикл из нескольких статей. Первая часть – общий обзор транспортной системы в целом.


Список всех статей цикла “Exchange 2013 Transport”:

Архитектура транспортных служб

Итак. Напомню, что в Exchange 2010 транспортная система была представлена отдельной ролью – Hub Transport Role (про роль Edge Transport пока говорить не будем). В Exchange 2013 архитектура изменилась. Теперь разработчики оставили только 2 роли: Client Access и Mailbox, а все функции, которые ранее выполняла роль Hub Transport, теперь распределены между оставшимися ролями.

В общем виде транспортная система Exchange 2013 выглядит следующим образом (рисунок из библиотеки TechNet):

mailflow

Выглядит устрашающе. Давайте разбираться.

Как я уже говорил, все функции транспортной системы были разделены между двумя оставшимися ролями. Поделились они следующим образом:

  • Front End Transport service (Microsoft Exchange Frontend Transport, MSExchangeFrontEndTransport) – служба, которая располагается на сервере с ролью Client Access. Эта служба выполняет только прием (SMTP Receive компонент) и отправку (SMTP Send компонент) внешних писем по протоколу SMTP. Внешних в данном случае означает по отношению к Exchange организации, т.е., грубо говоря, в Интернет и из Интернета. Для определения Mailbox сервера, на который в дальнейшем переслать сообщение, используется модуль Hub Selector. В дополнение к этому, эта служба может выполнять различную фильтрацию почтового трафика (Protocol Agents): фильтрация по IP, фильтрация по получателю и т.д. По сути, может выполнять такую же фильтрацию, что и антиспам агенты в Exchange 2010, за исключением тех, которые фильтровали почту по содержимому. Отличительной особенностью этой службы является то, что письма не хранятся локально на сервере – транспортной очереди тут просто нету. Эта служба представляет собой исключительно SMTP прокси.
  • Transport service (Microsoft Exchange Transport, MSExchangeTransport) – служба, которая располагается на сервере с ролью Mailbox. Эта служба осуществляет основную доставку писем между транспортными службами Client Access и Mailbox ролей (компоненты SMTP Receive и SMTP Send). Дополнительно к этому, эта служба может осуществлять фильтрацию писем по содержимому и спам-фильтрацию (Protocol Agents). И так же, как и в транспортной роли Exchange 2010, эта служба выполняет категоризацию писем, чтобы определить получателей и возможный путь их доставки. В отличие от двух других транспортных служб, Transport Service имеет свою очередь (queue) и соответственно базу данных очередей (mail queue database).
  • Mailbox Transport service – служба, которая так же располагается на сервере с ролью Mailbox. Эта “служба” представляет собой на самом деле две службы: Mailbox Transport Delivery (Microsoft Exchange Mailbox Transport Delivery, MSExchangeDelivery) и Mailbox Transport Submission (Microsoft Exchange Mailbox Transport Submission, MSExchangeSubmission). Отличительной особенностью этих 2х служб является то, что только они могут напрямую работать с почтовой базой через протокол RPC (компоненты Store Driver Deliver и Store Driver Submit соответственно).

Взаимодействие транспортных служб

Как взаимодействуют эти службы при приеме/отправке сообщения рассмотрим на простом сценарии.

Сценарий 1. Входящее письмо.

  1. Внешний почтовый сервер (внешний по отношению к нашей организации) устанавливает SMTP соединение с компонентом SMTP Receive службы Front End Transport Service
  2. После фильтрации подключения (компонент Protocol Agents) выбирается наиболее подходящий сервер с ролью Mailbox (компонент Hub Selector) и передает письмо компоненту SMTP Send для дальнейшей отправки
  3. Компонент SMTP Send устанавливает очередное SMTP соединение к компоненту SMTP Receive службы Transport Service сервера с ролью Mailbox (при этом изначальное SMTP соединение внешнего сервера к серверу с ролью Client Access еще до сих пор открыто)
  4. Сообщение проверяется (компонент Protocol Agents) и затем становится в транспортную очередь. После этого первоначальная сессия от внешнего SMTP сервера к серверу с ролью Client Access завершается.
  5. После прохождения категоризации и определения пути до получателя (Categorizer, Routing Agents) письмо помещается в очередь на доставку и передается компоненту SMTP Send службы Transport Service для дальнейшей доставки.
  6. В зависимости от местонахождения получателя, служба Transport Service передает сообщение по протоколу SMTP либо службе Mailbox Transport Service на этом же сервере (если получатель находится на этом сервере), либо службе Mailbox Transport Service на другом сервере с ролью Mailbox (если получатель находится не на этом сервере)
  7. После получения письма компонентом SMTP Receive службы Mailbox Transport Service, с помощью протокола RPC (компонент Store Driver Deliver) совершается доставка письма в почтовую базу.

Управление настройками транспортных служб

Как вы помните, в Exchange 2010 посмотреть/изменить настройки можно было с помощью командлетов Get-TransportServer / Set-TransportServer соответственно. Если же теперь попробовать воспользоваться этими командлетами, то ошибки, как ни странно, при этом не будет, а будет всего-лишь предупреждение о том, что данный командлет устарел и будет удален в последующих версиях. Такая забота об администраторах радует.

get-transportserver

Тем не менее, теперь существуют 3 службы транспорта и для каждой службы есть своя пара командлетов для управления:

cmdlets

 


Читайте также:

комментария 2

  1. 08.06.2013

    […] Часть 1. Exchange 2013 Transport. Overview. […]

  2. 02.02.2014

    […] 1. Exchange 2013 Transport. Overview. Часть 2. Exchange 2013 Transport. Ports. Часть 3. Exchange 2013 Transport. Connectors. […]

Добавить комментарий