7 Основные протоколы связи Интернета вещей, которые должен знать каждый разработчик

Мины декабрь. 26. 2024
Оглавление

    Что такое Протоколы связи Интернета вещей?

    Протоколы Интернета вещей — это стандарты или “языки” используется машинами для общения друг с другом, или с платформами. По своим характеристикам и функциональности., эти протоколы в основном делятся на 3 типы: протоколы передачи, протоколы связи, и отраслевые протоколы.

    Протоколы передачи: используется устройствами для Сеть Интернета вещей и подключение внутри подсети, включая Wi-Fi, Bluetooth, Зигби, Ethernet, НФК, 3Г/4Г/5Г и т. д..

    Протоколы связи: используется для передачи данных между устройствами, работать над сетевым уровнем и предоставлять пользователям услуги прикладного уровня. Некоторые протоколы связи: MQTT, КоАП, HTTP/HTTPS, Вебсокет, AMQP.

    Отраслевые протоколы: стандартные протоколы в конкретной отрасли для обеспечения совместимости между устройствами, системы, платформы разных производителей и брендов, например JT/T 808 протокол связи автомобильного терминала в Китае.

    7 Essential IoT Communication Protocols

    Понимание 7 Протоколы связи Интернета вещей:

    Здесь вы найдете некоторые протоколы связи, используемые в индустрии Интернета вещей., включая:

    1. ОТДЫХ/HTTP

    Что такое ОТДЫХ

    ОТДЫХ (Представительская государственная передача)это архитектурный стиль, а не стандарты разработки сетевых приложений., typically uses HTTP as its transport protocol to implement its architectural principles.

    Функции:

    • Statelessness: Each request contains all necessary information, and the server does not maintain the client’s state.
    • Resource Identification: On the server side, the application state and functionality can be divided into various resources, which are exposed to the client. Examples of resources include application objects, database records, algorithms, и т. д.. Each resource is assigned a unique address using a URI (Universal Resource Identifier).
    • Uniform Interface: Use standard HTTP methods to manipulate resources, such as GET, POST, PUT, DELETE

    Приложение:

    REST/HTTP primarily aims to simplify the system architecture of the Internet, quickly achieving loose coupling between client and server interactions, thereby reducing interaction latency. Поэтому, it is suitable for IoT application, обеспечение доступа к ресурсам Интернета вещей через REST, разрешение вызова служб другими приложениями.

    2. КоАП

    Что такое КоАП

    КоАП (Протокол ограниченного приложения) предлагает простую и эффективную связь для устройств с ограниченными возможностями, что делает его идеальным для работы в режиме малой мощности., низкая пропускная способность, и среды с высокой задержкой.

    Функции:

    • Сжатие заголовка: CoAP имеет компактный двоичный заголовок с базой 4 байты, за которым следуют расширенные параметры, обычно это приводит к получению заголовка запроса 10-20 байты.
    • Методы и URI: Поддерживает ПОЛУЧИТЬ, PUT, POST, УДАЛИТЬ методы, и URI для доступа к ресурсам сервера.
    • Транспортный уровень: Построен на основе UDP для минимизации накладных расходов и поддержки многоадресной рассылки., с простым механизмом надежности с остановкой и ожиданием.
    • Асинхронная связь: В отличие от HTTP, CoAP поддерживает асинхронную связь, идеально подходит для приложений M2M.
    • Обнаружение ресурсов: Включает встроенный формат для обнаружения ресурсов., соответствует RFC 5785, использование /.well-known/core для описаний ресурсов.
    • Кэширование: Поддерживает кэширование описаний ресурсов для повышения производительности..

    Приложение:

    CoAP — это упрощенный RESTful API на основе HTTP.. CoAP — это протокол прикладного уровня в 6 Стек протоколов LoWPAN, подходит для IP-сетей связи с ограниченными ресурсами, такие как маломощные датчики и встроенные системы.

    3. MQTT

    Что такое MQTT

    Протокол MQTT использует шаблон публикации/подписки., где терминалы Интернета вещей обычно подключаются к брокеру MQTT через TCP. Брокер управляет содержимым связи через темы и отвечает за пересылку сообщений между устройствами..

    Функции:

    • Модель публикации/подписки: Клиенты могут публиковать сообщения в теме и подписываться на получение сообщений по определенным темам.. Эта модель обеспечивает гибкое распределение сообщений..
    • Низкая пропускная способность: Заголовок сообщения минимален, обычно только 2 байты, поддержка эффективного использования полосы пропускания и делает ее подходящей для низкой пропускной способности., высокая задержка, и нестабильные сети.
    • Надежность: MQTT предлагает три уровня QoS для доставки сообщений.: “максимум один раз,” “хотя бы один раз,” и “ровно один раз.”

    Приложение:

    MQTT обычно подходит для сбора данных об устройствах на конечных точках. (например, Устройство -> Сервер) и централизованная связь в звездообразной сетевой архитектуре, с брокером, выступающим в качестве хаба. Он широко используется в сценариях Интернета вещей, а также в некоторых мобильных приложениях., например Facebook Messenger (исторически).

    4. ДДС

    Что такое ДДС

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

    Функции:

    • Ориентированный на данные
    • Модель обмена сообщениями без брокерской публикации/подписки: Поддержка по принципу «точка-точка», точка-множество точек, и многоточечная связь.
    • Предложение до 21 Качество обслуживания (качество обслуживания) Политика

    Приложение:

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

    5. AMQP

    Что такое AMQP

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

    Функции:

    • Протокол проводного уровня: Передаёт данные по сети в виде потока байтов..
    • Высокая совместимость благодаря открытому стандарту
    • Гибкий & Безопасный: Поддерживает различные шаблоны обмена сообщениями, включая публикацию/подписку и двухточечное соединение. Он также включает в себя несколько механизмов безопасности., такие как шифрование и аутентификация.

    Приложение:

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

    6. XMPP

    Что такое XMPP

    В качестве протокола связи открытого стандарта, XMPP (Расширяемый протокол обмена сообщениями и присутствия) предназначен для общения в режиме реального времени, например, обмен мгновенными сообщениями и информация о присутствии.

    Функции:

    • Модель связи клиент/сервер: Клиенты отправляют запросы на сервер, который обрабатывает запросы и отправляет обратно соответствующий ответ или ресурс клиенту.
    • Распределенная сеть: Несколько независимых узлов образуют сеть, устранение единых точек отказа.
    • Простые клиенты: Клиенты решают меньше задач, при этом большая часть вычислений выполняется на стороне сервера.
    • XML используется для описания данных, обеспечение кроссплатформенной совместимости, хотя JSON стал более популярным в современных приложениях.

    Приложение:

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

    7. JMS

    Что такое ЖМС

    JMS (Служба сообщений Java) — стандартный API платформы Java для обмена сообщениями в распределенных приложениях.. Это позволяет приложениям взаимодействовать через очереди сообщений., тем самым достигая асинхронного, гибкий, и надежный обмен сообщениями.

    Функции:

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

    Приложение:

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

    Сравнение протоколов связи Интернета вещей

    Особенность ДДС MQTT AMQP XMPP JMS ОТДЫХ/HTTP КоАП
    Абстракция Паб/Саб Паб/Саб Паб/Саб ЧТО Паб/Саб Запрос/Ответ Запрос/Ответ
    Архитектура Глобальное пространство данных Прокси P2P или прокси ЧТО Прокси Через гарантию TCP P2P
    качество обслуживания 22 типы 3 типы 3 типы ЧТО 3 типы Подтвердите через TCP или подтвержденные сообщения Да
    Совместимость Да Частично Да ЧТО Нет Да Да
    Производительность 100,000 сообщение/с/подписка 1,000 сообщение/с/подписка 1,000 сообщение/с/подписка ЧТО 1,000 сообщение/с/подписка 100 требования/с 100 требования/с
    В режиме реального времени Да Нет Нет Нет Нет Нет Да
    Транспортный уровень Поддерживает UDP и TCP TCP TCP Не указан, обычно TCP TCP UDP UDP
    Фильтрация подписок Фильтрация сообщений по содержанию и темам Многоуровневая подписка на основе тем и содержания сообщений. Фильтрация очередей и сообщений ЧТО Фильтрация содержимого сообщений и тем Не поддерживается Поддерживает тему и многоадресную рассылку
    Кодирование Двоичный Двоичный Двоичный XML-формат Двоичный Обычный текст Обычный текст
    Динамическое обнаружение Да Нет Нет ЧТО Нет Нет Нет
    Безопасность Обеспечивает ФСС, ТЛС, и другие варианты безопасности Простое имя пользователя/пароль, SSL-шифрование данных Шифрование данных SASL и TLS ЧТО Обеспечивает ФСС, ТЛС, Поддержка JAAS API Общая поддержка SSL и TLS Общая поддержка SSL и TLS

     

    Заключение

    MQTT, ДДС, AMQP, XMPP, JMS, ОТДЫХ, и CoAP — широко используемые протоколы, каждый с несколькими реализациями, которые заявляют о поддержке публикации/подписки IoT-коммуникаций в реальном времени.. Однако, при проектировании конкретных системных архитектур Интернета вещей, важно учитывать фактические потребности в связи в данном сценарии, например, ограничения пропускной способности., требования к задержке, и безопасность — прежде чем выбрать наиболее подходящий протокол.

    Следующий: LoRaWAN против Зигби: В чем разница?
    Предыдущий: Вершина 5 Советы по безопасности на рабочем месте в 2025: Технология Интернета вещей обеспечивает безопасность работников