Из Википедии, свободной энциклопедии
  (Перенаправлено из Bluetooth Mesh )
Перейти к навигации Перейти к поиску

Bluetooth Mesh - это стандарт компьютерной ячеистой сети, основанный на Bluetooth Low Energy, который обеспечивает связь "многие ко многим" по радио Bluetooth. Спецификации Bluetooth Mesh были определены в спецификациях Mesh Profile [1] и Mesh Model [2] специальной группой Bluetooth (Bluetooth SIG). Bluetooth Mesh был задуман в 2014 году [3] и принят 13 июля 2017 года . [4] ( 2017-07-13 )

Обзор [ править ]

Bluetooth Mesh - это стандарт ячеистой сети , работающий по принципу лавинной сети . Он основан на узлах, ретранслирующих сообщения: каждый узел ретрансляции, который получает сетевой пакет, который аутентифицируется по известному сетевому ключу, который не находится в кэше сообщений, с TTL ≥ 2, может быть повторно передан с TTL = TTL - 1. Кэширование сообщений используется для предотвращения ретрансляции недавно увиденных сообщений.

Связь передается в сообщениях, длина которых может достигать 384 байтов при использовании механизма сегментации и повторной сборки (SAR), но большая часть сообщений помещается в один сегмент, то есть 11 байтов. Каждое сообщение начинается с кода операции, который может быть одним байтом (для специальных сообщений), 2 байтами (для стандартных сообщений) или 3 байтами (для сообщений, зависящих от поставщика).

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

Каждое сообщение имеет порядковый номер, который защищает сеть от атак повторного воспроизведения.

Каждое сообщение зашифровано и аутентифицировано. Для защиты сообщений используются два ключа: (1) сетевые ключи - выделенные для одной ячеистой сети, (2) ключи приложений - специфичные для заданной функциональности приложения, например, включение света или перенастройка света.

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

Архитектура [ править ]

Bluetooth Mesh имеет многоуровневую архитектуру с несколькими уровнями, как показано ниже.

Топология [ править ]

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

Теоретические пределы [ править ]

Практические пределы технологии Bluetooth Mesh неизвестны. Некоторые ограничения, встроенные в спецификацию, включают:

Сетчатые модели [ править ]

Начиная с версии 1.0 спецификации Bluetooth Mesh [2], были определены следующие стандартные модели и группы моделей:

Модели фундамента [ править ]

Базовые модели определены в основной спецификации. Два из них обязательны для всех узлов сетки.

  • Сервер конфигурации (обязательно)
  • Клиент конфигурации
  • Сервер работоспособности (обязательно)
  • Клиент здоровья

Общие модели [ править ]

  • Универсальный сервер OnOff, используемый для представления устройств, которые не соответствуют ни одному из определенных описаний модели, но поддерживают общие свойства включения / выключения.
  • Сервер общего уровня, сохраняющий состояние элемента в виде 16-битного целого числа со знаком
  • Общий сервер времени перехода по умолчанию, используемый для представления времени перехода по умолчанию для различных устройств
  • Универсальный сервер Power OnOff и Generic Power OnOff Setup Server, используемые для представления устройств, которые не соответствуют ни одному из описаний модели, но поддерживают общие свойства включения / выключения.
  • Сервер общего уровня мощности и Сервер настройки общего уровня мощности, включая текущее состояние общей мощности, последнее состояние общей мощности, состояние по умолчанию для общей мощности и состояние общего диапазона мощности
  • Generic Battery Server, представляющий набор из четырех значений, представляющих состояние батареи.
  • Универсальный сервер определения местоположения и универсальный сервер настройки местоположения, представляющий информацию о местоположении элемента, либо глобальную (широта / долгота), либо локальную
  • Общий сервер свойств пользователя / администратора / производителя / клиента, представляющий любое значение, которое будет сохранено элементом
  • Стандартный клиент OnOff и клиент общего уровня
  • Стандартный клиент времени перехода по умолчанию
  • Стандартный клиент Power OnOff и универсальный клиент уровня мощности
  • Стандартный аккумуляторный клиент
  • Универсальный клиент местоположения
  • Типовой клиент недвижимости

Датчики [ править ]

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

Время и сцены [ править ]

  • Сервер времени и Сервер настройки времени, позволяющий синхронизировать время в ячеистой сети
  • Сервер сцен и сервер настройки сцен, позволяющий настраивать и вызывать до 65535 сцен при необходимости.
  • Сервер планировщика и Сервер установки планировщика
  • Клиент времени, Клиент сцены и Клиент планировщика

