Thread e IPv6

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

Basso consumo

Alcuni nodi Matter sono cablati e hanno budget energetici che consentono di mantenere le radio accese ininterrottamente. Altri tipi di nodi, come i sensori, devono funzionare per anni con una batteria, azionando le radio su reti a basso consumo energetico come Thread. L'architettura proxy, insieme ai Thread dispositivi finali inattivi, consente ai nodi a piena potenza di fornire funzionalità a livello di rete e di applicazione che isolano i nodi secondari da transazioni a elevato consumo energetico.

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

I frame sulla 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 dalla RFC4944.

Per saperne di più, consulta Indirizzamento IPv6 nella Threadintroduzione su openthread.io.

Router di confine

Quindi, come possono coesistere i nodi 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 Thread Border Router (BR) per attivare la connettività. I BR sono router stub IPv6.

I router stub consentono la connettività tra reti stub e reti regolari. 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 basate su Thread. Per ulteriori informazioni sulle reti stub, consulta la bozza di RFC.

Pertanto, i BR hanno la responsabilità di fungere da 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 rete Thread.

Questo processo viene eseguito assegnando prefissi IPv6 diversi a Thread e alle reti dell'infrastruttura adiacente. Pertanto, il BR inoltra solo unicast da o verso il prefisso IPv6 Thread.

I router di confine sono responsabili anche di:

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

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

Multicast IPv6

Anche i messaggi Group sono importanti perché consentono il controllo simultaneo di diversi Matter nodi tramite Multicast. Per instradare questo traffico nella rete Thread, sia Matter sia Thread implementano lo Unicast schema di indirizzamento IPv6 basato sul prefisso Multicast definito dalla RFC 3306.

Questo metodo consente la selezione dei nodi di destinazione di un pacchetto Multicast in base al 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 sul prefisso
Bit Descrizione
12 bit 0xFF3
4 bit 0x05

Ambito: locale del sito

8 bit 0x00

riservato

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

Per ulteriori informazioni, consulta la sezione Multicast del primer Thread e la RFC stessa.

Quando vengono formati gli indirizzi IPv6 Multicast, includono anche i 56 bit superiori dell'ID fabric. L'implicazione importante è che l'ambito di Multicast si trova all'interno di un Fabric, mentre gli indirizzi Unicast sono condivisi tra i Fabric. I nodi con molti tessuti possono potenzialmente avere diversi indirizzi Multicast che definiscono gruppi di nodi sovrapposti con ambito in ogni tessuto.

Porte

Matter utilizza la porta 5540 per i suoi multicast.