Оглавление
ToggleУстройства IoT используют различные протоколы связи и обмена сообщениями на разных уровнях. При разработке устройств IoT окончательный выбор часто определяется типом устройства, уровнями и функциями, которые оно должно выполнять. MQTT, XMPP, DDS, AMQP и CoAP — вот некоторые из протоколов связи, широко используемых на прикладном уровне в IoT. В этой статье мы рассмотрим преимущества и недостатки этих протоколов связи.


MQTT
MQTT — это протокол «машина-машина» (M2M). Это протокол обмена сообщениями, основанный на модели «публикация-подписка», предназначенный для передачи данных с устройств на сервер. Основное назначение MQTT — удаленное управление устройствами Интернета вещей (IoT). Он в основном используется в крупных сетях небольших устройств, которые необходимо контролировать или управлять ими через Интернет, например, парковочные датчики, подводные линии, энергетические сети и т. д.


Как работает MQTT
преимущество:
▪ Легкая версия для сетей с ограниченным доступом
▪ Гибкий выбор качества обслуживания с заданными характеристиками
▪ Стандартизировано Техническим комитетом OASIS
▪ Просто и быстро внедряется
недостаток:
▪ Высокое энергопотребление из-за соединения на основе протокола TCP
▪ Отсутствие шифрования
Типичные сценарии применения:
На крупных подземных парковках устанавливается множество парковочных датчиков, которые позволяют определять количество и расположение свободных парковочных мест.
XMPP
XMPP использует формат XML для обмена сообщениями. Главной особенностью этого протокола является его механизм адресации. Для идентификации устройств/узлов в сети IoT он использует адрес, называемый Jabber ID (JID). JID соответствует стандарту — name@domain.com. Этот механизм адресации позволяет двум узлам обмениваться информацией независимо от расстояния между ними в сети.
Сообщения XMPP, как правило, передаются по базовому TCP-соединению. Для определения адресата сообщения используется механизм опроса. XMPP реализован с использованием архитектуры «клиент-сервер». Клиент запускает поток XML, отправляя стартовый тег. Затем сервер отвечает клиенту, используя этот поток XML. Поскольку XMPP является открытым протоколом, любой пользователь может иметь собственный сервер XMPP в своей сети, не подключаясь к Интернету.


Как работает XMPP
преимущество:
▪ Схема адресации для идентификации устройств в сети
▪ Архитектура «клиент-сервер»
недостаток:
▪ Обмен текстовыми сообщениями, сквозное шифрование не настроено
▪ Отсутствие норм, регулирующих качество обслуживания
Типичные сценарии применения:
Умный термостат, к которому можно получить доступ со смартфона через веб-сервер; игровая консоль, обеспечивающая обмен мгновенными сообщениями между двумя игроками в сети.
DDS
DDS также основан на модели «публикация-подписка». В отличие от MQTT, который подключает устройства к серверам, DDS соединяет их напрямую. Именно поэтому DDS работает быстрее, чем MQTT. По-видимому, он способен доставлять миллионы сообщений нескольким разным получателям за считанные секунды, поскольку исключает необходимость взаимодействия с сервером. DDS можно использовать для обеспечения связи между устройствами по шине данных. Он обеспечивает высокое качество обслуживания и надёжность.


Как работает DDS
преимущество:
▪ Основано на простой парадигме взаимодействия «публикация-подписка»
▪ Гибкая и адаптивная архитектура, обеспечивающая “автоматическое обнаружение” новых или устаревших приложений на конечных устройствах
▪ Низкие накладные расходы — может использоваться с высокопроизводительными системами
▪ Детерминированная передача данных
▪ Динамически масштабируемый
▪ Эффективное использование пропускной способности канала передачи данных
Типичные сценарии применения:
Военные системы, ветровые электростанции, интеграция с больничными системами, медицинская визуализация, системы отслеживания активов, а также испытания и безопасность автомобилей.
AMQP
Протокол Advanced Message Queuing Protocol (AMQP) — это открытый стандарт протокола прикладного уровня, используемый для передачи транзакционных сообщений между серверами. Являясь промежуточным программным обеспечением, ориентированным на сообщения, он способен надёжно обрабатывать тысячи транзакций, находящихся в очереди. AMQP нацелен на предотвращение потери сообщений, поскольку их передача может осуществляться с использованием протоколов TCP или UDP. Использование протокола TCP обеспечивает надёжные соединения «точка-точка». Кроме того, конечная точка должна подтверждать приём каждого сообщения. Стандарт также описывает опциональный транзакционный режим с формальной многофазной последовательностью фиксации. AMQP ориентирован на отслеживание сообщений и обеспечение того, чтобы каждое сообщение было доставлено в соответствии с ожиданиями, независимо от сбоев или перезапусков.


Как работает AMQP
преимущество:
▪ Сообщения можно отправлять по протоколам TCP и UDP
▪ Обеспечивает сквозное шифрование
недостаток:
▪ Относительно высокая загрузка ресурсов, т. е. потребление энергии и памяти
Типичные сценарии применения:
AMQP в основном используется для обмена деловыми сообщениями. Как правило, он определяет устройства, такие как мобильные телефоны, которые взаимодействуют с бэкэнд-центрами обработки данных.
Подведите итоги
Все перечисленные выше протоколы особенно хорошо подходят для различных сценариев эксплуатации. Любой протокол можно тщательно выбрать с учетом его преимуществ и недостатков при разработке приложений для Интернета вещей. Основными факторами, которые следует учитывать при выборе того или иного протокола для вашего приложения, являются качество обслуживания, безопасность и надежность, требуемые приложением.
Любой протокол можно тщательно выбрать с учетом его преимуществ и недостатков для разработки приложений Интернета вещей. Основными факторами, которые необходимо учитывать при выборе транспортного протокола для приложения, являются качество обслуживания, безопасность и требуемый приложением уровень надежности.


