Пользователи из сферы бизнеса нуждаются в доступе к электронной почте везде и всегда. Exchange Server 2003 давно располагает функциями для мобильных пользователей электронной почты, в том числе Always Up-To-Date (AUTD), которая совместно с Exchange ActiveSync (EAS) автоматически синхронизирует беспроводное мобильное устройство с данными почтового ящика пользователя Exchange. Во втором пакете обновлений (SP2) мобильная функциональность Exchange 2003 значительно расширена, особенно в области безопасности и синхронизации с использованием технологии Direct Push. Еще один новый мобильный компонент описан во врезке «Поиск в списке глобальных адресов». В данной статье речь идет о том, как EAS, AUTD и технология Direct Push обеспечивают принудительную доставку почтовых сообщений с сервера Exchange на мобильное устройство, рациональное использование полосы пропускания и снижение расходов на оплату услуг беспроводной связи.

EAS: фундамент Direct Push

Служба EAS была частью Exchange 2003 начиная с первой производственной (RTM) версии Exchange 2003. EAS — протокол синхронизации на основе HTTP и XML, оптимизированный для сетей с большими задержками и малой пропускной способностью, и клиентов с малыми ресурсами (памятью, жестким диском и процессором). Среди прочих преимуществ EAS — возможность работать с четырьмя основными типами данных (контакты, задачи, электронная почта, календарь); компонент встроен в Exchange; устанавливать программное обеспечение на настольном компьютере не требуется; знакомая процедура установки через диспетчер Exchange System Manager (ESM).

Другие полезные качества EAS — фильтрация, усечение, интеллектуальные ответы и переадресация. Цель всех этих функций — сэкономить полосу пропускания канала связи мобильного устройства, ограничивая объем загружаемой почты (например, 3 Кбайт, 5 Кбайт, только заголовки). Функции интеллектуального ответа и переадресации избавляют от необходимости загружать сообщение целиком, если требуется лишь ответить на него. Пользователь вводит текст ответа в устройство, а затем при прохождении почтового сообщения через почтовый сервер Exchange добавляет исходное сообщение к ответу, вновь обеспечивая экономию полосы пропускания. EAS также блокирует вложенные файлы с возможностью загрузить их по запросу (рекомендуется пользоваться блокировкой, так как в противном случае большой вложенный файл может парализовать соединение).

Архитектура EAS

В базовой архитектуре EAS не произошло серьезных изменений со времени Exchange 2000 Server и Microsoft Mobile Information Server (MIS) 2002, которые обеспечивали синхронизацию между Exchange 2000 и устройствами с Pocket PC 2002. На рис. 1 показана типичная конфигурация EAS. Как видно из схемы, в EAS используется стандартная инфраструктура Exchange, развернутая в компании, поэтому EAS без труда интегрируется с существующими системами.

Рисунок 1. Типичная конфигурация EAS
Можно задействовать существующий брандмауэр; чтобы настроить EAS на работу с ним, достаточно открыть порт 80 или 443, если используется Secure Sockets Layer (SSL), как рекомендуют специалисты Microsoft. Замечательна простота конфигурации, единственный дополнительный компонент которой — мобильное устройство.

Познакомимся с внутренними механизмами EAS. После того как с мобильного устройства будет установлена связь с сервером, в брандмауэр начнет поступать трафик из устройства. Если организована переадресация порта для стандартных брандмауэров или используется Internet Security and Acceleration Server (ISA Server), то трафик будет передан на внешний сервер Exchange и сформировано TCP-соединение. Затем устройство устанавливает связь с виртуальным каталогом Microsoft-Server-ActiveSync сервера Microsoft IIS. Функции каталога Microsoft-Server-ActiveSync реализованы фильтром Internet Server API (ISAPI), который управляет соединением. Затем пользователь проходит проверку подлинности, и Exchange инициирует запрос через службу DSAccess, чтобы отыскать свойства пользователя в Active Directory (AD) и определить, разрешается ли пользователю работать с EAS. Если это так, то внешний сервер Exchange обнаруживает внутренний сервер Exchange, в котором находится почтовый ящик пользователя. На данном этапе EAS передает соединение внутреннему серверу, но вместо того, чтобы передать соединение в виртуальный каталог Microsoft-Server-ActiveSync на внутреннем сервере, он подключается к виртуальному каталогу Exchange на внутреннем сервере. Мы видим, что в этом процессе EAS использует архитектуру Microsoft Outlook Web Access (OWA) и команды WWW Distributed Authoring and Versioning (WebDAV), уже реализованные Exchange, чтобы подключить мобильное устройство к Exchange.

