Rilevamento e creazione di reti

Visualizza l'origine su GitHub

Reti Thread

Le reti Thread sono identificate da tre identificatori univoci:

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

Ad esempio, una rete Thread può avere i seguenti identificatori:

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

Quando crei una nuova rete Thread o ne cerchi una esistente da far parte, un dispositivo Thread esegue una scansione attiva per le reti 802.15.4 nell'intervallo radio:

  1. Il dispositivo trasmette una richiesta di beacon 802.15.4 su un canale specifico.
  2. In cambio, eventuali router o dispositivi finali idonei per router (REED) nel raggio d'azione trasmettono un beacon che contiene l'ID PAN, l'ID XPAN e il nome 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 nella portata, può collegarsi a una rete esistente o crearne una nuova se non vengono rilevate reti.

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

Nella configurazione dei link, lo standard MLE viene utilizzato per:

  • Scopri i link ai dispositivi vicini
  • Determina la qualità dei link ai dispositivi vicini
  • Stabilisci link a dispositivi vicini
  • Negoziare i parametri del link (tipo di dispositivo, contatori frame, timeout) con i peer

MLE divulga i seguenti tipi di informazioni ai dispositivi che vogliono stabilire link:

  • Dati leader (Leader RLOC, ID partizione, ponderazione della partizione)
  • Dati di rete (prefissi on-mesh, configurazione automatica degli indirizzi, route più specifiche)
  • Propagazione route

La propagazione delle route in Thread funziona in modo simile al protocollo Routing Information Protocol (RIP), un protocollo di routing a distanza.

Crea una nuova rete

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

Collegati a una rete esistente

Se il dispositivo sceglie di collegarsi a una rete esistente, configura il relativo canale, l'ID PAN, l'ID XPAN e il nome della rete in modo che corrispondano a quelli della rete di destinazione tramite Thread Commissioning, quindi completa il processo di collegamento MLE per il collegamento come secondario (dispositivo finale). Questa procedura viene utilizzata per i link bambino-genitore.

  1. Il publisher secondario invia una richiesta padre multicast a tutti i router e REED vicini della rete di destinazione.
  2. Tutti i router e gli REED adiacenti (se la maschera di scansione delle richieste padre include gli EDED) inviano le risposte principali con le relative informazioni.
  3. Il publisher secondario sceglie un dispositivo principale e vi invia una richiesta di ID figlio.
  4. Il publisher principale invia una risposta di ID secondario per confermare lo stato del collegamento.

1. Richiesta genitore

Una richiesta principale è una richiesta multicast proveniente dal dispositivo di collegamento utilizzata per rilevare i router vicini e i dispositivi finali idonei per i router nella rete di destinazione.

Richiesta genitore allegato OT MLE
Contenuti del messaggio di richiesta genitori
Modalità Descrive il dispositivo che collega
Sfida Testa la tempestività della risposta dei genitori per evitare attacchi di riproduzione
Scan Mask Limita la richiesta solo ai router o ai router e ai REED

2. Risposta genitore

Una risposta padre è una risposta unicast a una richiesta genitore che fornisce informazioni su un router o REED al dispositivo di collegamento.

OT MLE Associa risposta del genitore
Contenuti dei messaggi di risposta dei genitori
Versione Versione protocollo Thread
Risposta Copia della richiesta di verifica genitori
Contatore frame link Contatore frame 802.15.4 sul router/REED
Contatore MLE Frame Contatore MLE sul router/REED
Indirizzo di origine RLOC16 del router/REED
Margine del link Ricevi la qualità del segnale del router/REED
Connettività Descrive il livello di connettività del router/REED
Dati dei leader Informazioni sul router/responsabile REED
Sfida Testa la tempestività della richiesta di ID figlio per impedire gli attacchi di riproduzione

3. Richiesta ID figlio

Una richiesta di ID secondario è una richiesta unicast del dispositivo di collegamento (secondario) inviata al router o a REED (principale) allo scopo di stabilire un collegamento secondario-principale. Se la richiesta viene inviata a un REED, ne esegue l'upgrade a un router prima dell'accettazione.

Richiesta di allegato secondario OT MLE
Contenuti del messaggio di richiesta ID secondario
Versione Versione protocollo Thread
Risposta Copia della richiesta di verifica dei genitori
Contatore frame link 802.15.4 Contatore frame sul bambino
Contatore MLE FrameContatore MLE sul publisher secondario
Modalità Descrive il bambino
Timeout. Durata dell'inattività prima che il genitore rimuova il bambino
Registrazione dell'indirizzo (solo MED e SED) Registra indirizzi IPv6

4. Risposta ID figlio

Una risposta di ID secondario è una risposta unicast della risorsa principale inviata al publisher secondario per confermare che è stato stabilito un link di tipo secondario-principale.

OT MLE Attach Child ID Response
Contenuti del messaggio di risposta dell'ID bambino
Indirizzo di origine RLOC 16 del genitore
Indirizzo 16 RLOC 16 bambini
Dati dei leader Informazioni sulla leadership del genitore (RLOC, ID partizione, ponderazione della partizione)
Dati di rete Informazioni sulla rete Thread (prefissi on-mesh, configurazione automatica degli indirizzi, route più specifiche)
Route (solo REED) Propagazione route
Timeout. Durata dell'inattività prima che il genitore rimuova il bambino
Registrazione dell'indirizzo (solo MED e SED) Conferma gli indirizzi registrati

Riepilogo

Che cosa hai imparato:

  • Un dispositivo Thread esegue una scansione attiva per rilevare la presenza di reti esistenti
  • Thread utilizza Mesh Link Establishment per configurare i link e diffondere informazioni sui dispositivi di rete
  • I messaggi pubblicitari MLE informano gli altri dispositivi Thread della rete e di uno stato dei link
  • La procedura di collegamento MLE stabilisce i link Child-Parent

Verifica le tue conoscenze

Quale identificatore non viene utilizzato per identificare una rete Thread?
Un ID area personale di 2 byte (PAN ID).
risposta errata. Una rete Thread è identificata, in parte, da un ID PAN.
Un ID rete area estesa di 8 byte (ID XPAN).
risposta errata. Una rete Thread è identificata, in parte, da un ID XPAN.
Un nome di rete leggibile.
risposta errata. Una rete Thread è identificata, in parte, da un nome di rete leggibile dall'utente.
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.
Per cosa viene utilizzata una richiesta di genitore?
Per rilevare i router vicini e i dispositivi finali idonei (router) della rete di destinazione.
risposta esatta. Una richiesta principale viene inviata da un dispositivo che vuole collegarsi a una rete.
Per annunciare che un router sta diventando un genitore.
risposta errata. Un router non avvia una relazione padre-figlio con un altro dispositivo di rete. Invece, un dispositivo di rete seleziona un router per diventare il suo figlio.
Per richiedere la promozione di un Dispositivo finale idoneo per un router.
risposta errata.
Quale tipo di indirizzo viene utilizzato per una richiesta principale?
unicast
risposta errata.
anycast
risposta errata.
multicast
risposta esatta.
annuncio
risposta errata.
Quando un dispositivo si collega inizialmente a una rete Thread, qual è la relativa classificazione?
Bambino (dispositivo finale)
risposta esatta. Un dispositivo che si connette a una rete Thread inizia sempre come dispositivo finale su quella rete.
FTD (dispositivo full Thread)
risposta errata.
REED (dispositivo finale idoneo per il router)
risposta errata.