Выбор маршрутизатора

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

Связанный доминирующий набор

OT Connected Domining Set
Пример связного доминирующего набора

Маршрутизаторы должны формировать подключенный доминирующий набор (CDS), что означает:

  1. Между любыми двумя маршрутизаторами существует путь только для маршрутизатора.
  2. Любой маршрутизатор в сети потоков может связаться с любым другим маршрутизатором, оставаясь полностью в пределах набора маршрутизаторов.
  3. Каждое конечное устройство в сети потоков напрямую подключено к маршрутизатору.

Распределенный алгоритм поддерживает CDS, что обеспечивает минимальный уровень избыточности. Каждое устройство изначально подключается к сети как конечное устройство (дочернее). По мере изменения состояния сети Thread алгоритм добавляет или удаляет маршрутизаторы для поддержания CDS.

Thread добавляет маршрутизаторы в:

  • Увеличьте покрытие, если сеть ниже порогового значения маршрутизатора, равного 16.
  • Увеличение разнообразия путей
  • Поддерживайте минимальный уровень избыточности
  • Расширьте возможности подключения и поддержите больше детей

Тема удаляет маршрутизаторы для:

  • Уменьшите состояние маршрутизации ниже максимума в 32 маршрутизатора.
  • Разрешить новые маршрутизаторы в других частях сети, когда это необходимо

Обновление до маршрутизатора

После подключения к сети Thread дочернее устройство может стать маршрутизатором. Перед инициированием процесса MLE Link Request дочерний элемент отправляет сообщение Address Solicit ведущему, запрашивая идентификатор маршрутизатора. Если ведущий принимает, он отвечает идентификатором маршрутизатора, а дочерний элемент обновляется до маршрутизатора.

Затем процесс MLE Link Request используется для установления двунаправленных каналов Route-Router с соседними маршрутизаторами.

  1. Новый маршрутизатор отправляет многоадресный запрос на соединение соседним маршрутизаторам.
  2. Маршрутизаторы отвечают сообщениями Link Accept и Request .
  3. Новый маршрутизатор отвечает каждому маршрутизатору одноадресной передачей Link Accept , чтобы установить связь маршрутизатор-маршрутизатор.

Link Request — это запрос от маршрутизатора ко всем другим маршрутизаторам в сети Thread. Когда устройство впервые становится маршрутизатором, оно отправляет многоадресный запрос на соединение на ff02::2 . Позже, после обнаружения других маршрутизаторов с помощью объявлений MLE, устройства отправляют одноадресные запросы на соединение.

Запрос ссылки OT MLE
Содержание сообщения с запросом на ссылку
Версия Версия протокола потока
Испытание Проверяет своевременность ответа на ссылку для предотвращения повторных атак.
Адрес источника RLOC16 отправителя
Данные лидера Информация о лидере маршрутизатора, хранящаяся на отправителе (RLOC, идентификатор раздела, вес раздела)

Link Accept and Request — это комбинация сообщений Link Accept и Link Request. Поток использует эту оптимизацию в процессе запроса ссылки MLE, чтобы уменьшить количество сообщений с четырех до трех.

Принять и запросить ссылку OT MLE

Принятие ссылки — это одноадресный ответ на запрос ссылки от соседнего маршрутизатора, который предоставляет информацию о себе и принимает ссылку на соседний маршрутизатор.

Принять ссылку OT MLE
Ссылка Принять содержимое сообщения
Версия Версия протокола потока
Ответ Проверяет своевременность ответа на ссылку для предотвращения повторных атак.
Счетчик кадров связи 802.15.4 Счетчик кадров на отправителе
Счетчик кадров MLE Счетчик кадров MLE на отправителе
Адрес источника RLOC16 отправителя
Данные лидера Информация о лидере маршрутизатора, хранящаяся на отправителе (RLOC, идентификатор раздела, вес раздела)

Переход на REED

Когда Router понижается до REED, его соединения Router-Router отключаются, и устройство инициирует процесс MLE Attach для установления соединения Child-Parent.

Дополнительные сведения о процессе подключения MLE см. в разделе Присоединение к существующей сети .

В некоторых сценариях может потребоваться установить односторонний канал приема.

После сброса маршрутизатора соседние маршрутизаторы могут по-прежнему иметь действующий канал приема со сбросившем маршрутизатор. В этом случае сбрасываемый маршрутизатор отправляет сообщение с запросом на соединение для повторного установления соединения маршрутизатор-маршрутизатор.

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

Резюме

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

  • Маршрутизаторы в сети Thread должны формировать Connected Dominating Set (CDS)
  • Потоковые устройства модернизируются до маршрутизаторов или понижаются до конечных устройств для поддержания CDS.
  • Процесс MLE Link Request используется для установления связей маршрутизатор-маршрутизатор.

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

Какие из этих правил не применяются Связанным доминирующим набором (CDS)?
Между любыми двумя маршрутизаторами существует путь только для маршрутизатора.
Неправильно.
Любой маршрутизатор в сети потоков может связаться с любым другим маршрутизатором, оставаясь полностью в пределах набора маршрутизаторов.
Неправильно.
Каждое конечное устройство в сети потоков напрямую подключено к маршрутизатору.
Неправильно.
Только один маршрутизатор в сети потоков может быть граничным маршрутизатором.
Правильный. Сеть потоков может иметь несколько пограничных маршрутизаторов.
Почему маршрутизатор может быть удален из сети потоков?
Чтобы уменьшить состояние маршрутизации ниже максимума в 32 маршрутизатора.
Правильный. Сети потоков стремятся поддерживать оптимальное количество маршрутизаторов. Максимальное количество маршрутизаторов, которое должно быть в любой сети потоков, равно 32.
Чтобы освободить каналы.
Неправильно. Количество маршрутизаторов не имеет отношения к использованию канала или пропускной способности.
Разрешить выбор новых маршрутизаторов в других частях сети, когда это необходимо.
Правильный. Уменьшение количества активных маршрутизаторов в одной части сети Thread увеличивает ее способность наращивать пропускную способность маршрутизации в другом месте.
Что должно произойти, прежде чем REED, пытающийся стать маршрутизатором, сможет установить прямую связь с другими маршрутизаторами?
REED должен послать сообщение Address Solicit лидеру сети.
Правильный.
Лидер должен предоставить маршрутизатору REED идентификатор маршрутизатора.
Правильный. Без идентификатора маршрутизатора REED остается дочерним устройством.
REED должен послать запрос MLE Link.
Неправильный. Запрос на соединение MLE — это то, как устройство устанавливает соединения с другими маршрутизаторами после того, как оно стало маршрутизатором.
Какое из следующих утверждений точно описывает, что происходит, когда маршрутизатор понижается?
Устройство автоматически остается в сети, но в качестве ребенка (REED).
Неправильный. При переходе на более раннюю версию маршрутизатора требуется больше шагов.
Устройство должно инициировать процесс подключения MLE, чтобы установить новое подключение к сети.
Правильный. Устройство, которое переходит с Router на REED, отключается и должно повторно согласовать свое подключение к сети.
Какой процесс используется для установления связи маршрутизатор-маршрутизатор?
Процесс запроса ссылки MLE.
Правильный.
Процесс принятия и запроса ссылки.
Неправильно. Не существует такой вещи, как процесс принятия и запроса ссылки. Сообщения Link Accept и Request отправляются маршрутизаторами в ответ на сообщения Link Request как часть процесса MLE Link Request.
Процесс присоединения MLE.
Неправильно. Процесс MLE Attach — это процесс, с помощью которого устройство присоединяется к существующей сети Thread.