Поток и IPv6

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

Низкая мощность

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

Фундаментальным аспектом 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» в учебнике Thread на openthread.io .

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

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

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

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

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

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

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

Чтобы узнать больше, обратитесь к руководству по пограничному маршрутизатору на openthread.io .

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

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

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

Например, адрес 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 Primer и в самом RFC.

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

Порты

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