Thread и IPv6

Matter использует IPv6 для операционной связи и использует адресацию IPv6 Unicast и Multicast для доступа к своим узлам и группам соответственно.

Низкое энергопотребление

Некоторые узлы Matter подключены к сети и имеют энергетические бюджеты, которые позволяют им постоянно держать радиомодули включенными. Другие типы узлов, например датчики, должны работать от батареи в течение многих лет, используя радиомодули в сетях с низким энергопотреблением, таких как Thread. Архитектура прокси-сервера вместе со Thread спящими конечными устройствами позволяет узлам с полным питанием обеспечивать функциональность как на уровне сети, так и на уровне приложений, что изолирует их дочерние узлы от энергоемких транзакций.

Фундаментальный аспект Matter заключается в том, что он работает как в сетевых средах с высокой пропускной способностью, таких как Wi-Fi и Ethernet, так и в средах с низкой задержкой и низкой пропускной способностью, таких как Thread. Если бы все пакеты Multicast из сети Wi-Fi передавались в сеть Thread, это привело бы к перегрузке сети и, возможно, к ее отказу. Thread предназначен для работы с IPv6 в ячеистых сетях с низким энергопотреблением и малой задержкой, а не для передачи данных с высокой пропускной способностью. Хотя время задержки при пинге ICMPv6 в локальной сети Thread обычно не превышает нескольких десятков миллисекунд RTT, общая пропускная способность ограничена 250 кбит/с на физическом уровне IEEE 802.15.4. С учетом повторной передачи пакетов и служебных данных максимальная пропускная способность составляет около 125 кбит/с. Другими словами, на порядки меньше, чем Wi-Fi.

Размер фреймов на физическом уровне IEEE 802.15.4 составляет 127 байт, но самый большой (и типичный) максимальный размер пакета (MTU) IPv6 в Thread – 1280 байт. Поэтому пакеты IPv6 часто приходится разбивать на несколько кадров PHY. Этот процесс описан в документе RFC4944.

Чтобы узнать больше, ознакомьтесь с разделом IPv6 Addressing в руководстве Thread на сайте openthread.io.

Пограничные маршрутизаторы

Как узлы могут сосуществовать в обеих транспортных средах, находясь в одной связанной группе? Хотя обе сети используют одни и те же учетные данные на уровне приложения, Matter технологии связи у них разные. В этом случае для подключения к сети требуется Thread Border Router (TBR). Пограничные маршрутизаторы – это тупиковые маршрутизаторы IPv6.

Тупиковые маршрутизаторы обеспечивают связь между тупиковыми и обычными сетями. Тупиковая сеть – это сеть "последней мили", которая обеспечивает внешнее подключение для своих участников, но не служит транзитным сетевым путем между другими сетями. Обычно тупиковые сети Matter основаны на Thread. Дополнительную информацию о тупиковых сетях можно найти в проекте RFC.

Поэтому пограничные маршрутизаторы должны обеспечивать связь между тупиковой сетью и смежной инфраструктурной сетью, то есть локальной сетью Wi-Fi или Ethernet. Они пересылают только пакеты, относящиеся к сети Thread.

Для этого Thread и смежным инфраструктурным сетям назначаются разные префиксы IPv6. Таким образом, BR пересылает только одноадресные пакеты в префикс IPv6 Thread или из него.

Пограничные маршрутизаторы также отвечают за:

  • автоматически настраивает префиксы и маршруты IPv6 для Thread и смежных инфраструктурных сетей, чтобы хосты по обе стороны TBR могли обмениваться данными.
  • публикация пакетов обнаружения mDNS DNS-SD от имени узлов Thread, чтобы их можно было обнаружить в смежной инфраструктурной сети.

Подробную информацию можно найти в руководстве по OpenThread Border Router (OTBR).

Многоадресная рассылка IPv6

Групповые сообщения также важны, поскольку они позволяют одновременно управлять несколькими узлами Matter через Multicast. Чтобы направлять этот трафик в сеть Thread, в Matter и Thread используется Unicastсхема адресации IPv6 на основе префиксовMulticast, определенная в RFC 3306.

Этот метод позволяет выбирать целевые узлы пакета Multicast на основе их общего префикса IPv6 Unicast.

Например, адрес Matter Multicast может выглядеть так:

FF35:0040:FD<Fabric ID>00:<Group ID>

В таблице 1 показано, как формируется этот адрес.

Таблица 1. Unicast IPv6-адреса на основе префиксов
Bits Описание
12 бит 0xFF3
4 бита 0x05

Область действия: локальный сайт.

8 бит 0x00

зарезервировано

8 бит 0x40

Указывает на 64-битный префикс.

8 бит 0xFD

Обозначает префикс ULA.

56 бит; Идентификатор связанной группы
8 бит 0x00
16 бит Идентификатор группы

Дополнительную информацию можно найти в разделе Multicast руководства по Thread и в самом RFC.

При формировании IPv6-адресов Multicast в них также включаются верхние 56 бит идентификатора Fabric ID. Важно, что область действия Multicast находится в пределах фабрики, а адреса Unicast используются совместно фабриками. У узлов с несколькими сетями может быть несколько адресов Multicast, определяющих перекрывающиеся группы узлов в каждой сети.

Порты

Для многоадресной рассылки Matter использует порт 5540.