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