Rilevamento e creazione di reti

Visualizza il codice sorgente su GitHub

Reti Thread

Le reti Thread sono identificate da tre identificatori univoci:

  • ID PAN (Personal Area Network) di 2 byte
  • ID rete di area personale estesa (XPAN ID) di 8 byte
  • Un nome di rete leggibile

Ad esempio, una rete Thread potrebbe avere i seguenti identificatori:

Identificatore Valore
ID PAN 0xBEEF
ID XPAN 0xBEEF1111CAFE2222
Nome rete yourThreadCafe
Scansione attiva OT

Quando crei una nuova rete Thread o ne cerchi una esistente a cui partecipare, un dispositivo Thread esegue una ricerca attiva delle reti 802.15.4 nel raggio d'azione del segnale radio:

  1. Il dispositivo trasmette una richiesta di beacon 802.15.4 su un canale specifico.
  2. In cambio, tutti i router o i dispositivi di endpoint idonei per i router (REED) in portata trasmettono un beacon contenente l'ID PAN, l'ID XPAN e il nome della rete della rete Thread.
  3. Il dispositivo ripete i due passaggi precedenti per ogni canale.

Una volta che un dispositivo Thread ha rilevato tutte le reti nel raggio d'azione, può collegarsi a una rete esistente o crearne una nuova se non vengono rilevate reti.

Thread utilizza il protocollo MLE (Mesh Link Establishment) per configurare i link e diffondere informazioni sulla rete ai dispositivi Thread.

Nella configurazione del link, l'MLE viene utilizzato per:

  • Scoprire i collegamenti ai dispositivi vicini
  • Determinare la qualità dei collegamenti ai dispositivi vicini
  • Stabilire collegamenti con i dispositivi vicini
  • Negozia i parametri di collegamento (tipo di dispositivo, contatori frame, timeout) con i peer

