Обнаружение и формирование сети, Обнаружение и формирование сети

Посмотреть исходный код на GitHub

Сети потоков

Сети потоков идентифицируются тремя уникальными идентификаторами:

  • 2-байтовый идентификатор личной сети (PAN ID)
  • 8-байтовый расширенный идентификатор персональной сети (XPAN ID)
  • Удобочитаемое сетевое имя

Например, сеть Thread может иметь следующие идентификаторы:

Идентификатор Ценить
PAN-идентификатор 0xBEEF
XPAN-идентификатор 0xBEEF1111CAFE2222
Имя сети yourThreadCafe
ОТ активное сканирование

При создании новой сети Thread или поиске существующей сети для присоединения устройство Thread выполняет активное сканирование сетей 802.15.4 в пределах радиодиапазона:

  1. Устройство передает запрос маяка 802.15.4 на определенном канале.
  2. В свою очередь, любые маршрутизаторы или конечные устройства, подходящие для маршрутизаторов (REED), находящиеся в радиусе действия, транслируют маяк, который содержит их идентификатор PAN сети потока, идентификатор XPAN и имя сети.
  3. Устройство повторяет предыдущие два шага для каждого канала.

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

Thread использует протокол Mesh Link Making (MLE) для настройки ссылок и распространения информации о сети на устройства Thread.

В конфигурации канала MLE используется для:

  • Обнаружение ссылок на соседние устройства
  • Определить качество связи с соседними устройствами
  • Установить связи с соседними устройствами
  • Согласование параметров соединения (тип устройства, счетчики кадров, тайм-аут) с одноранговыми узлами.

MLE передает следующие типы информации устройствам, желающим установить связь:

  • Данные лидера (RLOC лидера, идентификатор раздела, вес раздела)
  • Сетевые данные (префиксы внутри сети, автоконфигурация адреса, более конкретные маршруты)
  • Распространение маршрута

Распространение маршрута в потоке работает аналогично протоколу информации о маршрутизации (RIP), протоколу маршрутизации на основе вектора расстояния.

Создать новую сеть

Если устройство решает создать новую сеть, оно выбирает наименее загруженный канал и идентификатор PAN, не используемый другими сетями, затем становится маршрутизатором и выбирает себя лидером. Это устройство отправляет рекламные сообщения MLE другим устройствам 802.15.4, чтобы информировать их о состоянии своего канала, и отвечает на запросы маяка от других устройств Thread, выполняющих активное сканирование.

Присоединяйтесь к существующей сети

Если устройство решает присоединиться к существующей сети, оно настраивает свой канал, идентификатор PAN, идентификатор XPAN и имя сети так, чтобы они соответствовали имени целевой сети посредством ввода в эксплуатацию потока, а затем проходит процесс подключения MLE для подключения в качестве дочернего (конечного устройства). ). Этот процесс используется для ссылок «потомок-родитель».

  1. Дочерний элемент отправляет многоадресный родительский запрос всем соседним маршрутизаторам и устройствам REED в целевой сети.
  2. Все соседние Маршрутизаторы и REED (если маска сканирования родительского запроса включает REED) отправляют родительские ответы с информацией о себе.
  3. Ребенок выбирает родительское устройство и отправляет на него запрос идентификатора ребенка .
  4. Родитель отправляет ответ Child ID для подтверждения установления связи.

1. Запрос родителей

Родительский запрос — это многоадресный запрос от подключающегося устройства, который используется для обнаружения соседних маршрутизаторов и конечных устройств, подходящих для маршрутизаторов (REED) в целевой сети.

OT MLE Прикрепить родительский запрос
Содержание сообщения с запросом родителей
Режим Описывает прикрепляющее устройство
Испытание Проверяет своевременность ответа родителей, чтобы предотвратить атаки повторного воспроизведения.
Сканировать маску Ограничивает запрос только маршрутизаторами или обоими маршрутизаторами и REED.

2. Ответ родителей

Родительский ответ — это одноадресный ответ на родительский запрос, который предоставляет информацию о маршрутизаторе или REED подключающемуся устройству.

