Selezione del router

Visualizza il codice sorgente su GitHub

Insiemi dominanti connessi

OT Connected Dominating Set
Esempio di un insieme dominante connesso

I router devono formare un insieme dominante connesso (CDS), il che significa che:

  1. Esista un percorso solo per router tra due router.
  2. Qualsiasi router in una rete Thread può raggiungere qualsiasi altro router rimanendo interamente all'interno dell'insieme di router.
  3. Ogni dispositivo finale in una rete Thread è connesso direttamente a un router.

Un algoritmo distribuito gestisce il CDS, garantendo un livello minimo di ridondanza. Ogni dispositivo si connette inizialmente alla rete come dispositivo di destinazione (secondario). Quando lo stato della rete Thread cambia, l'algoritmo aggiunge o rimuove i router per mantenere il CDS.

Thread aggiunge router a:

  • Aumenta la copertura se la rete è al di sotto della soglia del router di 16
  • Aumentare la diversità dei percorsi
  • Mantieni un livello minimo di ridondanza
  • Estendere la connettività e supportare più bambini

Thread rimuove i router per:

  • Riduci lo stato di routing al di sotto del massimo di 32 router
  • Consentire nuovi router in altre parti della rete, se necessario

Eseguire l'upgrade a un router

Dopo essersi connesso a una rete Thread, il dispositivo secondario può scegliere di diventare un router. Prima di avviare la procedura di richiesta di collegamento MLE, il nodo secondario invia al nodo principale un messaggio di richiesta di indirizzo in cui chiede un ID router. Se il leader accetta, risponde con un ID router e il client esegue l'upgrade a router.

La procedura di richiesta di collegamento MLE viene poi utilizzata per stabilire collegamenti bidirezionali tra router e router con i router vicini.

  1. Il nuovo router invia una richiesta di collegamento multicast ai router vicini.
  2. I router rispondono con i messaggi Link Accept e Link Request.
  3. Il nuovo router risponde a ciascun router con un Link Accept unicast per stabilire il collegamento tra router.

Una richiesta di collegamento è una richiesta del router a tutti gli altri router della rete Thread. Quando diventa un router per la prima volta, il dispositivo invia una richiesta di collegamento multicast a ff02::2. In seguito, dopo aver scoperto gli altri router tramite gli annunci MLE, i dispositivi inviano richieste di collegamento unicast.

Richiesta di collegamento a MLE OT
Contenuti del messaggio di richiesta di collegamento
Versione Versione del protocollo Thread
Sfida Verifica la tempestività della risposta al link per impedire gli attacchi di replay
Indirizzo della fonte RLOC16 del mittente
Leader Data Informazioni sul leader del router, memorizzate sul mittente (RLOC, ID partizione, Peso partizione)

Un messaggio di accettazione e richiesta di collegamento è una combinazione dei messaggi di accettazione e richiesta di collegamento. Thread utilizza questa ottimizzazione nella procedura di richiesta di collegamento MLE per ridurre il numero di messaggi da quattro a tre.

Accetta e richiedi collegamento MLE OT

Un Link Accept è una risposta unicast a una richiesta di collegamento da un router adiacente che fornisce informazioni su di sé e accetta il collegamento al router adiacente.

Accetta link MLE OT
Collega i contenuti del messaggio di accettazione
Versione Versione del protocollo Thread
Risposta Verifica la tempestività della risposta al link per impedire gli attacchi di replay
Contatore Link Frame Contatore frame 802.15.4 sul mittente
Contatore frame MLE Contatore frame MLE sul mittente
Indirizzo della fonte RLOC16 del mittente
Leader Data Informazioni sul leader del router, memorizzate sul mittente (RLOC, ID partizione, Peso partizione)

Eseguire il downgrade a un REED

Quando un router esegue il downgrade a un REED, i relativi link router-router vengono disconnessi e il dispositivo avvia la procedura di attacco MLE per stabilire un link figlio-genitore.

