|
|
-
Перед тем как говорить о том, как работает маршрутизация, попробуем посмотреть когда сообщения маршрутизируются в Exchange 2007, и что происходит перед и после этого. Маршрутизация - это одна из функций компонента под названием Категоризатор (Categorizer), место которого в системе показано на следующем рисунке.

Как видно из рисунка (сильно упрощенно), Категоризатор отвечает за всю функциональность транспорта, которая не связана с "физическим" приемом и отправкой сообщений (протоколы) и хранением сообщений в очередях. Сообщения попадают в Категоризатор из Очереди входящих сообщений, которая формируется из сообщений, попавших в систему одним из следующих способов:
-
через SMTP от других Hub Transport, Edge Transport или Exchange 2000/2003 серверов, из Internet или от не-Exchange SMTP-серверов
-
через MAPI от Mailbox серверов, находящихся в том же AD Site, что и локальный Hub Transport сервер
-
сообщения могут быть "подобраны" из Pickup Directory
-
сообщения могут быть созданы и помещены в очередь программно (Агентами)
Пройдя через Категоризатор, сообщения помещаются в соответствующие очереди исходящих сообщений в зависимости от способа, которым осуществляется дальнейшая доставка:
-
SMTP очереди для связи с другими Hub Transport, Edge Transport или Exchange 2000/2003 серверами, Internet или не-Exchange SMTP-серверами
-
MAPI очереди для доставки сообщений в почтовые ящики, расположенные на Mailbox серверах, находящихся в том же AD Site, что и локальный Hub Transport сервер
-
сообщения могут быть сохранены в виде файлов в Drop Directory; этот механизм используется для связи с не-SMTP почтовыми системами.
Категоризатор состоит из 6 функциональных Стадий, через которые проходят сообщения, и следующий рисунок отображает их последовательность. Никаких промежуточных очередей сообщений между Стадиями нет.
-
1 Стадия - Событие OnSubmittedMessage: Все входящие сообщения обрабатываются Агентами, подписанными на событие OnSubmittedMessage. Типичный пример Агентов, работающих на этой стадии, это антивирусные программы.
-
2 Стадия - Resolver: Здесь происходит поиск адресов получателей и отправителей сообщений в Active Directory, "раскрытие" списков рассылки (DL expansion), проверка ограничений на отправку/прием сообщений и т.д. После этой стадии сообщения обычно содержат финальный список получателей, готовых к маршрутизации.
-
3 Стадия - Маршрутизация: Здесь принимаются решения, куда и как доставлять сообщения для разных получателей.
-
4 Стадия - Конвертирование: Здесь происходит конвертирование формата сообщений для внешних получателей (например из S/TNEF в HTML).
-
5 Стадия – Событие OnRoutedMessage: Возможность для Агентов обработать сообщения, "зная" информацию о маршрутизации всех получателей. Здесь реализуются такие функции как журнализация и Transport Rules.
-
6 Стадия – Помещение в очереди: Помимо указанной в названии стадии роли, здесь также реализована оптимизация выбранных маршрутов (Delayed Fanout).
Указанная выше информация относится к Hub Transport роли. Edge Transport серверы реализуют подмножество перечисленных функций и не включают прием и отправку сообщений через MAPI и поддержку Drop Directory. Категоризатор в Edge Transport не содержит Стадии 2 (Resolver) и 4 (Конвертирование).
|
-
Попробуем возобновить этот блог (благо Exchange 2007 почти готов) и начнем говорить о маршрутизации. Для начала попробую кратко перечислить, что нового в маршрутизации в Exchange 2007:
- Вместо специфических для Exchange понятий Routing Group и Routing Group Connector для описания сетевой топологии Exchange 2007 поддерживает используемые в Active Directory элементы AD Site и AD Site Link. Routing Group и Routing Group Connector используются только для взаимодействия с Exchange 2003/2000.
- Exchange 2007 больше не поддерживает Link State и связанную с этим динамическую маршрутизацию. Exchange 2007 всегда выбирает оптимальный (исходя из заданной в AD топологии) маршрут для каждого получателя, и этот маршрут никогда не будет заменен на менее оптимальный альтернативный маршрут из-за проблем с сетью или других причин.
- В маршрутизации для почтовых ящиков и Public Folders внутри организации никогда не используются SMTP коннекторы.
- Сообщения доставляются напрямую в AD Site получателя (direct delivery to destination) вместо того чтобы "делать остановки" в каждом AD Site, принадлежащем выбранному маршруту.
- Если проблемы с сетью (или другие проблемы) не позволяют установить связь напрямую с AD Site получателя, сообщения будут доставлены в AD Site, принадлежащий выбранному оптимальному маршруту и находящийся как можно ближе к AD Site получателя.
- В комбинации с EdgeSync маршрутизация сообщений между Edge Transport и Hub Transport серверами происходит автоматически.
- Вся конфигурационная информация, относящаяся к маршрутизации, и ее изменения сохраняются в лог-файлах, что позволяет диагностировать проблемы даже после того как конфигурация поменялась.
В следующий раз начнем более детальный разговор о том, как работает маршрутизация.
|
-
Довольно долгая пауза была вызвана проходящей на прошлой неделе в Бостоне конференцией TechEd, где Exchange 2007 был достойно представлен в различных презентациях, технических дискуссиях и т.д. Интерес к продукту был очень большой, и мы ("технические эксперты") без устали отвечали на различные вопросы пользователей.
Итак, как и было обещано, посмотрим на две транспортные роли и в чем между ними разница. Если вы уже устанавливали Exchange 2007, то вы видели, что после установки Edge Transport роли также как и Hub Transport роли на сервере появляется "Exchange Transport" сервис - основной сервис, в котором реализованы транспортные функции Exchange 2007. Структура директорий и большинство динамических библиотек для двух ролей также почти идентичны, и обе роли содержат SMTP стэк. Но несмотря на внешнее сходство, цели и сценарии для этих ролей сильно отличаются.
Hub Transport Server роль отвечает за Messaging Policies (журнализацию и любые другие правила), маршрутизацию и пересылку сообщений между Exchange серверами внутри корпоративной сети ("внутри организации"). Находясь внутри организации, серверы, на которых установлена Hub Transport роль, имеют доступ к Active Directory, и поэтому "знают", на каких серверах размещены какие почтовые ящики, какова топология сети с точки зрения Active Directory Sites и Site Links, где находятся коннекторы для связи с другими системами, DL Expansion серверы и т.д. Обладая всей этой информацией, Hub Transport серверы способны доставить сообщения в почтовый ящик любого сотрудника организации по оптимальному маршруту. Важно отметить, что благодаря автоматической репликации содержимого Active Directory между разными сайтами и Domain Controllers, изменения конфигурации могут быть сделаны администратором с любого сервера в сети, и об этих изменениях достаточно быстро "узнают" все Hub Transport серверы в организации.
Edge Transport Server роль устанавливается на серверах на периметре корпоративной сети (DMZ или "снаружи организации") и используется для контроля сообщений, приходящих в организацию из Internet и уходящих из организации в Internet. Основная цель Edge Transport - не пропустить спам и вирусы в корпоративную сеть, и Edge серверы используют целый набор спам-фильтров включая Recipient Filtering и Content Filtering. Статистика показывает, что доля спама в потоке сообщений, направляющихся в крупную организацию из Internet, достигает 90%. Без эффективной фильтрации сообщений на периметре сети, корпоративная сеть и e-mail серверы могут быть перегружены потоком ненужных сообщений, что экономически невыгодно и небезопасно, и Edge Transport роль специально разработана для решения этих проблем. Находясь на периметре сети и принимая "неаутентифицированные" соединения из Internet, Edge серверы могут часто подвергаться атакам, и поэтому минимизация Surface Area была одним из основных требований при разработке. Основное отличие Edge Transport роли - это что она не использует Active Directory и поэтому может быть установлена на сервер, не принадлежащий домену. Вместо Active Directory для хранения конфигурации в Edge роли используется ADAM (Active Directory Application Mode). Каждый Edge сервер использует свою собственную локальную ADAM Instance, в которой хранятся коннекторы для маршрутизации сообщений в корпоративную сеть и в Internet, хэшированная информация о всех пользователях, контактах, списках рассылки и прочих потенциальных получателях сообщений в организации (для Recipient Filtering) и другая конфигурационная информация.
Так как Edge роль не использует Active Directory, то изменения в конфигурации не попадают на Edge серверы через AD репликацию. Чтобы администраторам не приходилось конфигурировать каждый Edge сервер отдельно, в Exchange 2007 существует специальный механизм, который называется EdgeSync. EdgeSync достоин отдельной публикации, но вкратце скажу, что конфигурация для Edge серверов может быть создана в Active Directory внутри организации и с помощью EdgeSync доставлена на разные Edge серверы.
|
-
Exchange 2003 может быть установлен и функционировать на отдельном сервере в роли back-end (по умолчанию) или front-end (после дополнительной конфигурации). В Exchange 2007 таких ролей стало пять. Такое увеличение произошло по двум причинам. Во-первых, в Exchange 2007 появилась новая функциональность, не попадающая под имеющуюся классификацию. Во-вторых, существующие роли были конкретизированы, чтобы иметь возможность более гибко использовать доступные аппаратные ресурсы и устанавливать только те части продукта, которые будут реально использоваться данной компанией/организацией. В результате при установке Exchange 2007 доступны следующие серверные роли:
-
Mailbox Server роль - это база данных где хранятся почтовые ящики пользователей и Public Folders. Эта роль также отвечает за хранение и управление календарями.
-
Client Access Server роль - это новое название знакомой по Exchange 2003 роли front-end. Эта роль позволяет организовать доступ к почтовым ящикам через Web (OWA), с мобильных устройств, через POP и IMAP, а также Web Services для разработки и интеграции с другими приложениями.
-
Unified Messaging Server роль позволяет принимать и направлять в почтовые ящики пользователей факсовые и голосовые сообщения, таким образом предоставляя унифицированный доступ ко всем типам сообщений. Эта роль также организует доступ по телефону к почтовым ящикам и календарям пользователей с помощью системы распознавания речи.
-
Hub Transport Server роль отвечает за маршрутизацию и пересылку сообщений между Exchange серверами внутри корпоративной сети ("внутри организации"). Сразу отмечу, что без этой роли невозможно организовать пересылку сообщений по SMTP между разными Mailbox серверами в сети организации.
-
Edge Transport Server роль устанавливается на серверах на периметре корпоративной сети (DMZ или "снаружи организации") и используется для контроля сообщений, приходящих в организацию из Internet и уходящих из организации в Internet. Здесь сообщения проходят через анти-вирусные и анти-спам фильтры.
Все роли кроме Edge Transport или любую их комбинацию можно устанавливать на одном физическом сервере. При инсталляции Exchange 2007 также можно выбрать опцию "Admin only", и тогда будут установлены только инструменты для администрирования Exchange. Иногда "Admin only" упоминают как отдельную роль.
Как видно из списка, за транспорт в Exchange 2007 отвечают две роли. О том, почему их две, и в чем разница между "внутри организации" и "снаружи организации" для Exchange, мы поговорим в следующий раз.
|
-
|
Всем привет! Меня зовут Григорий Гуревич, и я один из разработчиков транспортного уровня Microsoft Exchange 2007. Чуть более детально, я занимаюсь разработкой системы маршрутизации сообщений (E-mail Routing) и системы категоризации получателей сообщений (неудачная попытка перевода Recipient Resolution, попробую придумать что-нибудь более благозвучное). Транспорт в Exchange 2007 довольно сильно отличается от Exchange 2003, так что если вы используете Exchange, нам будет что обсудить в этом блоге. До скорого!
|
|
|
|