Освещение [ править ]

  • Сервер Lightness Server и Lightness Setup Server, представляющий регулируемый источник света
  • Light CTL Server, Light CTL Temperature Server и Light CTL Setup Server, представляющий CCT или «настраиваемый белый» источник света
  • Light HSL Server, Light HSL Hue Server, Light HSL Saturation Server и Light HSL Setup Server, представляющий источник света на основе цветового представления оттенка, насыщенности и яркости
  • Сервер Light xyL и Сервер установки Light xyL, представляющий источник света на основе измененного цветового пространства CIE xyY .
  • Свет LC (Освещенность управление) Сервер & Свет сервер Настройки LC, представляющие собой легкое устройство управления, способного управлять свет моделью Lightness , используя датчик присутствия и датчик внешней освещенности . Его можно использовать для сценариев управления освещением, таких как автоматическое включение, автоматическое выключение и / или сбор урожая при дневном свете .
  • Клиент Lightness, Клиент Light CTL, Клиент Light HSL, Клиент Light xyL и Клиент Light LC

Подготовка [ править ]

Подготовка - это процесс установки устройства в сеть. Это обязательный шаг для создания сети Bluetooth Mesh.

В процессе инициализации провайдер безопасно распределяет сетевой ключ и уникальное адресное пространство для устройства. Протокол обеспечения использует P256 Elliptic Curve Diffie-Hellman Key Exchange для создания временного ключа для шифрования сетевого ключа и другой информации. Это обеспечивает защиту от пассивного перехватчика. Он также предоставляет различные механизмы аутентификации для защиты сетевой информации от активного перехватчика, использующего атаку «человек посередине» , во время процесса инициализации.

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

Безопасность процесса инициализации была проанализирована в документе, представленном на конференции IEEE CNS 2018. [5]

Инициализация может выполняться с использованием соединения Bluetooth GATT или рекламы с использованием определенного канала-носителя. [1]

Терминология, используемая в спецификациях модели сети Bluetooth и профиля сети [ править ]

  • Место назначения: адрес, на который отправлено сообщение.
  • Элемент: адресуемая сущность в устройстве.
  • Модель: стандартизированная работа типичных пользовательских сценариев.
  • Узел: подготовленное устройство.
  • Provisioner: узел, который может добавить устройство в ячеистую сеть.
  • Ретранслятор: узел, способный повторно передавать сообщения.
  • Источник: адрес, с которого отправлено сообщение.

Реализации [ править ]

Одобрено ("квалифицировано") Bluetooth SIG [ править ]

Реализация программного обеспечения с открытым исходным кодом и бесплатным [ править ]

Реализации бесплатного программного обеспечения и программного обеспечения с открытым исходным кодом включают следующее:

  • Официальный (входит в ядро Linux от Linus Torvalds в 2001 [42] ) Linux Bluetooth стек протоколов BlueZ , двойной свободно под лицензией GPL [43] и LGPL , [44] поддерживает сетки профиля, от выпуска версии 5.47, [45 ] , предоставляя инструмент meshctl для настройки устройств сетки. BlueZ был одобрен как «квалифицированный» программный пакет Bluetooth SIG в 2005 году. [46] BlueZ не считается квалифицированным стеком Bluetooth Mesh, поскольку Bluetooth Mesh не указан в вышеупомянутой квалификационной записи как поддерживаемый профиль.
  • Apache Mynewt NimBLE , бесплатно лицензируемый по лицензии Apache License 2.0 , [47] поддерживает Bluetooth Mesh начиная с версии 1.2.0. [48] Он был квалифицирован 15 июля 2019 г. с QDID 131934. [36] ( 2019-07-15 )
  • Зефир OS Mesh , свободно под лицензией Apache License 2.0 , [49] поддерживает Bluetooth Mesh от выпуска версии 1.9.0. [50] Zephyr OS Mesh 1.14.x прошел аттестацию 20 сентября 2019 г. с QDID 139259. [36] ( 2019-09-20 )

