Применимо к: Exchange Server 2010 SP1

Последнее изменение раздела: 2010-03-18

Direct Push — это функция, встроенная в Microsoft Exchange Server 2010. Функция Direct Push поддерживает рабочее состояние мобильного телефона через подключение к сотовой сети. Когда новое содержимое готово для синхронизации с мобильным телефоном, на этот телефон отправляется уведомление.

Обзор

Для работы Direct Push необходимо иметь мобильный телефон или другое мобильное устройство, поддерживающее эту технологию. К таким устройствам относятся:

  • Мобильные телефоны под управлением Windows Mobile 5.0 с пакетом функций обмена сообщениями и обеспечения безопасности MSFP (Messaging and Security Feature Pack) или более поздней версией Windows Mobile.

  • Мобильные телефоны, которые произведены лицензиатами Microsoft Exchange ActiveSync и разработаны как совместимые с Direct Push.

По умолчанию технология Direct Push включена в Exchange 2010. Мобильные устройства с поддержкой технологии Direct Push отправляют продолжительные HTTPS-запросы на сервер под управлением Microsoft Exchange. Сервер Exchange отслеживает активность в почтовом ящике пользователя и при обнаружении каких-либо изменений, например появления новых или измененных сообщений электронной почты, элементов календаря или контактов, отправляет ответ на устройство. Если изменения происходят во время срока существования HTTPS-запроса, сервер Exchange выдает устройству ответ, сообщающий, что возникли изменения и устройство должно синхронизироваться с сервером Exchange. Затем устройство выдает серверу запрос. После завершения синхронизации создается новый долгоживущий HTTPS-запрос на повторный запуск процесса. Это гарантирует быструю доставку на мобильный телефон элементов электронной почты, календаря, контактов и задач, а также постоянную синхронизацию устройства с сервером Exchange.

Топология «Direct Push»

На следующем рисунке показана типичная топология Exchange 2010, настроенная для Direct Push. На этом рисунке предполагается, что роли сервера клиентского доступа и сервера почтовых ящиков установлены на двух отдельных компьютерах Exchange. Можно также установить обе роли сервера на один и тот же физический компьютер Exchange 2010.

Проектирование сети Direct Push

Топология Direct Push

Технология «Direct Push» функционирует следующим образом:

  1. Мобильный телефон, настроенный на синхронизацию с сервером Exchange 2010, выдает серверу HTTPS-запрос. Этот запрос называется PING. Запрос отдает команду серверу уведомлять устройство обо всех изменениях элементов в любой папке, настроенной на синхронизацию, в течение следующих 15 минут. В противном случае сервер должен вернуть сообщение «HTTP 200 OK». Затем мобильный телефон переходит в ждущий режим. 15-минутный временной диапазон называется интервалом подтверждения соединения.

  2. Если никакие элементы не изменяются в течение 15 минут, сервер возвращает ответ «HTTP 200 OK». Мобильный телефон получает этот ответ, возобновляет активность (выполняет возобновление работы) и повторно выдает запрос. Эти действия перезапускают процесс.

  3. При получении каких либо изменений элементов или новых элементов в течение 15-минутного интервала подтверждения соединения сервер отправляет ответ, сообщающий мобильному телефону о наличии нового или измененного элемента, а также имя папки, в которой он находится. После получения этого ответа мобильным телефоном выдается запрос на синхронизацию для папки, содержащей новые или измененные элементы. После завершения синхронизации мобильный телефон выдает новый ping-запрос, и весь процесс начинается снова.

Технология «Direct Push» зависит от сетевых условий, поддерживающих долгоживущий HTTPS-запрос. Если передающая сеть мобильного телефона или брандмауэр не поддерживает долговременные HTTPS-запросы, то HTTPS-запрос останавливается. Ниже приводится пошаговое описание работы Direct Push для случая, когда время ожидания подключения для передающей сети мобильного телефона равно 13 минутам.

  1. Мобильный телефон выдает серверу HTTPS-запрос. Запрос отдает команду серверу уведомлять устройство обо всех изменениях элементов в любой папке, настроенной на синхронизацию, в течение следующих 15 минут. В противном случае сервер должен вернуть сообщение «HTTP 200 OK». Затем мобильный телефон переходит в ждущий режим.

  2. Если сервер не отвечает в течение 15 минут, мобильный телефон возобновляет работу в предположении, что в сети было превышено время ожидания подключения к серверу. Устройство повторно выдает HTTPS-запрос, но на этот раз используется интервал подтверждения соединения, равный 8 минутам.

  3. По истечении 8 минут сервер отправляет сообщение «HTTP 200 OK». Затем устройство пытается установить более продолжительное подключение, выдавая серверу новый HTTPS-запрос, имеющий интервал подтверждения соединения, равный 12 минутам.

  4. Спустя 4 минуты принимается новое сообщение электронной почты и сервер в ответ отправляет HTTPS-запрос, который сообщает устройству о необходимости синхронизации. Устройство синхронизируется и повторно выдает HTTPS-запрос с интервалом подтверждения соединения, равным 12 минутам.

  5. Спустя 12 минут, если отсутствуют новые или измененные элементы, сервер отвечает, отправляя сообщение «HTTP 200 OK». Устройство возобновляет работу в предположении, что сетевые условия поддерживают интервал подтверждения соединения, равный 12 минутам. Затем устройство пытается установить более длительное подключение, повторно выдавая HTTPS-запрос с интервалом подтверждения соединения, равным 16 минутам.

  6. Спустя 16 минут никакого отклика от сервера не принимается. Устройство возобновляет работу в предположении, что сетевые условия не поддерживают интервал подтверждения соединения, равный 16 минутам. Так как эта ошибка возникла непосредственно после попытки устройства увеличить интервал подтверждения соединения, делается вывод, что интервал подтверждения соединения достиг максимума. Затем устройство выдает HTTPS-запрос с интервалом подтверждения соединения, равным 12 минутам, так как это был последний успешно действующий такой интервал.

Мобильный телефон пытается использовать самый продолжительный интервал подтверждения соединения, поддерживаемый сетью. Это увеличивает срок службы аккумулятора устройства и минимизирует объем данных, передаваемых по сети. Операторы мобильной связи могут задавать максимальное, минимальное и начальное значение интервала подтверждения соединения в параметрах реестра для мобильного телефона.

Настройка «Direct Push» для работы через брандмауэр

Чтобы технология Direct Push работала через брандмауэр, необходимо открыть TCP-порт 443. Этот порт необходим для протокола SSL (Secure Sockets Layer) и должен быть открыт между Интернетом и сервером клиентского доступа.

Помимо открытия портов на брандмауэре для оптимальной работы Direct Push следует увеличить значение времени ожидания соединения на брандмауэре с 15 минут по умолчанию до 30 минут. Максимальная длительность HTTPS-запроса определяется следующими параметрами:

  • Максимальное время ожидания соединения, устанавливаемое на брандмауэрах, управляющих трафиком из Интернета на сервер клиентского доступа

  • Время ожидания на брандмауэрах, устанавливаемое поставщиком услуг мобильной связи

При малом значении времени ожидания соединения устройство чаще инициирует новые HTTPS-запросы. Это может сократить срок службы батареи устройства. Для получения дополнительных сведений о настройке брандмауэра см. Документация на программный продукт ISA Server.