Thread e IPv6

Matter utilizza IPv6 per le comunicazioni operative e sfrutta l'indirizzamento 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 loro di mantenere le radio costantemente accese. 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 ai Thread Sleepy End Device, consente ai nodi con alimentazione completa di fornire funzionalità sia a livello di rete sia a livello di applicazione che isolano i nodi secondari dalle transazioni ad alto consumo energetico.

Un aspetto fondamentale di Matter è che funziona sia su mezzi di rete con throughput elevato, come Wi-Fi ed Ethernet, sia su mezzi con bassa latenza e larghezza di banda ridotta, come Thread. Se tutti i pacchetti Multicast del Wi-Fi venissero collegati a Thread, sovraccaricheremmo la rete e potremmo potenzialmente inondarla. L'obiettivo di Thread è abilitare IPv6 nel networking mesh a basso consumo e bassa latenza, non il trasferimento di dati con larghezza di banda elevata. Sebbene i ping ICMPv6 di Thread in una rete locale abbiano in genere un RTT inferiore a poche decine di millisecondi, la larghezza di banda totale è limitata a 250 kbps nel PHY IEEE 802.15.4. Con le ritrasmissioni dei pacchetti e l'overhead, la larghezza di banda massima tipica è di circa 125 kbps. In altre parole, ordini di grandezza inferiori rispetto al 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 dalla RFC4944.

Per scoprire di più, consulta Indirizzi IPv6 nella Thread Guida introduttiva su openthread.io.

Router di confine

In che modo i Nodi possono coesistere su entrambi i mezzi di trasporto pur trovandosi 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 (TBR) 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 "last-mile" 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 RFC.

I BR hanno quindi 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 di infrastruttura adiacenti. Pertanto, il BR inoltra solo gli unicast da o verso il prefisso IPv6 Thread.

I router di confine sono anche responsabili di:

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

Per saperne di più, consulta la guida di OpenThread Border Router (OTBR).

Multicast IPv6

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

Questo metodo consente di selezionare i nodi di destinazione di un pacchetto Multicast in base al prefisso IPv6 Unicast condiviso.

Ad esempio, un indirizzo Multicast Matter 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: indirizzi IPv6 basati su prefissoUnicast
Bits Descrizione
12 bit 0xFF3
4 bit 0x05

Ambito: site-local

8 bit 0x00

riservato

8 bit 0x40

Indica un prefisso long a 64 bit

8 bit 0xFD

Designa un prefisso ULA

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

Per saperne di più, consulta la sezione Multicast della guida introduttiva di 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 è all'interno di un fabric, 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 fabric.

Porte

Matter utilizza la porta 5540 per i suoi multicast.