Для такого перенаправления и использования OWA характерны две проблемы. Во-первых, необходимо правильно настроить проверку подлинности, с базовой проверкой на внешнем сервере Exchange и проверкой Integrated Windows в виртуальном каталоге внешнего сервера/Exchange. Во-вторых, из-за необходимости базовой проверки подлинности на внешнем сервере настоятельно рекомендуется применить SSL. Уточним, что если трафик передается напрямую через брандмауэр на внешний сервер, то сертификат SSL должен быть установлен на внешнем сервере как обычный Web-сертификат. Если для публикации EAS используется ISA, необходимо убедиться, что сертификат установлен на внешнем сервере, как и прежде, но доступен также и на ISA-сервере, чтобы его можно было использовать при настройке Web-прослушивателя. Использование SSL для защиты соединения между мобильным устройством и внешним сервером налагает новые требования. В частности, можно использовать только сертификаты, в которых указано имя хост-компьютера; сертификаты с универсальными подстановочными символами не годятся. Самое важное, что устройство должно доверять издателю SSL-сертификата, в противном случае синхронизация невозможна. Необходим сертификат из доверенного центра сертификации Certificate Authority (CA), такого как CyberTrust, Entrust, thawte или VeriSign, либо нужно импортировать корневой сертификат собственного частного источника в каждое устройство. Полный список корневых CA, которым доверяют устройства Window Mobile 5.0 с пакетом возможностей Windows Mobile 5.0 Messaging and Security Feature Pack (MSFP), приведен в таблице по адресу https://partner.microsoft.com/global/partner/40027352. Если используется собственный CA, то доставить корневой сертификат в устройство сложно, так как устройства в сети часто блокируются на прикладном уровне, чтобы воспрепятствовать установке программ. До появления MSFP можно было ввести в устройство корневой сертификат. Но теперь это сделать почти невозможно, если только поставщик мобильной связи (такой, как Orange в Великобритании) не предоставит подписанного приложения, чтобы сделать это за пользователя. В конечном итоге данное ограничение может повлиять на решение о покупке устройства или можно просто выбрать уже доверенный CA.

Принцип действия Direct Push

До появления Exchange 2003 SP2 существовало два варианта синхронизации мобильного устройства с почтовым ящиком: ручная настройка EAS на мобильном устройстве для синхронизации по расписанию и технология AUTD, реализованная в Exchange. С помощью AUTD сервер Exchange передает сообщение электронной почты в шлюз SMTP-to-Short Message Service (SMS), который в свою очередь передает SMS-сообщение в устройство, чтобы начать синхронизацию. Проблема с синхронизацией по расписанию заключается в том, что нельзя установить интервалы менее пяти минут. Другая проблема (особенно если оператор мобильной связи находится вне Северной Америки) заключается в том, что придется платить за каждый новый сеанс, который организуется каждый раз, когда данные передаются по каналу связи.

Идея AUTD хороша, но в действительности технология работала не столь успешно, по крайней мере в Европе, где немногие операторы мобильной связи предоставляют необходимый для AUTD шлюз SMTP/SMS. ИТ-подразделение Microsoft столкнулось с этой проблемой при внедрении мобильной системы обработки сообщений на базе Exchange 2003 во всемирной сети компании Microsoft. В результате проблема была устранена в технологии Direct Push в Exchange 2003 SP2. DirectPush (или AUTD v2) — технология синхронизации на базе IP, обладающая следующими преимуществами.

  • Стандартный план данных — единственная подписка, необходимая для синхронизации с Exchange (которая должна быть глобальной).
  • Не требуется развертывать дополнительную инфраструктуру в среде Exchange.
  • Для Direct Push не нужны SMS-оповещения.
  • Для использования Direct Push не требуется выполнять специальной настройки мобильного устройства.

Для Direct Push необходимо Windows Mobile 5.0-совместимое устройство с установленным пакетом MSFP. Список Windows Mobile 5.0-совместимых устройств опубликован в Web-дневнике Джейсона Лэнгриджа по адресу http://blogs.msdn.com/jasonlan/default.aspx.

Важно отметить, что, хотя в мобильных устройствах с MSFP функция DirectPush активна по умолчанию, устройства без MSFP все же могут выполнить синхронизацию вручную, по расписанию или через AUTD. В Exchange Server 2007 будут внесены изменения: функциональность на базе AUTD SMS будет исключена и останется только DirectPush. В Exchange 2003 SP2 обеспечивается удобное автоматическое переключение на Direct Push устройств, которые до этого использовали AUTD.

