Открыть сервис

MAPI/RPC

MAPI/RPC — это протокол удалённого вызова процедур (RPC), используемый для взаимодействия клиентского приложения Microsoft Outlook с сервером Microsoft Exchange Server. Он представляет собой реализацию интерфейса программирования приложений MAPI (Messaging Application Programming Interface) поверх транспортного протокола RPC, обеспечивая прямой доступ к почтовому ящику, календарю, контактам и другим объектам на сервере в режиме реального времени. MAPI/RPC является одним из основных протоколов для работы с Exchange Server наряду с MAPI over HTTP, Outlook Anywhere (RPC over HTTP) и веб-сервисами Exchange (EWS).

История

Протокол MAPI/RPC был разработан корпорацией Microsoft в середине 1990-х годов как часть платформы Microsoft Exchange Server. Первоначально он использовался исключительно для взаимодействия между клиентом Microsoft Exchange Client (позднее — Outlook) и сервером Exchange Server 4.0, выпущенным в 1996 году. В основе протокола лежит технология Microsoft RPC (MS-RPC), которая, в свою очередь, базируется на стандарте DCE/RPC (Distributed Computing Environment / Remote Procedure Call), разработанном Open Software Foundation (OSF) в конце 1980-х годов.

С выходом Exchange Server 2003 (2003 год) протокол MAPI/RPC стал основным способом доступа к почтовым ящикам для клиентов Outlook. В Exchange Server 2007 (2007 год) появилась поддержка MAPI over HTTP, но MAPI/RPC оставался стандартным протоколом по умолчанию до версии Exchange Server 2013 Service Pack 1 (2014 год). Начиная с Exchange Server 2013 SP1, Microsoft рекомендовала использовать MAPI over HTTP как более современную и безопасную альтернативу, однако MAPI/RPC продолжал поддерживаться до Exchange Server 2019, после чего его использование было окончательно прекращено в пользу MAPI over HTTP.

Архитектура и принцип работы

MAPI/RPC работает по модели «клиент-сервер». Клиент (Outlook) инициирует RPC-соединение с сервером Exchange, используя динамический диапазон TCP-портов (обычно 1024–65535), хотя для первоначального подключения может использоваться статический порт 135 (Endpoint Mapper). После установления соединения клиент отправляет RPC-запросы, которые инкапсулируют MAPI-вызовы. Сервер обрабатывает запросы и возвращает результаты.

Протокол поддерживает два режима работы:

  • Онлайн-режим — клиент постоянно поддерживает соединение с сервером, получая обновления в реальном времени. Этот режим обеспечивает максимальную оперативность, но требует постоянного сетевого подключения.
  • Офлайн-режим — клиент работает с локальной копией данных (OST-файл), периодически синхронизируясь с сервером. Этот режим используется в конфигурациях с кэшированным режимом Exchange (Cached Exchange Mode), который был введён в Outlook 2003.

Компоненты протокола

MAPI/RPC включает несколько ключевых компонентов:

  • MAPI-интерфейс — набор COM-объектов и методов, определяющих логику работы с почтовыми ящиками, папками, сообщениями, календарями, контактами и задачами.
  • RPC-транспорт — уровень, обеспечивающий передачу MAPI-вызовов по сети. Использует протокол MS-RPC, который может работать поверх TCP/IP, Named Pipes или HTTP (в случае Outlook Anywhere).
  • Exchange Store — серверная часть, отвечающая за хранение и обработку данных. В Exchange Server 2010 и более ранних версиях это был отдельный процесс (store.exe), в более поздних версиях — интегрированная служба.

Классификация

MAPI/RPC относится к классу проприетарных протоколов обмена сообщениями, разработанных Microsoft. В зависимости от способа инкапсуляции различают:

  • Чистый MAPI/RPC — работает напрямую через TCP/IP, используя динамические порты. Требует открытия большого диапазона портов в брандмауэре, что усложняет настройку безопасности.
  • RPC over HTTP (Outlook Anywhere) — инкапсулирует RPC-трафик в HTTP-пакеты, что позволяет проходить через прокси-серверы и брандмауэры, использующие стандартные порты 80 и 443. Этот вариант был представлен в Exchange Server 2003 и стал популярным в корпоративных средах.
  • MAPI over HTTP — более современная версия, использующая HTTP/HTTPS как основной транспорт, без необходимости в RPC-уровне. Введён в Exchange Server 2013 SP1 и полностью заменил MAPI/RPC в Exchange Server 2019.

Характеристики

