Come funziona Thread?
Come funziona Thread: radio 802.15.4, 6LoWPAN e IPv6, ruoli dei dispositivi, border router, commissioning e sicurezza, il rapporto con Matter e quando sceglierlo.
Foto: HUUM / Unsplash
Dopo aver letto questo articolo saprai:
- Spiegare come 6LoWPAN dà a un dispositivo 802.15.4 un indirizzo IPv6 nativo
- Descrivere i ruoli nella mesh Thread, dai dispositivi finali sleepy al leader e al border router
- Scegliere tra Thread e Zigbee per un nuovo prodotto a basso consumo
In questa pagina
Thread è un protocollo per reti mesh wireless a basso consumo che dà ai dispositivi a batteria un indirizzo IPv6 nativo. Un sensore per porte Thread è raggiungibile con un normale pacchetto IP da un telefono sulla stessa rete Wi-Fi, attraverso un border router, senza alcuna traduzione di protocollo. È questa singola proprietà a distinguerlo da Zigbee e Z-Wave, che usano livelli di rete propri e hanno bisogno di un hub che parli con il mondo IP per conto loro.
Thread è stato sviluppato dal Thread Group, fondato nel 2014, ed è salito alla ribalta quando Matter lo ha adottato come trasporto a basso consumo. I border router sono ormai integrati in molti altoparlanti intelligenti, display, hub e in alcuni access point Wi-Fi, il che significa che spesso in una casa esiste già una rete Thread prima che venga installato il primo dispositivo Thread. Questa guida spiega lo stack, i ruoli nella mesh, come avviene il commissioning dei dispositivi e come vengono protetti, e la scelta tra Thread e Zigbee.
Che cos’è lo stack Thread?
Alla base di Thread c’è IEEE 802.15.4 a 2,4 GHz, la stessa radio usata da Zigbee, con la stessa velocità lorda di 250 kbit/s e gli stessi frame piccoli. Sopra, Thread esegue 6LoWPAN, un livello di adattamento IETF (RFC 4944) che comprime le intestazioni IPv6 e frammenta i pacchetti perché stiano nei frame radio da 127 byte. Sopra ancora ci sono IPv6 standard e UDP. Thread, deliberatamente, non definisce nulla sopra il livello di trasporto; le applicazioni portano il proprio protocollo, il più delle volte CoAP o Matter.
Costruire su standard IETF aperti significa che un dispositivo Thread usa le stesse primitive di indirizzamento e sicurezza di qualsiasi altro dispositivo IP. OpenThread, l’implementazione open source rilasciata da Google, è molto usata nei prodotti commerciali.
Quali sono i ruoli nella mesh?
I dispositivi di una rete Thread assumono uno tra diversi ruoli, e i ruoli cambiano dinamicamente.
I router sono dispositivi alimentati dalla rete elettrica che inoltrano il traffico e permettono ai nuovi dispositivi di collegarsi. Una rete supporta fino a 32 router attivi, abbastanza per una casa grande o per il piano di un edificio.
I dispositivi finali idonei a router (router-eligible end device) possono diventare router se la rete ne ha bisogno, e tornare dispositivi finali se ne ha troppi. La rete regola da sola il numero dei propri router.
I dispositivi finali (end device) si collegano a un router genitore e non inoltrano traffico. I dispositivi finali sleepy (sleepy end device) sono la variante a batteria: dormono, si risvegliano secondo il proprio programma e interrogano il genitore per i messaggi in coda. Una modalità sleepy sincronizzata, più recente, permette a genitore e figlio di concordare i momenti del risveglio, per una latenza più bassa a un consumo bassissimo.
Un router viene eletto leader e gestisce l’assegnazione degli indirizzi dei router e la configurazione della rete. Se il leader si guasta, un altro router subentra automaticamente. Non esiste un coordinatore nel senso di Zigbee; nessun singolo dispositivo è essenziale al funzionamento della rete.
L’instradamento usa un protocollo distance-vector con la qualità del collegamento misurata in entrambe le direzioni, e la mesh si ripara da sola quando i dispositivi spariscono. Se una rete si divide perché un collegamento cade, le due partizioni eleggono ciascuna un leader e continuano a funzionare, e si fondono di nuovo quando la connettività torna.
Cosa fa un border router?
Un border router è un dispositivo con una radio Thread e un’altra interfaccia IP, di solito Wi-Fi o Ethernet. Inoltra i pacchetti tra la mesh Thread e la rete di casa, annuncia il prefisso della rete Thread in modo che gli altri dispositivi possano instradare verso di essa, e fornisce servizi come la traduzione degli indirizzi per raggiungere destinazioni solo IPv4 e la scoperta dei servizi, così che i telefoni possano trovare i dispositivi Thread per nome.
Una rete Thread può essere servita da un numero qualsiasi di border router, e se uno viene scollegato gli altri continuano a funzionare. Thread 1.3, rilasciato nel 2022, ha standardizzato il comportamento del border router (raggiungibilità IPv6 attraverso il border router, scoperta dei servizi basata su DNS) e ha introdotto la certificazione dei border router. La condivisione delle credenziali di rete tra le app di fornitori diversi è rimasta un punto di attrito pratico nelle case con più fornitori; Thread 1.4, rilasciato nel settembre 2024, aggiunge una procedura standard di condivisione delle credenziali, così che un nuovo border router entri nella rete esistente invece di formarne una propria, e il supporto dipende dalle piattaforme che la implementano.
Come avviene il commissioning e come sono protetti i dispositivi?
Una rete Thread è identificata da un insieme di credenziali: un nome di rete, un PAN ID esteso, un canale e una chiave di rete. I dispositivi che possiedono le credenziali possono unirsi direttamente. Per quelli che non le hanno si esegue il commissioning: un commissioner, tipicamente un’app per telefono, autentica il nuovo dispositivo con un codice stampato su di esso o in un codice QR, stabilisce una sessione DTLS attraverso un router che fa da joiner relay e consegna le credenziali su quel canale cifrato. La chiave di rete non viene mai inviata in chiaro.
Tutto il traffico sulla mesh è cifrato e autenticato al livello 802.15.4 con AES, usando chiavi derivate dalla chiave di rete e ruotate secondo un programma. Poiché Thread è IP, le applicazioni aggiungono sopra la propria sicurezza end-to-end, che nel caso di Matter è un livello di sessione separato tra controller e dispositivo. Una rete Thread può quindi avere una protezione a più livelli: cifratura al livello di collegamento contro gli estranei e cifratura al livello applicativo, così che nemmeno un dispositivo sulla stessa mesh possa leggere il traffico di un altro.
Che rapporto c’è tra Thread e Matter?
Thread è uno dei tre trasporti su cui gira Matter, insieme a Wi-Fi ed Ethernet. Matter ha bisogno di una rete IP e Thread ne fornisce una ai dispositivi che non possono permettersi il Wi-Fi. Questo abbinamento ha trainato gran parte dell’adozione di Thread: un sensore o una serratura Matter su Thread entra nella rete attraverso un border router e viene poi controllato da qualsiasi controller Matter della casa, di qualunque ecosistema.
Thread si può usare anche senza Matter; i sistemi commerciali e per gli edifici lo usano con CoAP o con protocolli applicativi propri. La guida a Matter tratta il lato applicativo.
Come si confronta Thread con Zigbee?
I due condividono la radio e l’idea generale della mesh, quindi le differenze stanno nelle scelte fatte sopra.
Il vantaggio di Thread è IP. Indirizzamento end-to-end da qualsiasi dispositivo della rete di casa, più border router ridondanti, strumenti standard e nessun livello di traduzione tra la mesh e il cloud. L’elezione del leader e la gestione delle partizioni eliminano il punto singolo di guasto che un coordinatore Zigbee rappresenta.
Il vantaggio di Zigbee è la maturità. Ha un livello applicativo completo nella Zigbee Cluster Library, una base installata molto più ampia, un commissioning ben conosciuto e un indirizzamento di gruppo nativo su cui i sistemi di illuminazione fanno affidamento. Thread non ha un livello applicativo proprio, quindi un prodotto Thread senza Matter o un altro standard sopra è solo una rete che non ha nulla da dire.
Portata, consumi e comportamento rispetto alle interferenze sono paragonabili perché la radio è la stessa.
Per un nuovo prodotto consumer rivolto ai grandi ecosistemi della smart home, Thread con Matter è la direzione in cui le piattaforme stanno investendo. Per un sistema di illuminazione con strumenti consolidati, un’installazione per una utility o qualsiasi cosa richieda le funzioni specifiche di Zigbee, Zigbee resta una scelta ragionevole. La guida a Zigbee offre l’altra prospettiva.
Quando è adatto Thread?
Scegli Thread quando costruisci dispositivi a batteria o a basso consumo che devono essere raggiungibili via IP, soprattutto per la smart home sotto Matter, e quando puoi contare sulla presenza di border router. Preferiscilo dove gli hub di più fornitori devono convivere su un’unica rete. Evitalo dove le esigenze di banda superano ciò che 802.15.4 può trasportare, dove i dispositivi sono all’aperto o distribuiti su distanze oltre la portata di una mesh, o dove non esisterà alcuna infrastruttura di border router.
Per continuare
- Matter spiegato tratta il livello applicativo usato dalla maggior parte dei dispositivi Thread.
- Zigbee spiegato descrive in dettaglio l’alternativa più vicina.
- CoAP spiegato tratta il protocollo che Thread usa per la propria gestione e che molte applicazioni Thread adottano.
- Panoramica della connettività IoT confronta Thread con le altre opzioni radio.
- 17 ottobre 2026: condivisione standard delle credenziali attribuita a Thread 1.4 (settembre 2024), non a 1.3; descrizione di OpenThread corretta; fonti collegate
Come gestiamo le correzioni: politica editoriale (in inglese).
Argomenti: Thread, mesh, IPv6, smart home, protocolli