Протоколы «Интернета вещей»: основные сведения

Портал «МИР КОМПЬЮТЕРНОЙ АВТОМАТИЗАЦИИ»

МКА №1/2015
Стэн Шнайдер (Stan Schneider), технический эксперт


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

Чтобы успешно взаимодействовать с реальным миром, эти устройства должны совместно работать на таких скоростях и обладать такими возможностями, которые значительно превосходят те, которые нужны людям или используются людьми. «Интернет вещей» (Internet of Things – IoT) изменит мир, возможно, более основательно, чем современный Интернет, ориентированный на людей.

Введение

Сегодня Интернет обеспечивает соединение веб-сайтов и рабочих станций. В настоящее время в нём насчитывается гигантское количество сайтов – почти миллиард, что оказывает сильное влияние на все стороны нашей жизни (рис. 1).

Рис. 1. В последнее время отмечается резкое увеличение числа устройств с выходом в сеть

Рис. 1. В последнее время отмечается резкое увеличение числа устройств с выходом в сеть

С пугающей скоростью – всего за несколько лет – мобильная революция обеспечила сотовыми телефонами бóльшую часть населения мира. Имея в своем распоряжении более 5 миллиардов смартфонов, большинство людей уже имеет или вскоре получит мобильный доступ к сети.

Кроме того, в мире насчитывается 50 млрд интеллектуальных устройств. «Интернет вещей» позволит им устанавливать между собой связь и обеспечит создание в полном смысле слова распределённых приложений с межмашинной (machine-to-machine – M2M) связью. «Интернет вещей» в 50 раз превысит по объёму традиционный Интернет. Он обеспечит соединение в 10 раз большего числа устройств, чем это позволила в своё время сделать мобильная революция, и станет стимулом дальнейших преобразований нашей жизни.

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

Соединение устройств в таком масштабе позволяет создавать приложения, возможности которых поражают воображение. «Интернет вещей» обеспечит фундаментальные вещи, которые не были реализованы прежде. Некоторые представление об этих новых возможностях уже можно достаточно ясно себе представить.

Что такое «Интернет вещей»?

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

Крупные компании – игроки на поле информационных технологий – определяют понятие «Интернета вещей» по-разному. Cisco называет его «Интернетом всего» (или «Всеобъемлющим Интернетом» – Internet of Everything) и говорит, что это будет «последняя волна Интернета – соединение физических объектов для достижения более высокого уровня безопасности, комфорта и эффективности». IBM описывает «Интернет вещей» как «совершенно новую всемирную паутину, состоящую из сообщений, которые могут передавать между собой устройства в цифровой форме. Этот тот же самый Интернет, но другая сеть».

«Промышленный Интернет» (Industrial Internet) компании General Electric (GE) – пожалуй, наиболее захватывающая концепция, поскольку даёт возможность непосредственно представить себе новые приложения. С точки зрения GE промышленный Интернет представляет собой «объединение агрегатов и интеллектуальных данных с целью создания гениальных машин».

Девиз компании RTI – Your Systems. Working as One, то есть «Ваши системы. Работая как один». В компании настаивают на том, что «Интернет вещей» будет представлять собой совершенно новый сервис. Он будет таким же основательным, как сотовая сеть, GPS или сам Интернет.

Каждый описывает будущее по-своему, но все сходятся во мнении, что «Интернет вещей» и интеллектуальные системы, которые он позволит создать, принципиально изменят наш мир.

Обзор протоколов

Устройства (D) должны устанавливать друг с другом связь (D2D). Затем нужно собрать и передать данные с этих устройств в серверную (S) инфраструктуру (D2S). Эта серверная инфраструктура должна совместно использовать данные (S2S), имея возможность передавать данные обратно устройствам, программам анализа или людям. Если посмотреть «с высоты птичьего полёта», то можно выделить следующие протоколы для решения задач в этой инфраструктуре:

  • MQTT: протокол для сбора данных устройств и передачи их серверам (D2S);
  • XMPP: протокол для соединения устройств с людьми, частный случай D2S-схемы, когда люди соединяются с серверами;
  • DDS: быстрая шина для интегрирования интеллектуальных устройств (D2D);
  • AMQP: система организация очередей для соединения серверов между собой (S2S).

Каждый из этих протоколов широко распространён. Есть по крайней мере 10 вариантов реализации каждого из них. Понятно, что в них легко запутаться, так как на верхнем уровне они схожи. По сути, все четыре вышеперечисленных протокола представляют собой протоколы «Интернета вещей» реального времени с публикацией/подпиской, которые способны соединять тысячи устройств. Справедливость этого зависит от того, как Вы определяете термины «реальное время», «вещи» и «устройства».

На самом деле эти протоколы очень разные. Современный Интернет поддерживает сотни протоколов. «Интернет вещей» будет поддерживать ещё на сотни протоколов больше. Важно уяснить сферу применения каждого из них.

Простая схема, приведённая на рис. 2, отражает основные сценарии использования этих протоколов. Конечно, в действительности это не так просто. Например, «подсистема управления» (control plane), которая обеспечивает контроль за всеми соединениями и управление ими, достаточно сложна. Многие протоколы взаимодействуют именно в её рамках.

