Протоколы передачи данных IoT

1. Определение

Протоколы передачи данных IoT – правила, определяющие способы обмена данными между объектами сети Интернета вещей.

2. История создания и развития

В связи с быстрым развитием Интернета вещей и исключительными особенностями данной сети (например, устройства с низким энергопотреблением, низкие скорости передачи и т.д.) возникла необходимость в создании протоколов, которые будут удовлетворять данным требованиям. 

Так заменой в сети IoT всем известного протокола HTTP является протокол CoAP, предназначенный для использования устройствами с низкой скоростью, высокими потерями, многоадресной рассылкой в сети. В 1999 году был представлен протокол MQTT (Message Queuing Telemetry Transport), но широко распространенным стал лишь после 2010 года. MQTT специализируется на низкоскоростных средах с высокой задержкой, поэтому хорошо подходит для обмена данными между машинами (M2M). В 2002 году была сформирована рабочая группа XMPP, для разработки протокола на основе Jabber для мгновенного обмена сообщениями. Рабочая группа сформировала четыре спецификации, которые были оформлены в качестве стандартов в 2004 году.

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

3. Технические характеристики

В общем случае протоколы делят на группы в зависимости от участка сети, на котором они используются. Так в рамках концепции Интернета вещей существуют следующие участки: сенсорный узел – сенсорный узел (самый распространенный протокол DDS), сенсорный узел – сервер (CoAP, MQTT, XMPP, STOMP), сервер – сервер (AMQP). Существует множество протоколов передачи данных, в качестве примера приведены самые популярные.

  • DDS (Data Distribution Service) – реализует шаблон публикации-подписки для отправки и приема данных, событий и команд среди конечных узлов. Узлы-издатели создают информацию, «topic» (темы, разделы: температура, местоположение, давление) и публикуют шаблоны. Узлам, заинтересовавшимся в данных разделах, DDS прозрачно доставляет созданные шаблоны. В качестве транспорта – UDP. Также DDS позволяет управлять параметрами QoS (качество облуживания).

  • CoAP (Constrained Application Protocol) – с точки зрения пользователя похож на протокол HTTP, но отличается малым размером заголовков, что подходит для сетей с ограниченными возможностями. Использует архитектуру клиент-сервер и подходит для передачи информации о состоянии узла на сервер (сообщения GET, PUT, HEAD, POST, DELETE, CONNECT). В качестве транспорта – UDP.

  • XMPP (Extensible Messaging and Presence Protocol) – давно используется в сети Интернет для передачи сообщений в режиме реального времени, благодаря формату XML подходит для использования в сетях IoT. Работает поверх архитектур издатель-подписчик и клиент-сервер. Также используется для адресации устройств в небольших сетях (адресация вида «name@domain.com»).

  • MQTT (Message Queue Telemetry Transport) – осуществляет сбор данных от множества узлов и передачу на сервер. Основывается на модели издатель-подписчик с использованием промежуточного сервера – брокера (приоритезация сообщений, формирование очередей и др.). В качестве транспорта – TCP. На основе MQTT был сформирован специализированный протокол MQTT-SN для сенсорных сетей.

4. Кейсы применения

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

5. Полезные ссылки

Читайте также