Профили плетения

Профили плетения

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

  • Протоколы
  • Роли протокола (издатель, подписчик)
  • Типы сообщений
  • Схемы и опубликованные данные
  • Коды состояния
  • Коды ошибок

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

Что касается обмена сообщениями, сообщения профиля обычно представляют собой общие сообщения, закодированные в Weave TLV. Однако, если пространство ограничено или нет необходимости в гибкости полезной нагрузки, TLV не используется. Echo и Heartbeat — это примеры профилей, которые не кодируют сообщения в TLV.

В Weave встроено множество профилей:

Профили
общее Каталог услуг Безопасность
Управление данными Эхо сердцебиение
Массовая передача данных Отчет о состоянии Описание устройства
Управление устройствами Службы времени пояс
сети подготовка ткани Предоставление услуг
Обновление программного обеспечения _
Туннелирование токенов

Давайте кратко рассмотрим некоторые из них.

Управление данными

Профиль управления данными управляет всеми запросами характеристик с использованием модели публикации-подписки. Почти все функции экосистемы Nest для повседневной работы отображаются на ресурсы и характеристики как часть схемы Weave.

Мы рассмотрим схему и профиль управления данными позже, но этот профиль является рабочей лошадкой Weave.

Например, для изменения состояния готовности Nest Secure с мобильного устройства используется управление данными. Профиль отправляет запросы от абонента (мобильного устройства) другим ресурсам в фабрике (Nest Secure и службе), которые подтверждают запрос, изменяют состояние готовности в схеме и отправляют ответы, подтверждающие изменение.

Эхо

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

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

Стук сердца

Профиль Heartbeat предоставляет средства для указания работоспособности одного узла другим узлам в сети. Пульс Weave обычно отправляется через регулярные промежутки времени. Если сообщение не получено до истечения настроенного тайм-аута, предполагается, что узел вышел из строя.

Сердцебиение — это то, как вы проверяете, подключен ли узел Weave к ткани. Например, пульсация используется между Nest Detects и Nest Guard, чтобы обеспечить работоспособность системы Nest Secure.

Массовая передача данных

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

BDX может работать с различными надежными транспортными протоколами, включая TCP и Weave Reliable Messaging.

Предоставление

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

Подготовка сети

Профиль Network Provisioning обрабатывает такие задачи, как сканирование сетей, а также добавление и включение их для ресурсов в структуре.

Предоставление услуг

Профиль Service Provisioning обрабатывает такие задачи, как связывание ресурсов с учетной записью или их регистрация в службе.

Предоставление ткани

Профиль Fabric Provisioning обрабатывает такие задачи, как создание, присоединение и выход из структуры или получение конфигурации ткани.

Резюме

Что вы узнали:

  • Большая часть функциональности Weave управляется профилей.
  • Профили — это прикладные протоколы, соответствующие определенному набору функций.
  • Каждый профиль имеет свой набор типов сообщений , обычно закодированных Weave TLV .