MLE diffonde i seguenti tipi di informazioni ai dispositivi che vogliono stabilire collegamenti:

  • Dati del leader (RLOC leader, ID partizione, Peso partizione)
  • Dati di rete (prefifissi on-mesh, configurazione automatica dell'indirizzo, route più specifici)
  • Propagazione delle route

La propagazione dei percorsi in Thread funziona in modo simile al Routing Information Protocol (RIP), un protocollo di routing basato sul vettore di distanza.

Crea una nuova rete

Se il dispositivo sceglie di creare una nuova rete, seleziona il canale meno occupato e un ID PAN non in uso da altre reti, quindi diventa un router e si autoproclama leader. Questo dispositivo invia messaggi di annunci MLE ad altri dispositivi 802.15.4 per informarli del suo stato di collegamento e risponde alle richieste di beacon di altri dispositivi Thread che eseguono una ricerca attiva.

Partecipare a una rete esistente

Se il dispositivo sceglie di partecipare a una rete esistente, configura il canale, l'ID PAN, l'ID XPAN e il nome della rete in modo che corrispondano a quelli della rete di destinazione tramite la messa in servizio Thread, quindi esegue la procedura di attacco MLE per collegarsi come dispositivo secondario (dispositivo di fine). Questo processo viene utilizzato per i collegamenti Child-Parent.

  1. Il nodo secondario invia una richiesta al nodo principale multicast a tutti i router e i REED vicini nella rete di destinazione.
  2. Tutti i router e i REED vicini (se la maschera di scansione della richiesta principale include i REED) inviano risposte principali con informazioni su di sé.
  3. Il bambino sceglie un dispositivo principale e invia una richiesta di ID bambino.
  4. L'account principale invia una Risposta ID secondario per confermare l'istituzione del collegamento.

1. Richiesta di un genitore

Una richiesta principale è una richiesta multicast dal dispositivo di accoppiamento che viene utilizzata per rilevare i router vicini e i dispositivi di endpoint idonei per i router (REED) nella rete di destinazione.

OT MLE Attach Parent Request
Contenuti del messaggio di richiesta del genitore
Modalità Descrive il dispositivo da collegare
Sfida Verifica la tempestività della risposta principale per prevenire attacchi di replay
Scan Mask Limita la richiesta solo ai router o sia ai router sia ai REED

2. Risposta del genitore

Una risposta principale è una risposta unicast a una richiesta principale che fornisce informazioni su un router o un REED al dispositivo di accoppiamento.

Risposta OT MLE Attach Parent
Contenuti del messaggio di risposta del genitore
Versione Versione del protocollo Thread
Risposta Copia della verifica della richiesta del genitore
Contatore Link Frame Contatore frame 802.15.4 sul router/REED
Contatore frame MLE Contatore frame MLE sul router/REED
Indirizzo della fonte RLOC16 del router/REED
Margine link Ricevere la qualità del segnale del router/REED
Connettività Descrive il livello di connettività del router/REED
Leader Data Informazioni sul leader del router/REED
Sfida Verifica la tempestività della richiesta di documento di identità del bambino per impedire attacchi di replay

3. Richiesta di documento di identità del bambino

Una richiesta di ID secondario è una richiesta unicast dal dispositivo di accoppiamento (secondario) che viene inviata al router o al REED (principale) allo scopo di stabilire un collegamento secondario-principale. Se la richiesta viene inviata a un REED, questo esegue l'upgrade a un router prima di accettarla.

OT MLE Attach Child ID Request
Contenuti del messaggio di richiesta dell'ID bambino
Versione Versione del protocollo Thread
Risposta Copia della verifica della risposta del genitore
Contatore Link Frame Contatore frame 802.15.4 sul dispositivo secondario
Contatore frame MLEContatore frame MLE sul bambino
Modalità Descrive l'elemento secondario
Timeout Durata dell'inattività prima che l'account principale rimuovi quello secondario
Registrazione dell'indirizzo (solo MED e SED) Registra gli indirizzi IPv6

4. Risposta ID secondario

Una risposta ID secondario è una risposta unicast del cliente principale inviata al cliente secondario per confermare che è stato stabilito un collegamento tra cliente principale e cliente secondario.

Risposta all'ID allegato del proprietario della proprietà OT MLE
Contenuti del messaggio di risposta all'ID secondario
Indirizzo della fonte RLOC16 del genitore
Address16 RLOC16 del bambino
Leader Data Informazioni sul leader del gruppo principale (RLOC, ID partizione, peso partizione)
Dati di rete Informazioni sulla rete Thread (prefissi on-mesh, autoconfigurazione dell'indirizzo, route più specifici)
Percorso (solo REED) Propagazione delle route
Timeout Durata dell'inattività prima che l'account principale rimuovi quello secondario
Registrazione dell'indirizzo (solo MED e SED) Conferma gli indirizzi registrati

Riepilogo

Che cosa hai imparato:

  • Un dispositivo Thread esegue una ricerca attiva delle reti esistenti
  • Thread utilizza la creazione di link mesh per configurare i link e diffondere informazioni sui dispositivi di rete
  • I messaggi di annunci MLE informano gli altri dispositivi Thread sullo stato della rete e del collegamento di un dispositivo
  • La procedura di associazione MLE stabilisce i link tra account secondari e account principali

Verificare di aver compreso

Quale identificatore non viene utilizzato per identificare una rete Thread?
Un ID PAN (Personal Area Network) di 2 byte.
Sbagliato. Una rete Thread è identificata, in parte, da un ID PAN.
Un ID XPAN (Extended Personal Area Network) di 8 byte.
Sbagliato. Una rete Thread è identificata, in parte, da un ID XPAN.
Un nome di rete leggibile.
Sbagliato. Una rete Thread è identificata, in parte, da un nome di rete leggibile.
Un SSID di 32 caratteri.
risposta esatta. A differenza di una rete Wi-Fi 802.11, gli identificatori di rete Thread non utilizzano un SSID.
A cosa serve una richiesta del genitore?
Per rilevare i router vicini e i dispositivi di endpoint idonei per i router (REED) nella rete di destinazione.
risposta esatta. Una richiesta principale viene inviata da un dispositivo che tenta di connettersi a una rete.
Per annunciare che un router diventerà un router principale.
Sbagliato. Un router non avvia una relazione principale-secondaria con un altro dispositivo di rete. Un dispositivo di rete seleziona invece un router come dispositivo secondario.
Per richiedere la promozione di un dispositivo di destinazione idoneo a router.
Sbagliato.
Una richiesta del genitore utilizza quale tipo di indirizzo?
unicast
Sbagliato.
anycast
Sbagliato.
multicast
risposta esatta.
annuncio
Sbagliato.
Quando un dispositivo si connette inizialmente a una rete Thread, qual è la sua classificazione?
Bambino (dispositivo di destinazione)
risposta esatta. Un dispositivo che si connette a una rete Thread inizia sempre come dispositivo di destinazione su quella rete.
FTD (Full Thread Device)
Sbagliato.
REED (Router-Eligible End Device)
Sbagliato.