Рис. 2. Протоколы «Интернета вещей» и время реакции системы

Рис. 2. Протоколы «Интернета вещей» и время реакции системы

MQTT

Протокол MQTT (Message Queue Telemetry Transport) обслуживает сбор данных с устройств (рис. 3). Как следует из названия этого протокола, основное его назначение – телеметрия, или дистанционный мониторинг. Его задача состоит в сборе данных от множества устройств и передача этих данных в IT-инфраструктуру. Он предназначен для крупных сетей небольших устройств, которыми нужно управлять из облачной сети.

Рис. 3. Протокол MQTT реализует систему на основе звездообразной сети

Рис. 3. Протокол MQTT реализует систему на основе звездообразной сети

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

Для MQTT обычно используется архитектура звездообразной сети. Все устройства подключены к серверу концентратора данных, подобно новому решению MessageSight от IBM. Поскольку терять данные совсем не желательно, этот протокол работает поверх TCP, что обеспечивает простой и надёжный поток данных. В связи с тем, что эти данные использует IT-инфраструктура, вся система предназначена для простой передачи данных в системы предприятий и компаний, например такие, как ActiveMQ и сервисные шины предприятия (enterprise service buses – ESB).

Протокол MQTT обеспечивает такие приложения, как мониторинг утечек и контроль за возможной умышленной порчей нефтепроводной сети. Тысячи датчиков такой системы должны быть сосредоточены в одном месте для анализа. Когда в такой системе возникает какая-либо проблема, имеется возможность предпринять действия для коррекции этой проблемы. Другими приложениями для MQTT могут быть контроль потребления энергии, управление светом и даже интеллектуальное садоводство.

Этот протокол участвует в сборе данных от множества источников и делает их доступными для IT-инфраструктуры.

XMPP

Протокол XMPP поначалу назывался Jabber. Он был разработан для системы мгновенного обмена сообщениями для связи между людьми с помощью текстовых сообщений (рис. 4). XMPP означает Extensible Messaging and Presence Protocol, или расширяемый протокол обмена сообщениями и информацией о присутствии. И вновь название даёт неверное представление о целевом использовании, ведь присутствие означает непосредственное участие людей.

Рис. 4. Протокол XMPP обеспечивает обмен текстовыми сообщениями между точками доступа

Рис. 4. Протокол XMPP обеспечивает обмен текстовыми сообщениями между точками доступа

В протоколе XMPP используется текстовый формат XML в качестве встроенного типа, обеспечивая естественную связь между людьми. Подобно MQTT он работает по TCP или, возможно, по HTTP поверх TCP. Его преимуществом является метод адресации вида name@domain.com, который помогает соединять пользователей в огромном пространстве Интернета.

Применительно к «Интернету вещей» XMPP обеспечивает простой способ адресации устройств. Это особенно удобно, когда данные передаются между отдалёнными, чаще всего независимыми точками, как в случае связи между двумя абонентами. Этот протокол не обладает высокой скоростью. Фактически, в большинстве реализаций этого протокола используется метод опроса или проверки дополнений только по требованию. Протокол, называемый BOSH (Bidirectional streams over Synchronous HTTP) позволяет серверам принимать сообщения. Но масштаб «реального времени для XMPP близок к человеческому масштабу и измеряется в секундах.

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

DDS

В отличие от MQTT и XMPP протокол DDS (Data Distribution Service – сервис распределения данных) обслуживает устройства, которые непосредственно используют данные устройств. Этот протокол распределяет данные по другим устройствам (рис. 5). Хотя этот протокол поддерживает интерфейс с IT-инфраструктурой, основная задача DDS заключается в соединении устройств с другими устройствами. Это ориентированный на данные стандарт микропрограммного обеспечения, используемый в высокопроизводительных военных, промышленных и встраиваемых приложениях. Протокол DDS способен эффективно и синхронно доставлять множеству получателей миллионы сообщений в секунду.

Рис. 5. Протокол DDS реализует архитектуру публикации и подписки

Рис. 5. Протокол DDS реализует архитектуру публикации и подписки

Устройства запрашивают данные иначе, чем IT-инфраструктура. Во-первых, устройства работают быстро. Масштаб «реального времени» часто измеряется в микросекундах. Устройствам нужно осуществлять связь с другими устройствами, используя сложные пути, поэтому простые и надёжные двухточечные TCP-потоки данных ограничивают возможности такой передачи. Взамен этого DDS обеспечивает детализированный контроль качества сервиса (QoS), многоадресную передачу, перестраиваемую надёжность и всеобъемлющую избыточность. Кроме того, сильной стороной DDS является разветвление данных. Протокол DDS обеспечивает мощные способы фильтрации и отбора данных по адресам назначения, причём число синхронных получателей данных может исчисляться тысячами. Некоторые устройства довольно компактны, поэтому существуют облегчённые версии DDS, которые работают в условиях ограниченного объёма.