Per ulteriori informazioni sulla procedura di associazione MLE, consulta Unisciti a una rete esistente.

In alcuni casi, potrebbe essere necessario stabilire un link di ricezione unidirezionale.

Dopo il ripristino dei dati di fabbrica di un router, i router vicini potrebbero avere ancora un link di ricezione valido con il router resettato. In questo caso, il router reimpostato invia un messaggio di richiesta di collegamento per ristabilire il collegamento tra i router.

Un dispositivo di destinazione potrebbe anche voler stabilire un link di ricezione con i router non principali vicini per migliorare l'affidabilità del multicast. Scopriremo di più su questo argomento quando arriveremo al routing multicast.

Riepilogo

Che cosa hai imparato:

  • I router in una rete Thread devono formare un insieme dominante connesso (CDS)
  • Viene eseguito l'upgrade dei dispositivi Thread a router o il downgrade a dispositivi di destinazione per mantenere il CDS
  • La procedura di richiesta di collegamento MLE viene utilizzata per stabilire i collegamenti tra router

Verificare di aver compreso

Quali di queste regole non vengono applicate da un insieme dominante collegato (CDS)?
Esista un percorso solo per router tra due router.
Sbagliato.
Qualsiasi router in una rete Thread può raggiungere qualsiasi altro router rimanendo interamente all'interno dell'insieme di router.
Sbagliato.
Ogni dispositivo finale di una rete Thread è connesso direttamente a un router.
Sbagliato.
Solo un router in una rete Thread può essere un router di confine.
risposta esatta. Una rete Thread può avere più router di confine.
Perché un router potrebbe essere rimosso da una rete Thread?
Per ridurre lo stato di routing al di sotto del massimo di 32 router.
risposta esatta. Le reti Thread si sforzano di mantenere un numero ottimale di router. Il numero massimo di router che qualsiasi rete Thread può avere è 32.
Per liberare i canali.
Sbagliato. Il numero di router non ha alcuna relazione con l'utilizzo o la capacità del canale.
Per consentire l'elezione di nuovi router in altre parti della rete, se necessario.
risposta esatta. La riduzione del numero di router attivi in una parte di una rete Thread aumenta la capacità di aumentare la capacità di routing altrove.
Che cosa deve accadere prima che un REED che sta tentando di diventare un router possa stabilire collegamenti diretti con gli altri router?
Il REED deve inviare un messaggio di richiesta di indirizzo al leader della rete.
risposta esatta.
Il leader deve concedere un ID router al REED.
risposta esatta. Senza un ID router, REED rimane un dispositivo secondario.
Il REED deve inviare una richiesta di collegamento MLE.
Sbagliato. La richiesta di collegamento MLE è il modo in cui il dispositivo stabilisce i collegamenti con altri router dopo essere diventato un router.
Quale delle seguenti affermazioni descrive accuratamente cosa accade quando viene eseguito il downgrade di un router?
Il dispositivo rimane automaticamente sulla rete, ma come secondario (REED).
Sbagliato. Il downgrade di un router prevede più passaggi.
Il dispositivo deve avviare la procedura di attacco MLE per stabilire una nuova connessione alla rete.
risposta esatta. Un dispositivo che esegue il downgrade da Router a REED viene disconnesso e deve rinegoziare la connessione alla rete.
Quale processo viene utilizzato per stabilire i link router-router?
La procedura di richiesta di collegamento MLE.
risposta esatta.
La procedura di accettazione e richiesta del collegamento.
Sbagliato. Non esiste una procedura di accettazione e richiesta di collegamento. I messaggi di accettazione e richiesta di collegamento vengono inviati dai router in risposta ai messaggi di richiesta di collegamento nell'ambito della procedura di richiesta di collegamento MLE.
La procedura di attacco MLE.
Sbagliato. Il processo di attacco MLE è il processo mediante il quale un dispositivo si connette a una rete Thread esistente.