Thread и IPv6

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

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

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

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

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

Подробнее об адресации IPv6 рассказывается в Thread руководстве на сайте openthread.io.

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

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

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

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

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

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

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

Подробнее OpenThread Border Router (OTBR)…

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

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

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

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

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

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

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

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

8 бит 0x00

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

8 бит 0x40

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

8 бит 0xFD

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

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

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

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

Порты

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