Thread-Netzwerkdaten enthalten Informationen über Border-Router und andere im Thread-Netzwerk verfügbare Server. Border-Router und Geräte, die Dienste anbieten, registrieren ihre Informationen beim Leader. Der Leader sammelt und strukturiert diese Informationen in den Thread-Netzwerkdaten und verteilt die Informationen an alle Geräte im Thread-Netzwerk.
Border-Router können dem Thread-Netzwerk zugewiesene Präfixe und Präfixe registrieren, für die sie Routen anbieten. Dienste können alle Informationen registrieren, die für den Dienst selbst relevant sind.
Die Informationen des Border-Routers und der Dienste können dauerhaft oder vorübergehend sein. Stabile Thread-Netzwerkdaten werden an alle Geräte verteilt, einschließlich Sleepy End Devices (SEDs). Temporäre Netzwerkdaten werden an alle Knoten außer SEDs verteilt.
Netzwerkdatenbefehle
Geben Sie help
ein, um eine Liste von netdata
-Befehlen aufzurufen:
netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done
full
-Befehle
Die full
-Befehle melden den Flag-Status oder prüfen das Flag, um nachzuverfolgen, ob der Callback „net data full“ (Nettodaten voll) aufgerufen wurde.
Dieser Befehl erfordert OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.
length
- und maxlength
-Befehle
Mit dem Befehl length
wird die aktuelle Länge der Thread-Netzwerkdaten als Anzahl von Byte abgerufen. maxlength
-Befehle rufen die maximal beobachtete Länge ab oder setzen die erfasste maximale Länge zurück.
publish
-Befehle
Der Netzwerkdaten-Publisher bietet Mechanismen zur Begrenzung der Anzahl ähnlicher Dienst- und Präfixeinträge (On-Mesh-Präfix oder externe Route) in den Thread-Netzwerkdaten. Dazu werden die Netzwerkdaten überwacht und festgelegt, wann Einträge hinzugefügt oder entfernt werden sollen.
Der Verlag oder Webpublisher benötigt OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
.
Netzwerk einrichten und Präfix konfigurieren
Neue Netzwerkkonfiguration generieren.
dataset init new
DoneRufen Sie die Netzwerkkonfiguration auf.
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Übertragen Sie das neue Dataset per Commit zum aktiven operativen Dataset im nichtflüchtigen Speicher.
dataset commit active
DoneThread-Schnittstelle aktivieren
ifconfig up
Donethread start
DoneZeigt IPv6-Adressen an, die der Thread-Schnittstelle zugewiesen sind.
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 DoneRegistrieren Sie ein IPv6-Präfix, das dem Thread-Netzwerk zugewiesen ist.
prefix add fd00:dead:beef:cafe::/64 paros med
Donenetdata register
DoneThread-Netzwerkdaten anzeigen.
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 DonePräfixe und Routen enthalten Argumentzuordnungen und den RLOC-Wert.
Diensteinträge enthalten otServiceConfig-Werte wie
mEnterpriseNumber
,mServiceData
,otServerConfig::mServerData
unds
, umotServerConfig::mStable
anzugeben. Das RLOC wird auch an das Ende des Datensatzes angehängt.Zeigt die aktuelle Länge der Thread-Netzwerkdaten von Partition in Byte an.
netdata length
23 DoneZeigt IPv6-Adressen an, die der Thread-Schnittstelle zugewiesen sind, einschließlich des hinzugefügten Präfixes.
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
An vorhandenes Netzwerk anhängen
Für die Verbindung eines Geräts mit einem Thread-Netzwerk ist nur der Netzwerkschlüssel erforderlich.
Obwohl dies nicht erforderlich ist, wird durch Angabe des Kanals die Notwendigkeit einer Suche über mehrere Kanäle vermieden, wodurch sowohl die Latenz als auch die Effizienz des Verknüpfungsvorgangs verbessert wird.
Nachdem ein Gerät erfolgreich mit einem Thread-Netzwerk verbunden wurde, ruft es das vollständige aktive operative Dataset ab.
Erstellen Sie ein partielles aktives operatives Dataset.
dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Donedataset commit active
DoneAktivieren Sie die Thread-Schnittstelle.
ifconfig up
Donethread start
DoneNachdem Sie eine Verbindung zum vorhandenen Netzwerk hergestellt haben, werden Thread-Netzwerkdaten angezeigt.
netdata show
Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: DoneZeigt die aktuelle Länge der Thread-Netzwerkdaten von Partition in Byte an.
netdata length
23 DoneZeigt IPv6-Adressen an, die der Thread-Schnittstelle zugewiesen sind.
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
Fehlerbehebung und Diagnose
Netzwerkdaten haben eine begrenzte Größe von 254 Byte. Wenn Border-Router weiter Einträge (z. B. Präfixe, Routen oder Diensteinträge) zu den Netzwerkdaten hinzufügen, können sie voll werden. In diesem Fall werden neue Anfragen von einem Border Router zum Hinzufügen neuer Elemente vom Leader abgelehnt oder ignoriert. Der Leader signalisiert dem Border Router nicht unbedingt die Ablehnung, sodass er möglicherweise nicht sofort erkennt, dass die Netzwerkdaten voll sind. Es gibt jedoch eine Methode, um zu erkennen, wann die Netzwerkdaten voll sind.
Die Erkennungsmethode, die sowohl auf Border-Routern als auch auf dem Leader implementiert ist, verwendet einen Callback-API-Mechanismus und ermöglicht es Nutzern, benachrichtigt zu werden, wenn die Netzwerkdaten voll sind. Der Callback kann verwendet werden, um Aktionen auszuführen, z. B. veraltete Präfixe oder Diensteinträge zu entfernen. Die netdata full
-Befehle werden für das Flag verwendet, das verfolgt, ob der Callback „net data full“ aufgerufen wurde. Mit diesen Befehlen kann der Status des Flags gemeldet oder zurückgesetzt werden.
Für die typischen Anwendungsfälle von Thread ist es unwahrscheinlich, dass die Netzwerkdaten vollständig sind, selbst wenn es viele Border Router gibt und alle Routenpräfixe hinzufügen.
Es ist technisch möglich, dass die Netzwerkdaten voll sind. Dies ist jedoch häufig auf eine fehlerhafte Konfiguration oder ein Problem mit dem Border Router zurückzuführen. Mit den Befehlen netdata length
und netdata maxlength
können Sie Fehler bei vollständigen Netzwerkdaten beheben.
length
ruft die aktuelle Länge der Netzwerkdaten ab, die als Byte gemeldet wird, und maxlength
ruft die maximal beobachtete Länge ab und kann auch die erfasste maximale Länge zurücksetzen.