Thread e IPv6

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

Basso consumo

Alcuni nodi Matter sono cablati e dispongono di budget energetici che consentono di mantenere i segnali radio sempre accesi. Altri tipi di Nodi, come i sensori, hanno requisiti di funzionare per anni con una batteria e alimentare le radio su reti a bassa potenza come Thread. L'architettura proxy, insieme ai Thread dispositivi finali Sleepy, consente ai nodi completamente alimentati di fornire funzionalità sia a livello di rete che a livello di applicazione che isolano i nodi figlio dalle transazioni ad alta intensità di energia.

Un aspetto fondamentale di Matter è che funziona sia su mezzi di rete ad alta velocità effettiva come Wi-Fi ed Ethernet, ma anche su a bassa latenza e a bassa larghezza di banda, come Thread. Se tutti i Multicast pacchetti dalla rete Wi-Fi venissero collegati tramite bridge Thread, sovraccarichiremmo la rete e la potremmo inondare. L'obiettivo di Thread è abilitare IPv6 nelle reti mesh a bassa latenza e a basso consumo, anziché nel trasferimento di dati a larghezza di banda elevata. Mentre i ping ICMPv6 di Thread in una rete locale sono in genere inferiori a poche decine di millisecondi di RTT, la larghezza di banda totale è limitata a 250 Kbps con lo standard IEEE 802.15.4 PHY. Nel caso delle ritrasmissioni dei pacchetti e dell'overhead, la larghezza di banda massima tipica è di circa 125 kbps. In altre parole, ordini di grandezza inferiori al Wi-Fi.

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

Per scoprire di più, consulta la sezione sugli indirizzi IPv6 nella guida introduttiva di Thread su openthread.io.

Router di confine

Quindi, in che modo i nodi possono coesistere su entrambi i mezzi di trasporto nella stessa infrastruttura? 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 le reti stub e le reti normali. Una rete Stub è una rete dell'"ultimo miglio" che fornisce connettività esterna ai suoi membri, ma non funge da percorso di rete di trasporto pubblico tra altre reti. In genere, le reti Stub Matter si basano su Thread. Fare riferimento alla bozza della RFC per ulteriori informazioni sulle reti stub.

I BR hanno quindi la responsabilità di fungere da collegamento tra la rete Stub e la rete infrastrutturale adiacente, ovvero la rete Wi-Fi o Ethernet locale. Inoltrano solo i pacchetti pertinenti alla rete Thread.

Questo processo viene eseguito assegnando prefissi IPv6 diversi a Thread e alle reti di infrastruttura adiacenti. Di conseguenza, il BR inoltra solo gli unicast da o verso il prefisso IPv6 Thread.

I router di confine si occupano anche di:

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

Per saperne di più, consulta la guida del router di confine relativa a openthread.io.

Multicast IPv6

Anche i messaggi di gruppo sono importanti in quanto consentono il controllo simultaneo di diversi nodi Matter tramite Multicast. Per instradare questo traffico alla rete Thread, sia Matter sia Thread implementano lo schema di indirizzamento Multicast IPv6 basato su prefisso definito dal RFC 3306.Unicast

Questo metodo consente di selezionare i nodi di destinazione di un pacchetto Multicast in base al loro prefisso IPv6 Unicast 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 come viene creato questo indirizzo:

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

Ambito: site-local

8 bit 0x00

prenotato

8 bit 0x40

Indica un prefisso lungo a 64 bit

8 bit 0xFD

Indica un prefisso ULA

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

Ulteriori informazioni sono disponibili nella sezione Multicast della guida introduttiva di Thread e sul documento RFC stesso.

Quando vengono creati 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 i Fabric. I nodi con molti fabric possono potenzialmente avere diversi indirizzi Multicast che definiscono gruppi di nodi sovrapposti con ambito in ogni infrastruttura.

Porte

Matter utilizza la porta 5540 per i suoi multicast.