Какой же именно механизм применяется в Direct Push? DirectPush обеспечивает соединение HTTP Secure (HTTPS) между сервером Exchange и мобильным устройством. Сеанс поддерживается в активном состоянии с помощью периодических контрольных сообщений. Сервер Exchange может известить мобильное устройство об изменениях в почтовом ящике, связанном с устройством; если в почтовом ящике происходит изменение, то сервер может запустить процедуру синхронизации. Устройство поддерживает открытым сеанс с сервером Exchange, поэтому может показаться, что расходы на оплату связи будут весьма высокими. Однако устройство просто ожидает ответа; оно не передает и не принимает данных, поэтому платить за них не придется. Поскольку синхронизация выполняется только при изменениях в почтовом ящике, как в случае с синхронизацией вручную и по расписанию, устройство потребляет меньше энергии (экономятся как деньги, так и заряд батарей). Кроме того, любые данные, пересылаемые в процессе синхронизации между почтовым ящиком и мобильными устройствами, сжимаются с применением алгоритма GNU zip (gzip).

Рисунок 2. Процесс синхронизации Direct Push
На рис. 2 показаны основные этапы синхронизации Direct Push. Сначала мобильное устройство тестирует сервер и проходит процедуру синхронизации EAS, как описано выше. Обратите внимание, что команда EAS Ping — совершенно новая и предназначена исключительно для Direct Push; она не имеет ничего общего с Ping протокола ICMP, поэтому можно не опасаться, что тестирование будет заблокировано брандмауэром. В конце синхронизации устройство посылает EAS Ping на внешний сервер Exchange, со значением тайм-аута 15 минут, что позволяет поддерживать соединение открытым в течение 15 минут после последней команды Ping. В течение следующего 15-минутного периода, если в контролируемых папках почтового ящика ничего не изменилось, происходит тайм-аут Ping, и внешний сервер посылает в мобильное устройство запрос для следующего Ping. Этот процесс продолжается до тех пор, пока в контролируемых папках почтового ящика не произойдет изменение. Затем внешний сервер использует существующее соединение HTTPS, чтобы оповестить устройство о произошедших переменах. Устройство запускает синхронизацию, но синхронизирует только папку, в которой находится сообщение, а не весь почтовый ящик пользователя, что позволяет сэкономить полосу пропускания и расходы на оплату пересылки данных.

Ping: знакомимся ближе

Как происходит тестирование? Как видно из примера сетевой трассировки на экране 1, мобильное устройство устанавливает новое соединение и указывает серверу Exchange папки, о которых нужно выдавать оповещение, наряду с предпочтительным интервалом контрольных сообщений в секундах (задается тэгом Lifetime), в течение которого будет ожидаться сигнал от сервера. EAS создает подписки для внутреннего сервера Exchange с использованием команд WebDAV SUBSCRIBE и UNSUBSCRIBE. Как отмечалось ранее, если в течение 15 минут на сервер Exchange не поступило новых почтовых сообщений, устройство вновь посылает в сервер Exchange контрольный сигнал. Отметим, что после первой команды Ping последующие сигналы имеют минимальный размер, так как между тэгами Ping не требуется никакой дополнительной информации. Если мобильное устройство посылает Ping через существующее соединение, то повторной проверки подлинности не требуется.

Экран 1. Образец сетевой трассировки показывает команду EAS Ping
Если в период тайм-аута Ping происходит изменение (поступает новое почтовое сообщение), то внутренний сервер Exchange извещает внешний сервер об изменении через UDP-порт 2883, и внешний сервер информирует устройство о почтовом сообщении в конкретной папке или папках. Поэтому важно, чтобы UDP-порт 2883 между внешним и внутренним сервером оставался открытым, хотя при необходимости номер порта можно изменить. Код состояния рядом с тэгом (экран 2) указывает на успех, неудачу, тайм-аут и т. д. Если изменилась сама иерархия папок, то сервер сообщает устройству о необходимости запустить синхронизацию, вставляя тэги 0 в список изменившихся папок. Если состояние не указано, то предполагается код 1 (изменений нет).

Брандмауэры и Direct Push

