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 часто приходится разбивать на несколько кадров физического уровня. Этот процесс определён в RFC4944 .
Более подробную информацию см. в разделе Адресация IPv6 в руководстве Thread на openthread.io .
Пограничные маршрутизаторы
Итак, как узлы могут сосуществовать на обеих транспортных средах, находясь в одной фабрике? Хотя обе сети используют общие учётные данные Matter уровня приложений, они используют разные технологии связи. В этом сценарии для обеспечения связи сети необходим пограничный маршрутизатор Thread (BR) . BR — это тупиковые маршрутизаторы IPv6.
Оконечные маршрутизаторы обеспечивают связь между оконечными и обычными сетями. Оконечная сеть — это сеть «последней мили», которая обеспечивает внешнее соединение для своих участников, но не служит транзитным сетевым маршрутом между другими сетями. Как правило, оконечные сети Matter основаны на Thread . Дополнительную информацию о оконечных сетях см. в проекте RFC .
Таким образом, маршрутизаторы BR отвечают за связь между тупиковой сетью (Stub Network) и смежной инфраструктурной сетью (Adjacent Infrastructure Network) , которая представляет собой локальную сеть Wi-Fi или Ethernet. Они пересылают только те пакеты, которые относятся к сети Thread .
Этот процесс осуществляется путём назначения различных префиксов IPv6 сетям Thread и смежной инфраструктуры. Таким образом, маршрутизатор BR пересылает только одноадресные пакеты к IPv6-префиксу Thread или из него.
Пограничные маршрутизаторы также отвечают за:
- автоматическая настройка префиксов и маршрутов IPv6 для сетей Thread и Adjacent Infrastructure Networks, чтобы хосты по обе стороны маршрутизатора Thread Border могли взаимодействовать.
- публикация пакетов обнаружения mDNS DNS-SD от имени узлов Thread , чтобы их можно было обнаружить в смежной инфраструктурной сети.
Более подробную информацию можно найти в руководстве Border Router на сайте openthread.io .
Многоадресная рассылка IPv6
Групповые сообщения также важны, поскольку они позволяют одновременно управлять несколькими узлами Matter посредством Multicast . Для маршрутизации этого трафика в сеть Thread , как Matter , так и Thread реализуют схему адресации IPv6 Multicast на основе префикса Unicast , определенную в RFC 3306 .
Этот метод позволяет выбирать узлы назначения Multicast пакета на основе их общего префикса Unicast IPv6.
Например, адрес Matter Multicast может выглядеть так:
FF35:0040:FD<Fabric ID>00:<Group ID>
В таблице 1 подробно описано, как построен этот адрес:
Биты | Описание |
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 для многоадресной рассылки.