Visualizza e gestisci i dati di rete con OT CLI

Visualizza il codice sorgente su GitHub

I dati di rete Thread contengono informazioni su router di confine e altri server disponibili nella rete Thread. Router di confine e dispositivi che offrono servizi registrare le proprie informazioni presso il Leader. Il leader raccoglie e struttura all'interno dei dati di rete Thread e le distribuisce a tutti i dispositivi della rete Thread.

I router di confine possono registrare prefissi e prefissi assegnati alla rete Thread per cui offrono percorsi. I servizi possono registrare qualsiasi informazione pertinente il servizio stesso.

Le informazioni sul servizio e sul router di confine possono essere stabili o temporanee. Filo stabile I dati di rete vengono distribuiti a tutti i dispositivi, inclusi i dispositivi finali di sonno (SED). I dati di rete temporanei vengono distribuiti a tutti i nodi, ad eccezione dei SED.

Comandi dati di rete

Per un elenco di comandi netdata, digita help:

netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done

Comandi full

I comandi full segnalano lo stato del flag o il flag monitora se la colonna "net data full" è stato richiamato.

Questo comando richiede OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Comandi length e maxlength

Il comando length recupera la lunghezza attuale dei dati di rete Thread, segnalati come numero di byte. I comandi maxlength ottengono la lunghezza massima osservata oppure reimposta la lunghezza massima tracciata.

Comandi publish

Il publisher di dati di rete fornisce meccanismi per limitare il numero di Voci di servizio e prefisso (prefisso nel mesh o route esterna) nel thread Dati di rete mediante il monitoraggio dei dati di rete e la gestione di quando aggiungere o rimuovere le voci.

L'editore richiede OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

Crea la rete e configura il prefisso

  1. Genera una nuova configurazione di rete.

    dataset init new
    Done
    
  2. Visualizza la configurazione di rete.

    dataset
    Active Timestamp: 1
    Channel: 13
    Channel Mask: 0x07fff800
    Ext PAN ID: d63e8e3e495ebbc3
    Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
    Network Key: dfd34f0f05cad978ec4e32b0413038ff
    Network Name: OpenThread-8f28
    PAN ID: 0x8f28
    PSKc: c23a76e98f1a6483639b1ac1271e2e27
    Security Policy: 0, onrcb
    Done
    
  3. Esegui il commit del nuovo set di dati nel set di dati operativo attivo in un ambiente non volatile archiviazione.

    dataset commit active
    Done
    
  4. Abilita l'interfaccia Thread

    ifconfig up
    Done
    thread start
    Done
    
  5. Visualizza gli indirizzi IPv6 assegnati all'interfaccia Thread.

    ipaddr
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    
  6. Registra un prefisso IPv6 assegnato alla rete Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Visualizza dati di rete Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    fd49:7770:7fc5:0::/64 s med 4000
    Services:
    44970 5d c000 s 4000
    44970 01 9a04b000000e10 s 4000
    Done
    

    I prefissi e le route includono mappature degli argomenti e il valore RLOC.

    I record dei servizi includono otServiceConfig di valori, tra cui mEnterpriseNumber, mServiceData, otServerConfig::mServerData e s per indicare otServerConfig::mStable. L'RLOC viene aggiunto anche alla fine del record.

  8. Visualizza la lunghezza attuale, in numero di byte, della rete Thread della partizione Dati.

    netdata length
    23
    Done
    
  9. Visualizza gli indirizzi IPv6 assegnati all'interfaccia Thread, tra cui aggiunto prefisso.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Collega a rete esistente

Per collegare un dispositivo a una rete Thread, è necessaria solo la chiave di rete.

Anche se non è obbligatorio, specificare il canale evita la necessità di eseguire ricerche canali multipli, migliorando la latenza e l'efficienza del processo di collegamento.

Dopo che un dispositivo si collega correttamente a una rete Thread, il dispositivo recupera il set di dati operativo attivo completo.

  1. Crea un set di dati operativo attivo parziale.

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Attiva l'interfaccia Thread.

    ifconfig up
    Done
    thread start
    Done
    
  3. Dopo aver eseguito il collegamento alla rete esistente, visualizza i dati di rete Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Visualizza la lunghezza attuale, in numero di byte, della rete Thread della partizione Dati.

    netdata length
    23
    Done
    
  5. Visualizza gli indirizzi IPv6 assegnati all'interfaccia Thread.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Debug e diagnostica

I dati di rete hanno una dimensione limitata di 254 byte. Se i router di confine continuano ad aggiungere (ad esempio prefissi, route o voci di servizio) ai dati di rete potrebbe riempirsi. In questo caso, le nuove richieste da un router di confine di aggiungere verranno rifiutati o ignorati dalla variante leader. Il leader non segnalare necessariamente il rifiuto al router di confine, in modo che quest'ultimo non ci si rende subito conto che i dati di rete si stanno esaurendo. Tuttavia, esiste un disponibile per rilevare quando i dati di rete stanno per esaurirsi.

Il metodo di rilevamento, implementato sia sui router di confine che sul leader, utilizza un meccanismo API di callback e consente agli utenti di ricevere notifiche quando i dati di rete pieno. Il callback può essere utilizzato per intervenire, ad esempio rimuovendo i prefissi inattivi o le voci di servizio. I comandi netdata full vengono utilizzati per il flag controlla se i valori di "dati netti pieni" è stato richiamato. Questi comandi puoi segnalare lo stato del flag o reimpostarlo.

Per i casi d'uso tipici di Thread, è improbabile che i dati di rete ricevano anche nello scenario in cui ci sono molti router di confine l'aggiunta di prefissi di route.

È tecnicamente possibile che i dati di rete si riempiano, ma spesso si tratta di una situazione a causa di una configurazione errata o di un problema sul router di confine. netdata length e netdata maxlength possono aiutare a eseguire il debug degli errori completi relativi ai dati di rete. length ottiene la lunghezza attuale dei dati di rete, riportata come byte e maxlength ottiene la lunghezza massima osservata e può anche reimpostare il valore lunghezza massima.