Чтобы активизировать Direct Push в сети Exchange, нужно учесть некоторые требования к настройке брандмауэров. В частности, значения тайм-аута на пути от мобильного устройства к внешнему серверу должны быть больше интервала Ping. Если значения тайма-ута меньше интервала Ping, то соединение будет разорвано и устройству придется заново выдать команду Ping. Этапы настройки брандмауэра для работы с Direct Push зависят от типа брандмауэра. Сведения о настройке Direct Push и брандмауэра ISA Server 2004 приведены в статье Microsoft «Enterprise firewall configuration for Exchange ActiveSync Direct Push Technology» (http://support.microsoft.com/?kbid=905013). В этой статье содержится и дополнительная информация, которая поможет оценить различные варианты настройки брандмауэров.

Экран 2. Тэг <Status> указывает на ошибку в процессе синхронизации
После того как брандмауэр будет корректно настроен, необходимо подобрать значение тайм-аута для сервера IIS на внешнем сервере выбранного по умолчанию Web-узла. В сетях малых и средних предприятий с технологией Direct Push удобно выбрать значение от 15 до 30 минут (900-1800 секунд).

Экономичный и своевременный доступ

Direct Push — новейший этап эволюции технологии, которая применялась со времени выпуска Exchange 2003. Как показано в статье, Direct Push обеспечивает постоянный опрос сервера Exchange мобильным устройством и автоматическую синхронизацию с сервером только после поступления новых сообщений в почтовый ящик пользователя. Благодаря Direct Push пользователи устройств Windows Mobile 5.0 получают такой же своевременный доступ к электронной почте, календарям и контактам, как в офисе, причем по разумной цене.

Натан Уинтерс (articles@nathanwinters.co.uk) — консультант лондонской компании B2Lateral, имеющей сертификат Microsoft Gold Partner. Специализируется на Exchange и Active Directory; недавно организовал пользовательскую группу Microsoft Messaging and Mobility (http://www.mmmug.co.uk)

Дополнительные ресурсы

Пакет Windows Mobile 5.0 Messaging and Security http://www.microsoft.com/windowsmobile/business/5/default.mspx Enterprise firewall configuration for Exchange ActiveSync Direct Push Technology http://support.microsoft.com/?kbid=905013 Web-страница Mobility in Exchange Server 2003 http://www.microsoft.com/exchange/evaluation/features/mobility/default.mspx Web-страница новых мобильных функций в Exchange Server 2003 SP2 http://www.microsoft.com/technet/prodtechnol/exchange/2003/sp2mobility.mspx Поэтапное руководство по развертыванию устройств на основе Windows Mobile с Microsoft Exchange Server 2003 SP2 http://www.microsoft.com/technet/itsolutions/mobile/deploy/msfpdepguide.mspx Web-трансляция TechNet: Managing Windows Mobile-based Devices with the Messaging and Security Feature Pack http://msevents.microsoft.com/cui/webcasteventdetails.aspx?eventid=1032285688&eventcategory=4&culture=en-us&countrycode=us Web-дневник группы разработчиков Microsoft Exchange http://msexchangeteam.com/archive/2005/06/20/406586.aspx

Поиск в списке глобальных адресов

Exchange Server 2003 с пакетом обновления SP2 располагает новой командой, SEARCH, которая позволяет пользователю мобильного устройства выполнить поиск в списке глобальных адресов (Global Address List, GAL) с устройства. Благодаря SEARCH не требуется перемещать контакты в область персональных контактов устройства, чтобы пользоваться ими в дороге. Как и в случае с некоторыми другими мобильными функциями Exchange 2003 SP2, для работы с функцией поиска GAL необходим пакет функциональных дополнений Windows Mobile 5.0 Messaging and Security Feature Pack (MSFP).

Функция поиска GAL тесно интегрирована с интерфейсом мобильного устройства и проста в использовании. Она установлена и активна по умолчанию и не может быть отключена. Поиск можно вести из областей контактов или почтовых сообщений. Для этого достаточно ввести запрос поиска и выбрать из меню пункт Find Online. Критерий поиска должен быть как можно более узким, так как число обнаруженных объектов не превышает 100.

Строка запроса, введенная в устройстве, используется на сервере для поиска в Ambiguous Name Resolution (ANR) — индексируемых свойствах для всех почтовых объектов на сервере Exchange. Ответ содержит 10 ненастраиваемых свойств: имя, фамилию, отображаемое имя, местонахождение офиса, должность, компанию, рабочий телефон, мобильный телефон, псевдоним и адрес электронной почты.

Пользователям устройств Windows Mobile 2003 может пригодиться модуль расширения Microsoft Global Contact Access Pocket Outlook, который обеспечивает возможности, аналогичные поиску GAL, в устройствах, предшествующих Windows Mobile 5.0. Загрузить Global Contact Access можно по адресу http://www.microsoft.com/windowsmobile/downloads/global/default.mspx