Посмотреть исходный код на GitHub
сети потоков
Сети потоков идентифицируются тремя уникальными идентификаторами:
- 2-байтовый идентификатор персональной сети (PAN ID)
- 8-байтовый расширенный идентификатор персональной сети (XPAN ID)
- Удобочитаемое имя сети
Например, сеть Thread может иметь следующие идентификаторы:
| Идентификатор | Ценить |
|---|---|
| ИНН | 0xBEEF |
| Идентификатор XPAN | 0xBEEF1111CAFE2222 |
| Название сети | yourThreadCafe |

При создании новой сети Thread или поиске существующей для присоединения устройство Thread выполняет активное сканирование сетей 802.15.4 в пределах зоны действия радиосвязи:
- Устройство передает запрос маяка 802.15.4 на определенном канале.
- В ответ любое устройство с поддержкой расширителя (ECD), находящееся в зоне действия, передает маяк, содержащий идентификатор сети Thread (PAN ID), идентификатор XPAN (XPAN ID) и имя сети.
- Устройство повторяет два предыдущих шага для каждого канала.
После того как устройство Thread обнаружит все сети в зоне действия, оно может либо подключиться к существующей сети, либо создать новую, если сети не обнаружены.
Установление связи в ячеистой сети
Thread использует протокол Mesh Link Establishment (MLE) для настройки каналов связи и распространения информации о сети на устройства Thread.
В конфигурации канала связи MLE используется для:
- Найдите ссылки на соседние устройства
- Определите качество связи с соседними устройствами.
- Установить связь с соседними устройствами
- Согласовать параметры соединения (тип устройства, счетчики кадров, время ожидания) с другими участниками сети.
Система MLE распространяет следующие типы информации на устройства, желающие установить связь:
- Данные о лидере (RLOC лидера, идентификатор раздела, вес раздела)
- Сетевые данные (префиксы в сети, автоматическая настройка адресов, более точные маршруты)
- Распространение маршрута
В Thread распространение маршрутов работает аналогично протоколу маршрутной информации (RIP), протоколу маршрутизации на основе вектора расстояний.
Создать новую сеть
Если устройство решает создать новую сеть, оно выбирает наименее загруженный канал и идентификатор PAN, не используемый другими сетями, затем становится расширителем Mesh-сети и выбирает себя лидером. Это устройство отправляет рекламные сообщения MLE другим устройствам 802.15.4, чтобы сообщить им о состоянии своего соединения, и отвечает на запросы Beacon от других устройств Thread, выполняющих активное сканирование.
Присоединяйтесь к существующей сети
Если устройство решает подключиться к существующей сети, оно настраивает свой канал, идентификатор PAN, идентификатор XPAN и имя сети в соответствии с целевой сетью посредством процедуры Thread Commissioning, а затем проходит процесс MLE Attach для подключения в качестве дочернего устройства (конечного устройства). Этот процесс используется для соединений «дочернее устройство — родительское».
- Дочерний узел отправляет многоадресный запрос родительскому узлу всем соседним устройствам в целевой сети, поддерживающим функцию расширителя.
- Все соседние расширители сетки (и резервные ECD, если маска сканирования запроса родительского узла включает резервные ECD) отправляют родительские ответы с информацией о себе.
- Ребенок выбирает родительское устройство и отправляет на него запрос на идентификацию ребенка .
- Родитель отправляет ответ с идентификатором дочернего узла для подтверждения установления связи.
1. Запрос родителей
Родительский запрос — это многоадресный запрос от подключаемого устройства, используемый для обнаружения соседних устройств, поддерживающих функцию расширения сети, в целевой сети.

| Содержимое сообщения с запросом от родителя | |
|---|---|
| Режим | Описывает устройство крепления. |
| Испытание | Проверяет своевременность ответа родительского элемента для предотвращения атак повторного воспроизведения. |
| Сканирующая маска | Ограничивает запрос только расширителями Mesh-сети или всеми устройствами, поддерживающими функцию расширителей. |
2. Ответ родителей
Ответ родительского устройства (Parent Response) — это одноадресный ответ на запрос родительского устройства (Parent Request), предоставляющий подключающему устройству информацию об устройстве, поддерживающем функцию расширения (Extender-Capable Device).

| Содержание ответного сообщения родителя | |
|---|---|
| Версия | версия протокола потоков |
| Ответ | Копия обращения родителя с просьбой о помощи |
| Счетчик кадров связи | Счетчик кадров 802.15.4 на устройстве с поддержкой расширителя |
| Счетчик кадров MLE | Счетчик кадров MLE на устройстве с поддержкой расширения |
| Адрес источника | RLOC16 устройства, способного расширять память |
| Поля ссылки | Качество принимаемого сигнала устройства, поддерживающего функцию расширителя. |
| Подключение | Описывает уровень возможностей подключения устройства, поддерживающего функцию расширения. |
| Данные лидера | Информация о лидере среди устройств, способных расширять возможности устройства. |
| Испытание | Проверяет своевременность запроса идентификатора ребенка для предотвращения атак повторного воспроизведения. |
3. Запрос на идентификацию ребенка
Запрос идентификатора дочернего устройства (Child ID Request) — это одноадресный запрос от подключаемого устройства (дочернего устройства), отправляемый устройству, поддерживающему расширение сети (родительскому устройству), с целью установления связи между дочерним и родительским устройствами. Если запрос отправляется на резервное устройство, поддерживающее расширение сети, оно преобразуется в устройство расширения сети (Mesh Extender) перед принятием запроса.

| Содержимое сообщения запроса идентификатора ребенка | |
|---|---|
| Версия | версия протокола потоков |
| Ответ | Копия задания для родителей (Parent Response Challenge) |
| Счетчик кадров связи | 802.15.4 Счетчик кадров на дочернем устройстве |
| Счетчик кадров MLE | Счетчик кадров MLE на ребенке |
| Режим | Описывает ребёнка |
| Тайм-аут | Продолжительность периода бездействия до того, как родитель заберет ребенка. |
| Регистрация адреса (только для медицинских и социальных предприятий) | Зарегистрируйте IPv6-адреса |
4. Ответ на запрос об идентификации ребенка
Ответ Child ID Response — это одноадресный ответ от родителя, отправляемый ребенку для подтверждения установления связи между ребенком и родителем.

| Содержимое ответного сообщения идентификатора ребенка | |
|---|---|
| Адрес источника | Родительский RLOC16 |
| Адрес16 | Детский RLOC16 |
| Данные лидера | Информация о руководителе родительского класса (RLOC, идентификатор раздела, вес раздела) |
| Сетевые данные | Информация о сети Thread (префиксы внутри сетки, автоматическая настройка адресов, более конкретные маршруты) |
| Маршрут (только для резервных электронных устройств дистанционного управления) | Распространение маршрута |
| Тайм-аут | Продолжительность периода бездействия до того, как родитель заберет ребенка. |
| Регистрация адреса (только для медицинских и социальных предприятий) | Подтвердите зарегистрированные адреса |
Краткий обзор
Что вы узнали:
- Устройство Thread выполняет активное сканирование существующих сетей.
- Thread использует протокол Mesh Link Establishment для настройки каналов связи и распространения информации о сетевых устройствах.
- Сообщения MLE Advertisement информируют другие устройства Thread о состоянии сети и канала связи устройства.
- Процесс MLE Attach устанавливает связи между ребенком и родителем.