<ph type="x-smartling-placeholder"></ph>
在 GitHub 上查看源代码
Thread 网络数据包含有关边界路由器和其他服务器的信息 Thread 网络中的可用。边界路由器和提供服务的设备 向该负责人注册自己的信息。领导者负责收集和组织数据, 将这些信息包含在 Thread 网络数据中, Thread 网络中的所有设备。
边界路由器可以注册分配给 Thread 网络的前缀和前缀 提供路线。服务可能会注册任何与 服务本身
边界路由器和服务信息可以是稳定的或临时的。稳定线程 网络数据会被分发到所有设备,包括 Sleepy End 设备 (SED)。 临时网络数据会分发到除 SED 之外的所有节点。
网络数据命令
如需查看 netdata 命令的列表,请输入 help:
netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done
full 命令
full 命令会报告标志状态或恢复标志跟踪
“净流量已用尽”回调函数被调用。
此命令需要 OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL。
length 和 maxlength 命令
length 命令会获取报告的当前 Thread 网络数据长度
以字节数表示。maxlength 命令可获取观察到的最大长度,或
重置跟踪的长度上限。
publish 命令
广告联盟数据发布商提供了一些机制来限制 线程中的服务和前缀(网状网前缀或外部路由)条目 通过监控网络数据并管理何时添加或 移除条目。
发布商要求使用 OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE。
建立网络并配置前缀
生成新的网络配置。
dataset init newDone显示网络配置。
datasetActive 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将新数据集提交到非易失性中的活跃运营数据集 storage。
dataset commit activeDone启用 Thread 接口
ifconfig upDonethread startDone显示分配给 Thread 接口的 IPv6 地址。
ipaddrfd3d: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注册分配给 Thread 网络的 IPv6 前缀。
prefix add fd00:dead:beef:cafe::/64 paros medDonenetdata registerDone显示 Thread 网络数据。
netdata showPrefixes: 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前缀和路由包括 参数映射和 RLOC 值。
服务记录包括 otServiceConfig 值(包括
mEnterpriseNumber、mServiceData、otServerConfig::mServerData和s,以指明otServerConfig::mStable。RLOC 也会附加到 记录。显示分区的 Thread 网络的当前长度(以字节数计) 数据。
netdata length23 Done显示分配给 Thread 接口的 IPv6 地址,包括 添加前缀。
ipaddrfd00: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
连接到现有网络
只有网络密钥才需要设备连接到 Thread 网络。
虽然不是必需的,但指定渠道可避免搜索 从而缩短连接过程的延迟时间和效率。
设备成功连接到 Thread 网络后, 完整的活跃运营数据集
创建部分活跃操作数据集。
dataset networkkey dfd34f0f05cad978ec4e32b0413038ffDonedataset commit activeDone启用 Thread 接口。
ifconfig upDonethread startDone连接到现有网络后,显示 Thread 网络数据。
netdata showPrefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: Done显示分区的 Thread 网络的当前长度(以字节数计) 数据。
netdata length23 Done显示分配给 Thread 接口的 IPv6 地址。
ipaddrfd00: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
调试和诊断
网络数据有 254 个字节的大小限制。如果边界路由器继续添加 (例如前缀、路由或服务条目) 发生这种情况时,来自边界路由器的新请求添加新 项将被主管拒绝或忽略。领先变体 必须向边界路由器发出拒绝信号,这样边界路由器就可以 不会立即意识到网络数据已满。不过,有一种 方法可用于检测网络数据是否已满。
在边界路由器和主要路由器上实施的检测方法使用
一种回调 API 机制,允许在使用网络数据连接时通知用户
满格。该回调可用于执行操作,例如移除过时的前缀
或服务条目netdata full 命令用于
会跟踪“净数据已满”回调函数被调用。这些命令
可以报告或重置旗帜状态
对于 Thread 的典型用例,网络数据 即使有多个边界路由器并且这些路由器全都是 添加路由前缀。
从技术上来讲,网络数据满是可能的,但通常
或边界路由器出现问题导致的。netdata length
和 netdata maxlength 命令可帮助调试网络数据完整错误。
length 获取网络数据的当前长度(以字节为单位报告),
maxlength 会获取观察到的最大长度,还可以重置跟踪的
最大长度。