Ключ к общению между Интернетом вещей и людьми - протокол передачи данных

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

Шлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модульШлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модуль

MQTT

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

Шлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модульШлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модуль

Как работает MQTT

преимущество:

▪ Легкая версия для сетей с ограниченным доступом

▪ Гибкий выбор качества обслуживания с заданными характеристиками

▪ Стандартизировано Техническим комитетом OASIS

▪ Просто и быстро внедряется

недостаток:

▪ Высокое энергопотребление из-за соединения на основе протокола TCP

▪ Отсутствие шифрования

Типичные сценарии применения:

На крупных подземных парковках устанавливается множество парковочных датчиков, которые позволяют определять количество и расположение свободных парковочных мест.

XMPP

XMPP использует формат XML для обмена сообщениями. Главной особенностью этого протокола является его механизм адресации. Для идентификации устройств/узлов в сети IoT он использует адрес, называемый Jabber ID (JID). JID соответствует стандарту — name@domain.com. Этот механизм адресации позволяет двум узлам обмениваться информацией независимо от расстояния между ними в сети.

Сообщения XMPP, как правило, передаются по базовому TCP-соединению. Для определения адресата сообщения используется механизм опроса. XMPP реализован с использованием архитектуры «клиент-сервер». Клиент запускает поток XML, отправляя стартовый тег. Затем сервер отвечает клиенту, используя этот поток XML. Поскольку XMPP является открытым протоколом, любой пользователь может иметь собственный сервер XMPP в своей сети, не подключаясь к Интернету.

Шлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модульШлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модуль

Как работает XMPP

преимущество:

▪ Схема адресации для идентификации устройств в сети

▪ Архитектура «клиент-сервер»

недостаток:

▪ Обмен текстовыми сообщениями, сквозное шифрование не настроено

▪ Отсутствие норм, регулирующих качество обслуживания

Типичные сценарии применения:

Умный термостат, к которому можно получить доступ со смартфона через веб-сервер; игровая консоль, обеспечивающая обмен мгновенными сообщениями между двумя игроками в сети.

DDS

DDS также основан на модели «публикация-подписка». В отличие от MQTT, который подключает устройства к серверам, DDS соединяет их напрямую. Именно поэтому DDS работает быстрее, чем MQTT. По-видимому, он способен доставлять миллионы сообщений нескольким разным получателям за считанные секунды, поскольку исключает необходимость взаимодействия с сервером. DDS можно использовать для обеспечения связи между устройствами по шине данных. Он обеспечивает высокое качество обслуживания и надёжность.

Шлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модульШлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модуль

Как работает DDS

преимущество:

▪ Основано на простой парадигме взаимодействия «публикация-подписка»

▪ Гибкая и адаптивная архитектура, обеспечивающая “автоматическое обнаружение” новых или устаревших приложений на конечных устройствах

▪ Низкие накладные расходы — может использоваться с высокопроизводительными системами

▪ Детерминированная передача данных

▪ Динамически масштабируемый

▪ Эффективное использование пропускной способности канала передачи данных

Типичные сценарии применения:

Военные системы, ветровые электростанции, интеграция с больничными системами, медицинская визуализация, системы отслеживания активов, а также испытания и безопасность автомобилей.

AMQP

Протокол Advanced Message Queuing Protocol (AMQP) — это открытый стандарт протокола прикладного уровня, используемый для передачи транзакционных сообщений между серверами. Являясь промежуточным программным обеспечением, ориентированным на сообщения, он способен надёжно обрабатывать тысячи транзакций, находящихся в очереди. AMQP нацелен на предотвращение потери сообщений, поскольку их передача может осуществляться с использованием протоколов TCP или UDP. Использование протокола TCP обеспечивает надёжные соединения «точка-точка». Кроме того, конечная точка должна подтверждать приём каждого сообщения. Стандарт также описывает опциональный транзакционный режим с формальной многофазной последовательностью фиксации. AMQP ориентирован на отслеживание сообщений и обеспечение того, чтобы каждое сообщение было доставлено в соответствии с ожиданиями, независимо от сбоев или перезапусков.

Шлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модульШлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модуль

Как работает AMQP

преимущество:

▪ Сообщения можно отправлять по протоколам TCP и UDP

▪ Обеспечивает сквозное шифрование

недостаток:

▪ Относительно высокая загрузка ресурсов, т. е. потребление энергии и памяти

Типичные сценарии применения:

AMQP в основном используется для обмена деловыми сообщениями. Как правило, он определяет устройства, такие как мобильные телефоны, которые взаимодействуют с бэкэнд-центрами обработки данных.

Подведите итоги

Все перечисленные выше протоколы особенно хорошо подходят для различных сценариев эксплуатации. Любой протокол можно тщательно выбрать с учетом его преимуществ и недостатков при разработке приложений для Интернета вещей. Основными факторами, которые следует учитывать при выборе того или иного протокола для вашего приложения, являются качество обслуживания, безопасность и надежность, требуемые приложением.

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

↑