Посмотреть исходный код на GitHub
Сети потоков
Сети потоков идентифицируются тремя уникальными идентификаторами:
- 2-байтовый идентификатор личной сети (PAN ID)
- 8-байтовый расширенный идентификатор персональной сети (XPAN ID)
- Удобочитаемое сетевое имя
Например, сеть Thread может иметь следующие идентификаторы:
Идентификатор | Ценить |
---|---|
PAN-идентификатор | 0xBEEF |
XPAN-идентификатор | 0xBEEF1111CAFE2222 |
Имя сети | yourThreadCafe |
При создании новой сети Thread или поиске существующей сети для присоединения устройство Thread выполняет активное сканирование сетей 802.15.4 в пределах радиодиапазона:
- Устройство передает запрос маяка 802.15.4 на определенном канале.
- В свою очередь, любые маршрутизаторы или конечные устройства, подходящие для маршрутизаторов (REED), находящиеся в радиусе действия, транслируют маяк, который содержит их идентификатор PAN сети потока, идентификатор XPAN и имя сети.
- Устройство повторяет предыдущие два шага для каждого канала.
Как только устройство Thread обнаружит все сети в радиусе действия, оно может либо подключиться к существующей сети, либо создать новую, если сети не обнаружены.
Создание Mesh Link
Thread использует протокол Mesh Link Making (MLE) для настройки ссылок и распространения информации о сети на устройства Thread.
В конфигурации канала MLE используется для:
- Обнаружение ссылок на соседние устройства
- Определить качество связи с соседними устройствами
- Установить связи с соседними устройствами
- Согласование параметров соединения (тип устройства, счетчики кадров, тайм-аут) с одноранговыми узлами.
MLE передает следующие типы информации устройствам, желающим установить связь:
- Данные лидера (RLOC лидера, идентификатор раздела, вес раздела)
- Сетевые данные (префиксы внутри сети, автоконфигурация адреса, более конкретные маршруты)
- Распространение маршрута
Распространение маршрута в потоке работает аналогично протоколу информации о маршрутизации (RIP), протоколу маршрутизации на основе вектора расстояния.
Создать новую сеть
Если устройство решает создать новую сеть, оно выбирает наименее загруженный канал и идентификатор PAN, не используемый другими сетями, затем становится маршрутизатором и выбирает себя лидером. Это устройство отправляет рекламные сообщения MLE другим устройствам 802.15.4, чтобы информировать их о состоянии своего канала, и отвечает на запросы маяка от других устройств Thread, выполняющих активное сканирование.
Присоединяйтесь к существующей сети
Если устройство решает присоединиться к существующей сети, оно настраивает свой канал, идентификатор PAN, идентификатор XPAN и имя сети так, чтобы они соответствовали имени целевой сети посредством ввода в эксплуатацию потока, а затем проходит процесс подключения MLE для подключения в качестве дочернего (конечного устройства). ). Этот процесс используется для ссылок «потомок-родитель».
- Дочерний элемент отправляет многоадресный родительский запрос всем соседним маршрутизаторам и устройствам REED в целевой сети.
- Все соседние Маршрутизаторы и REED (если маска сканирования родительского запроса включает REED) отправляют родительские ответы с информацией о себе.
- Ребенок выбирает родительское устройство и отправляет на него запрос идентификатора ребенка .
- Родитель отправляет ответ Child ID для подтверждения установления связи.
1. Запрос родителей
Родительский запрос — это многоадресный запрос от подключающегося устройства, который используется для обнаружения соседних маршрутизаторов и конечных устройств, подходящих для маршрутизаторов (REED) в целевой сети.
Содержание сообщения с запросом родителей | |
---|---|
Режим | Описывает прикрепляющее устройство |
Испытание | Проверяет своевременность ответа родителей, чтобы предотвратить атаки повторного воспроизведения. |
Сканировать маску | Ограничивает запрос только маршрутизаторами или обоими маршрутизаторами и REED. |
2. Ответ родителей
Родительский ответ — это одноадресный ответ на родительский запрос, который предоставляет информацию о маршрутизаторе или REED подключающемуся устройству.
Содержание ответного сообщения для родителей | |
---|---|
Версия | Версия протокола потока |
Ответ | Копия запроса родителей |
Счетчик кадров ссылки | Счетчик кадров 802.15.4 на маршрутизаторе/REED |
Счетчик кадров MLE | Счетчик кадров MLE на маршрутизаторе/REED |
Исходный адрес | RLOC16 маршрутизатора/REED |
Маржа ссылки | Качество принимаемого сигнала маршрутизатора/REED |
Возможности подключения | Описывает уровень подключения маршрутизатора/REED. |
Данные лидера | Информация о лидере маршрутизатора/REED |
Испытание | Проверяет своевременность запроса идентификатора ребенка для предотвращения атак повторного воспроизведения. |
3. Запрос удостоверения личности ребенка
Запрос дочернего идентификатора — это одноадресный запрос от подключающегося устройства (дочернего устройства), который отправляется маршрутизатору или REED (родительскому) с целью установления связи дочерний-родительский. Если запрос отправляется на REED, он обновляется до маршрутизатора, прежде чем принять запрос.
Содержание сообщения запроса удостоверения личности ребенка | |
---|---|
Версия | Версия протокола потока |
Ответ | Копия запроса на ответ родителей |
Счетчик кадров ссылки | 802.15.4 Счетчик кадров на дочернем компьютере |
Счетчик кадров MLE | Счетчик кадров MLE на дочернем объекте |
Режим | Описывает ребенка |
Тайм-аут | Продолжительность бездействия до того, как Родитель удалит Ребенка |
Регистрация адреса (только MED и SED) | Регистрация IPv6-адресов |
4. Ответ на запрос идентификатора ребенка
Ответ дочернего идентификатора — это одноадресный ответ от родителя, который отправляется дочернему элементу для подтверждения того, что связь «дочерний-родительский» установлена.
Содержание ответного сообщения с идентификатором ребенка | |
---|---|
Исходный адрес | Родительский RLOC16 |
Адрес16 | Детский RLOC16 |
Данные лидера | Информация о лидере родителя (RLOC, идентификатор раздела, вес раздела) |
Сетевые данные | Информация о сети Thread (префиксы внутри сети, автоконфигурация адресов, более конкретные маршруты) |
Маршрут (только REED) | Распространение маршрута |
Тайм-аут | Продолжительность бездействия до того, как Родитель удалит Ребенка |
Регистрация адреса (только MED и SED) | Подтвердите зарегистрированные адреса |
Резюме
Что вы узнали:
- Устройство Thread выполняет активное сканирование существующих сетей.
- Thread использует Mesh Link Making для настройки ссылок и распространения информации о сетевых устройствах.
- Рекламные сообщения MLE информируют другие устройства Thread о сети устройства и состоянии соединения.
- Процесс MLE Attach устанавливает связи «потомок-родитель».