Ссылки [ править ]

  1. ^ a b «Спецификация Mesh Profile Bluetooth®» (загрузка в формате PDF) . Веб-сайт технологии Bluetooth . 2017-07-13 . Проверено 18 июля 2017 .
  2. ^ a b «Спецификация Mesh Model Bluetooth®» (загрузка в формате PDF) . Веб-сайт технологии Bluetooth . 2017-07-13 . Проверено 18 июля 2017 .
  3. ^ «Ограничение диапазона? Какое ограничение диапазона? Введение в ячеистые сети | Веб-сайт технологии Bluetooth» . blog.bluetooth.com . Архивировано из оригинала на 2016-04-09 . Проверено 6 июля 2017 .
  4. ^ "Низкое энергопотребление: сетка | Веб-сайт технологии Bluetooth" . www.bluetooth.com . Архивировано из оригинала на 2017-09-01 . Проверено 18 июля 2017 .
  5. ^ Adomnicai, A .; Фурнье, JJA; Массон, Л. (30.05.2018). «Угрозы безопасности оборудования для ячеистых сетей Bluetooth» . Конференция IEEE по коммуникациям и сетевой безопасности (CNS) 2018 : 1–9. DOI : 10.1109 / CNS.2018.8433184 . ISBN 978-1-5386-4586-4.
  6. ^ "QD ID 98880 | Launch Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 15 ноября 2017 .
  7. ^ "QD ID 98856 | Launch Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 15 ноября 2017 .
  8. ^ "QD ID 99282 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 15 ноября 2017 .
  9. ^ "QD ID 101318 | Launch Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 15 ноября 2017 .
  10. ^ "QD ID 101726 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 15 ноября 2017 .
  11. ^ "QD ID 102243 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 15 ноября 2017 .
  12. ^ "QD ID 106544 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 5 марта 2018 .
  13. ^ "QD ID 106546 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 5 марта 2018 .
  14. ^ "QD ID 104143 | Launch Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 5 марта 2018 .
  15. ^ "QD ID 109370 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 5 апреля 2018 .
  16. ^ «QD ID 110168 | Launch Studio - Подробная информация о листинге» . launchstudio.bluetooth.com . Проверено 5 апреля 2018 .
  17. ^ "QD ID 110202 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 5 апреля 2018 .
  18. ^ "QD ID 110569 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 3 мая 2018 .
  19. ^ Системы, eZ. «nRF5 SDK для Mesh / Bluetooth с низким энергопотреблением / Продукты / Главная - Беспроводные решения со сверхнизким энергопотреблением от NORDIC SEMICONDUCTOR» . www.nordicsemi.com . Проверено 3 мая 2018 .
  20. ^ "QD ID 115668 | Запустить Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 15 сентября 2018 .
  21. ^ "QD ID 116029 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 15 сентября 2018 .
  22. ^ "QD ID 115860 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 15 сентября 2018 .
  23. ^ "QD ID 119229 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 7 ноября 2018 .
  24. ^ "QD ID 119268 | Launch Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 7 ноября 2018 .
  25. ^ "QD ID 116593 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 21 декабря 2018 .
  26. ^ "QD ID 122442 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 21 декабря 2018 .
  27. ^ "QD ID 123056 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 21 декабря 2018 .
  28. ^ "QD ID 124137 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 24 января 2019 .
  29. ^ "QD ID 127926 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 14 апреля 2019 .
  30. ^ "QD ID 127646 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 14 апреля 2019 .
  31. ^ "QD ID 129750 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 6 мая 2019 .
  32. ^ "QD ID 130160 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 6 мая 2019 .
  33. ^ "QD ID 133403 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 19 июня 2019 .
  34. ^ "QD ID 128410 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 19 июня 2019 .
  35. ^ "QD ID 129291 | Запустить Studio - Детали листинга" . launchstudio.bluetooth.com . Проверено 27 августа 2019 .
  36. ^ a b c "QD ID 131934 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 27 августа 2019 .
  37. ^ "QD ID 128246 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 27 августа 2019 .
  38. ^ "QD ID 134454 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 27 августа 2019 .
  39. ^ "QD ID 137436 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 27 августа 2019 .
  40. ^ "QD ID 139259 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 12 марта 2020 .
  41. ^ "QD ID 144808 | Launch Studio - Подробная информация о листинге" . launchstudio.bluetooth.com . Проверено 1 июня 2020 .
  42. ^ "История BlueZ" . BlueZ . 2019-09-07.
  43. ^ "index: bluez.git - Стек протоколов Bluetooth для Linux - Марсель Хольтманн" . kernel.org . 1991. Архивировано 5 сентября 2019 года . Проверено 5 сентября 2019 .
  44. ^ "index: bluez.git - Стек протоколов Bluetooth для Linux - Марсель Хольтманн" . kernel.org . 1999. Архивировано 5 сентября 2019 года . Проверено 5 сентября 2019 .
  45. ^ «BlueZ» Архив блога »Выпуск BlueZ 5.47» . www.bluez.org . Проверено 27 октября 2017 .
  46. ^ «Квалифицированная информация о продукте» . Bluetooth SIG . Архивировано 5 сентября 2019 года . Проверено 5 сентября 2019 .
  47. ^ "apache / mynewt-core / ЛИЦЕНЗИЯ" . GitHub . 2018-06-04. Архивировано 5 сентября 2019 года . Проверено 5 сентября 2019 .
  48. ^ «RN-1.2.0 - Apache Mynewt - Фонд программного обеспечения Apache» . cwiki.apache.org . Проверено 2 июля 2018 .
  49. ^ "zephyrproject-rtos / zephyr / blob / master / LICENSE" . GitHub . 2020-03-21. Архивировано 21 марта 2020 года . Проверено 21 марта 2020 .
  50. ^ «Примечания к выпуску Zephyr Kernel 1.9.0» . docs.zephyrproject.org . Проверено 21 марта 2020 .