MAPI/RPC обладает рядом технических характеристик, определяющих его производительность и область применения:

  • Скорость передачи данных — в онлайн-режиме обеспечивает низкую задержку (менее 100 мс в локальных сетях) и высокую пропускную способность, достаточную для работы с большими вложениями (до 10 МБ и более).
  • Надёжность — протокол поддерживает механизмы повторной передачи и восстановления соединения при временных сбоях сети. Однако при длительных разрывах соединения (более 30 секунд) может потребоваться переподключение.
  • Безопасность — MAPI/RPC поддерживает аутентификацию Windows (NTLM, Kerberos) и шифрование трафика с помощью RPC Encryption (RC4 или AES). В версии RPC over HTTP возможно использование SSL/TLS для дополнительной защиты.
  • Масштабируемость — протокол оптимизирован для работы с Exchange Server, поддерживающим до нескольких тысяч одновременных подключений. Однако в крупных развёртываниях (более 10 000 пользователей) рекомендуется использовать MAPI over HTTP или EWS для снижения нагрузки на сервер.

Применение

MAPI/RPC в основном использовался в корпоративных средах, где развёрнуты Microsoft Exchange Server и Microsoft Outlook. Основные сценарии применения:

  • Обмен электронной почтой — отправка, получение и хранение сообщений с поддержкой вложений, форматирования HTML и подписей.
  • Управление календарём — создание, редактирование и синхронизация встреч, собраний и напоминаний.
  • Работа с контактами — хранение и синхронизация адресных книг и списков контактов.
  • Управление задачами — создание, назначение и отслеживание задач.
  • Доступ к общим ресурсам — работа с общими почтовыми ящиками, календарями и папками.

В России MAPI/RPC активно применялся в государственных учреждениях, банках и крупных предприятиях, использующих Exchange Server. Однако с переходом на импортозамещение и использованием альтернативных почтовых систем (например, CommuniGate Pro, VK WorkSpace, «Р7-Офис»), протокол MAPI/RPC утратил свою актуальность для многих организаций, так как эти системы часто поддерживают только IMAP, POP3 или EWS.

Критика

MAPI/RPC подвергался критике по нескольким причинам:

  • Сложность настройки — для работы в корпоративных сетях требуется открытие большого диапазона TCP-портов (от 1024 до 65535), что создаёт риски безопасности и усложняет конфигурацию брандмауэров. Решение RPC over HTTP частично решает эту проблему, но добавляет задержки.
  • Зависимость от Windows — протокол тесно связан с технологиями Microsoft (COM, RPC, Windows Authentication), что затрудняет его использование в не-Windows средах. Существовали сторонние реализации (например, для macOS через Outlook для Mac), но они имели ограниченную функциональность.
  • Производительность при высокой загрузке — в онлайн-режиме протокол генерирует значительный сетевой трафик (до 10–20 КБ на одно сообщение), что может приводить к перегрузке каналов связи в крупных организациях. Кэшированный режим снижает нагрузку, но требует дополнительного дискового пространства на клиенте.
  • Устаревание — с выходом Exchange Server 2019 Microsoft прекратила поддержку MAPI/RPC, рекомендовав использовать MAPI over HTTP. Это сделало протокол неактуальным для новых развёртываний.

Интересные факты

  • MAPI/RPC является одним из немногих протоколов, который поддерживает синхронизацию в реальном времени без использования веб-сервисов, что было уникальным для своего времени.
  • В Exchange Server 2003 и 2007 протокол MAPI/RPC использовался также для доступа к публичным папкам, которые были заменены на общие почтовые ящики в более поздних версиях.
  • В 2010 году Microsoft выпустила обновление, позволяющее использовать MAPI/RPC через IPv6, однако эта функция не получила широкого распространения.
  • В России протокол MAPI/RPC использовался в некоторых государственных информационных системах, например, в системе электронного документооборота «Дело» (совместно с Exchange Server), но с 2022 года многие организации перешли на отечественные решения.

Источники

  • Microsoft Corporation. «Exchange Server Protocols Overview». Microsoft TechNet, 2019.
  • Microsoft Corporation. «MAPI/RPC Protocol Specification». MSDN, 2015.
  • Microsoft Corporation. «Outlook Anywhere (RPC over HTTP) Deployment Guide». Microsoft TechNet, 2010.
  • Microsoft Corporation. «MAPI over HTTP Protocol». Microsoft Docs, 2020.
  • «Exchange Server 2019: What’s New and Deprecated». Microsoft, 2018.
  • «Протоколы обмена сообщениями в корпоративных сетях». Журнал «Системный администратор», № 4, 2017.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →