Thread e IPv6

Matter utilizza IPv6 per le comunicazioni operative e sfrutta sia l'indirizzamento Unicast che Multicast per accedere rispettivamente ai nodi e ai gruppi.

Basso consumo

Alcuni nodi Matter sono cablati e hanno budget energetici che consentono loro di mantenere le radio sempre attive. Altri tipi di nodi, come i sensori, devono funzionare per anni con una batteria, utilizzando le radio su reti a basso consumo come Thread. L'architettura proxy, insieme a Thread Sleepy End Devices, consente ai nodi a piena potenza di fornire funzionalità a livello di rete e di applicazione che isolano i nodi secondari dalle transazioni ad alta intensità energetica.

Un aspetto fondamentale di Matter è che funziona sia su supporti di rete ad alta velocità effettiva come Wi-Fi ed Ethernet, sia su supporti a bassa latenza e larghezza di banda, come Thread. Se tutti i Multicast pacchetti da Wi-Fi venissero collegati a Thread, sovraccaricheremmo la rete e potremmo inondarla. L'obiettivo di Thread è abilitare IPv6 nelle reti mesh a basso consumo, bassa latenza, non il trasferimento di dati ad alta larghezza di banda. Sebbene Thread's i ping ICMPv6 in una rete locale siano in genere inferiori a poche decine di millisecondi RTT, la larghezza di banda totale è limitata a 250 kbps al PHY IEEE 802.15.4. Con le ritrasmissioni e l'overhead dei pacchetti, la larghezza di banda massima tipica è di circa 125 kbps. In altre parole, ordini di grandezza inferiori a Wi-Fi.

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

Per saperne di più, consulta Indirizzamento IPv6 in Thread Primer su openthread.io.

Router di confine

Quindi, come possono coesistere i nodi su entrambi i supporti di trasporto nella stessa struttura? 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 Thread router di confine (BR) per abilitare la connettività. I router di confine sono router IPv6 stub.

I router stub consentono la connettività tra le reti stub e le reti normali. Una rete stub è una rete "ultimo miglio" che fornisce connettività esterna ai suoi membri, ma non funge da percorso di rete di transito tra altre reti. In genere, le reti stub Matter sono Thread-based. Per ulteriori informazioni sulle reti stub, consulta la bozza RFC.

I router di confine hanno quindi la responsabilità di essere il collegamento tra la rete stub e la rete di infrastruttura adiacente, ovvero la rete Wi-Fi o Ethernet locale. Inoltrano solo i pacchetti pertinenti alla Thread rete.

Questo processo viene eseguito assegnando prefissi IPv6 diversi a Thread e alle reti di infrastruttura adiacente. Pertanto, il router di confine inoltra solo unicast al o dal Thread prefisso IPv6.

I router di confine sono anche responsabili di:

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

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

Multicast IPv6

Anche i messaggi di gruppo sono importanti perché consentono il controllo simultaneo di più nodi Matter tramite Multicast. Per instradare questo traffico nella rete Thread, sia MatterThread implementano lo Unicast basato sul prefisso IPv6 Multicast Addressing Scheme definito da RFC 3306.

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

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

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

La Tabella 1 descrive in dettaglio come viene costruito questo indirizzo:

Tabella 1: Unicast indirizzi IPv6 basati sul prefisso
Bit Descrizione
12 bit 0xFF3
4 bit 0x05

Ambito: site-local

8 bit 0x00

Riservato

8 bit 0x40

Indica un prefisso lungo di 64 bit

8 bit 0xFD

Indica un prefisso ULA

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

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

Quando vengono creati gli indirizzi Multicast IPv6, includono anche i 56 bit superiori dell'ID struttura. L'implicazione importante è che l'ambito di Multicast è all'interno di una struttura, mentre gli indirizzi Unicast sono condivisi tra le strutture. I nodi con molte strutture possono potenzialmente avere più Multicast indirizzi che definiscono gruppi di nodi sovrapposti con ambito in ogni struttura.

Porte

Matter utilizza la porta 5540 per i multicast.