Thread e IPv6

Matter utilizza IPv6 per le sue comunicazioni operative e sfrutta gli indirizzi IPv6 Unicast e Multicast per accedere rispettivamente ai suoi nodi e gruppi.

Basso consumo

Alcuni nodi Matter sono cablati e hanno budget energetici che consentono di mantenere i segnali radio sempre accesi. Altri tipi di Nodi, come i sensori, sono soggetti a requisiti per funzionare per anni con una batteria e far funzionare i propri segnali radio su reti a bassa potenza come Thread. L'architettura proxy, insieme a Thread Dispositivi finali insonni, consente ai nodi con potenza completa di fornire funzionalità a livello di rete e di applicazione che isolano i nodi secondari dalle transazioni ad alto consumo energetico.

Un aspetto fondamentale di Matter è che funziona sia su supporti di rete ad alta velocità effettiva come Wi-Fi ed Ethernet, ma anche su reti a bassa latenza e larghezza di banda ridotta, come Thread. Se tutti i Multicast pacchetti del Wi-Fi venissero collegati in bridge Thread, sovraccaricare la rete e potenzialmente inondarla. L'obiettivo di Thread è abilitare IPv6 nelle reti mesh a bassa latenza e bassa potenza, non nel trasferimento di dati con larghezza di banda elevata. Mentre i ping ICMPv6 di Thread in una rete locale sono in genere inferiori a poche decine di millisecondi RTT, la larghezza di banda totale è limitata a 250 kbps secondo lo standard IEEE 802.15.4 PHY. Con le ritrasmissioni dei pacchetti e l'overhead, in genere la larghezza di banda massima è di circa 125 kbps. ovvero ordini di grandezza inferiori a quelli del Wi-Fi.

I frame sull'unità PHY IEEE 802.15.4 sono di 127 byte, ma l'unità di trasmissione (MTU) massima più grande (e tipica) dei pacchetti IPv6 in Thread è di 1280 byte. Di conseguenza, i pacchetti IPv6 spesso devono essere suddivisi in più frame PHY. Questo processo è definito dal documento RFC4944.

Per saperne di più, consulta la sezione relativa agli indirizzi IPv6 in Thread Primer su openthread.io.

Router di confine

Quindi, come possono coesistere i nodi su entrambi i mezzi di trasporto nello stesso fabric? Sebbene entrambe le reti condividano le credenziali Matter a livello di applicazione, non condividono la stessa tecnologia di collegamento. In questo scenario, la rete ha bisogno di un router di confine (BR) Thread per abilitare la connettività. I BR sono router IPv6 Stub.

I router Stub consentono la connettività tra reti stub e reti normali. Una rete Stub è una rete "ultimo miglio" che fornisce connettività esterna ai propri membri, ma non funge da percorso di rete di trasporto pubblico tra altre reti. In genere, le reti Stub Matter si basano su Thread. Fai riferimento alla bozza RFC per ulteriori informazioni sulle reti stub.

I BR hanno pertanto la responsabilità di essere il collegamento tra la rete Stub e la rete dell'infrastruttura adiacente, ovvero la rete Wi-Fi o Ethernet locale. Inoltrano solo i pacchetti pertinenti alla rete Thread.

Questo processo si ottiene assegnando prefissi IPv6 diversi a Thread e alle reti di infrastruttura adiacenti. Di conseguenza, la BR inoltra solo gli unicast al o dal prefisso IPv6 Thread.

I router di confine sono inoltre responsabili di:

  • configurare automaticamente route e prefissi IPv6 per le reti Thread e per le infrastrutture adiacenti, in modo che gli host su entrambi i lati del router di confine Thread possano comunicare.
  • pubblicare pacchetti di rilevamento mDNS DNS-SD per conto dei nodi Thread, in modo che possano essere rilevati sulla rete di infrastruttura adiacente.

Per scoprire di più, consulta la guida relativa al router di confine su openthread.io.

Multicast IPv6

Anche i messaggi Group sono importanti poiché consentono il controllo simultaneo di diversi nodi Matter tramite Multicast. Per instradare questo traffico alla rete Thread, sia Matter che Thread implementano lo schema di indirizzo Multicast IPv6 basato su prefisso di Unicast definito dal documento RFC 3306.

Questo metodo consente la selezione dei nodi di destinazione di un pacchetto Multicast in base al prefisso Unicast IPv6 condiviso.

Ad esempio, un indirizzo Matter Multicast potrebbe avere il seguente aspetto:

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

La tabella 1 descrive in dettaglio la struttura di questo indirizzo:

Tabella 1: Unicast Indirizzi IPv6 basati su prefisso
Bit Descrizione
12 bit 0xFF3
4 bit 0x05

Ambito: sito-locale

8 bit 0x00

prenotato

8 bit 0x40

Indica un prefisso lungo a 64 bit

8 bit 0xFD

Specifica un prefisso ULA

56 bit ID fabric
8 bit 0x00
16 bit ID gruppo

Ulteriori informazioni sono disponibili nella sezione Multicast di Thread Primer e nella RFC stessa.

Quando si formano gli indirizzi Multicast IPv6, includono anche i 56 bit superiori dell'ID fabric. L'implicazione importante è che l'ambito di Multicast è all'interno di un'Infrastruttura, mentre gli indirizzi Unicast sono condivisi tra le strutture. I nodi con molti fabric possono avere potenzialmente diversi indirizzi Multicast che definiscono gruppi di nodi che si sovrappongono con ambito a livello di ogni fabric.

Porte

Matter utilizza la porta 5540 per le trasmissioni multicast.