OT MLE Прикрепите ответ родителя
Содержание ответного сообщения для родителей
Версия Версия протокола потока
Ответ Копия запроса родителей
Счетчик кадров ссылки Счетчик кадров 802.15.4 на маршрутизаторе/REED
Счетчик кадров MLE Счетчик кадров MLE на маршрутизаторе/REED
Исходный адрес RLOC16 маршрутизатора/REED
Маржа ссылки Качество принимаемого сигнала маршрутизатора/REED
Возможности подключения Описывает уровень подключения маршрутизатора/REED.
Данные лидера Информация о лидере маршрутизатора/REED
Испытание Проверяет своевременность запроса идентификатора ребенка для предотвращения атак повторного воспроизведения.

3. Запрос удостоверения личности ребенка

Запрос дочернего идентификатора — это одноадресный запрос от подключающегося устройства (дочернего устройства), который отправляется маршрутизатору или REED (родительскому) с целью установления связи дочерний-родительский. Если запрос отправляется на REED, он обновляется до маршрутизатора, прежде чем принять запрос.

OT MLE Прикрепить запрос идентификатора ребенка
Содержание сообщения запроса удостоверения личности ребенка
Версия Версия протокола потока
Ответ Копия запроса на ответ родителей
Счетчик кадров ссылки 802.15.4 Счетчик кадров на дочернем компьютере
Счетчик кадров MLE Счетчик кадров MLE на дочернем объекте
Режим Описывает ребенка
Тайм-аут Продолжительность бездействия до того, как Родитель удалит Ребенка
Регистрация адреса (только MED и SED) Регистрация IPv6-адресов

4. Ответ на запрос идентификатора ребенка

Ответ дочернего идентификатора — это одноадресный ответ от родителя, который отправляется дочернему элементу для подтверждения того, что связь «дочерний-родительский» установлена.

Ответ OT MLE «Прикрепить идентификатор ребенка»
Содержание ответного сообщения с идентификатором ребенка
Исходный адрес Родительский RLOC16
Адрес16 Детский RLOC16
Данные лидера Информация о лидере родителя (RLOC, идентификатор раздела, вес раздела)
Сетевые данные Информация о сети Thread (префиксы внутри сети, автоконфигурация адресов, более конкретные маршруты)
Маршрут (только REED) Распространение маршрута
Тайм-аут Продолжительность бездействия до того, как Родитель удалит Ребенка
Регистрация адреса (только MED и SED) Подтвердите зарегистрированные адреса

Резюме

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

  • Устройство Thread выполняет активное сканирование существующих сетей.
  • Thread использует Mesh Link Making для настройки ссылок и распространения информации о сетевых устройствах.
  • Рекламные сообщения MLE информируют другие устройства Thread о сети устройства и состоянии соединения.
  • Процесс MLE Attach устанавливает связи «потомок-родитель».

Проверьте свое понимание

Какой идентификатор не используется для идентификации сети потоков?
2-байтовый идентификатор личной сети (PAN ID).
Неверно. Сеть потоков частично идентифицируется по идентификатору PAN.
8-байтовый расширенный идентификатор персональной сети (XPAN ID).
Неверно. Сеть потоков частично идентифицируется по идентификатору XPAN.
Читабельное сетевое имя.
Неверно. Сеть потоков частично идентифицируется по удобочитаемому сетевому имени.
32-значный SSID.
Правильный. В отличие от сети Wi-Fi 802.11, идентификаторы сети Thread не используют SSID.
Для чего используется родительский запрос?
Для обнаружения соседних маршрутизаторов и конечных устройств, подходящих для маршрутизаторов (REED) в целевой сети.
Правильный. Родительский запрос выдается устройством, пытающимся подключиться к сети.
Чтобы объявить, что маршрутизатор становится родительским.
Неверно. Маршрутизатор не инициирует связь «родитель-потомок» с другим сетевым устройством. Вместо этого сетевое устройство выбирает маршрутизатор, который становится его дочерним устройством.
Чтобы запросить повышение уровня конечного устройства, соответствующего требованиям маршрутизатора, до уровня маршрутизатора.
Неверно.
Какой тип адреса используется в родительском запросе?
одноадресная передача
Неверно.
произвольная передача
Неверно.
многоадресная рассылка
Правильный.
транслировать
Неверно.
Когда устройство изначально подключается к сети Thread, какова его классификация устройства?
Ребенок (конечное устройство)
Правильный. Устройство, присоединяющееся к сети Thread, всегда начинается как конечное устройство в этой сети.
FTD (полнопоточное устройство)
Неверно.
REED (конечное устройство, подходящее для маршрутизатора)
Неверно.