Для использования данных от устройств звездообразная сеть совершенно не годится. Вместо этого DDS реализует прямую шинную связь между устройствами на базе реляционной модели данных. В компании RTI её называют шиной данных (DataBus), поскольку это сетевой аналог базы данных (database).

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

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

AMQP

И наконец протокол AMQP (Advanced Message Queuing Protocol, или усовершенствованный протокол организации очереди сообщений), который иногда рассматривают как протокол «Интернета вещей» (протокол IOT). Как следует из названия AMQP обслуживает исключительно очереди (рис. 6). Он пересылает транзакционные сообщения между серверами. Этот протокол, в качестве ориентированного на сообщения промежуточного ПО, был создан для банковской отрасли и способен обрабатывать тысячи организованных в очередь транзакций.

Рис. 6. Протокол AMQP – ориентированное на сообщения промежуточное ПО, созданное для банковской отрасли

Рис. 6. Протокол AMQP – ориентированное на сообщения промежуточное ПО, созданное для банковской отрасли

В протоколе AMQP большое внимание уделено борьбе с потерей сообщений. Различные коммуникационные линии – от поставщиков контента до коммутаторов каналов и от списков очередности до пользователей – используют протокол TCP, который обеспечивает высоконадёжное двухточечное соединение. Кроме того, конечные точки должны подтверждать принятие каждого сообщения. Данный стандарт описывает также опциональный режим транзакций с формальной многофазной последовательностью обновления транзакций. Оставаясь верным своему происхождению в банковской отрасли, промежуточное программное обеспечение AMQP сфокусировано на слежении за всеми сообщениями и обеспечении их доставки по назначению, независимо от наличия сбоев и перезагрузки системы.

AMQP используется главным образом в обмене деловыми сообщениями. Обычно под «устройствами» понимают мобильные телефоны, поддерживающие связь с центрами обработки данных в операционных офисах. В случае «Интернета вещей» AMQP наилучшим образом подходит для реализации функций «подсистемы управления» (control plane) или аналитических функций на базе серверов.

Заключение

Для «Интернета вещей» требуется множество протоколов. Четыре типа протоколов, которые были рассмотрены в данной статье, заметно различаются между собой. Вероятно, проще всего классифицировать их по нескольким ключевым параметрам: качеству сервиса, адресации и приложению.

Контроль качества сервиса (QoS) значительно лучше характеризует протокол, чем тяжеловесное понятие «режима реального времени». Контроль качества сервиса связан с гибкостью доставки данных. Систему со сложным контролем качества сервиса труднее программировать, но на её основе можно построить приложение с более высокими требованиями.

Рассмотрим, например, такой показатель, как надёжность. Большинство протоколов работает поверх TCP, что обеспечивает простой уровень надёжности. Каждый байт, попадающий в коммуникационный канал, должен быть доставлен получателю, даже если понадобится выполнить множество попыток. Это реализуется просто и чаще всего без проблем, но не позволяет управлять синхронизацией. В случае медленного абонента одноканальный TCP-трафик дублируется.

По контролю качества сервиса заметно отличается от других протоколов протокол DDS, поскольку ориентирован на коммуникации между устройствами. Кроме надёжности, DDS обеспечивает также контроль так называемой «жизнеспособности» (при исследовании проблем), обнаружения и использования ресурсов, а также синхронизации.

Помимо этого, фундаментальной проблемой является поиск данных в огромной базе данных «Интернета вещей». Здесь с лучшей стороны проявляет себя протокол XMPP. Его схема адресации типа user@domain полностью использует правила, установившиеся в Интернете. Однако XMPP не способен запросто обрабатывать большие массивы данных, относящихся к одному серверу. Протокол MQTT, благодаря своей связи с сервером, справляется с подобной задачей лучше. Если Вы можете подключиться к такому серверу, то Вы соединяетесь с сетью. Очереди AMQP действуют подобно серверам, но для S2S-систем. И в этом случае DDS сильно отличается от других протоколов. Вместо сервера он использует специальный фоновый протокол, который автоматически отыскивает данные. DDS-системы обычно более ограниченны. Особого внимания требует поиск по распределённой сети (WAN) или обширным группам устройств.

Пожалуй, ключевые особенности протоколов зависят от их предполагаемого применения. Использование данных между устройствами в корне отличается от сбора данных на устройстве. Например, включение освещения (в этом случае оптимальным вариантом является XMPP) совершенно отличается от генерирования энергии (DDS), мониторинга линий передачи (MQTT) или анализа потребления энергии в центре обработки данных (AMQP).

Конечно, есть перекрывающиеся области применения протоколов. Например, DDS может обслуживать и принимать данные из облачных сред, а MQTT – передавать информацию обратно в устройства. Тем не менее основные задачи всех четырёх протоколов различны, различны архитектуры и возможности. Все эти протоколы критичны к (быстрой) эволюции «Интернета вещей». «Интернет вещей» – большое пространство, в котором существует множество протоколов. Поэтому к выбору оптимального протокола для своего приложения нужно подходить основательно, и объективно взвешивать все положительные и отрицательные свойства каждого из них.

Источник: http://electronicdesign.com/print/embedded/understanding-protocols-behind-internet-things