使用活跃和待处理的操作数据集对象管理线程网络配置参数。OT CLI 包含用于获取和设置活跃和待处理数据集的命令。
警告 - 限制在生产环境中使用!
用于写入或更改活跃和待处理操作数据集的 CLI 命令可能允许出于测试目的设置无效参数或无效的参数组合。以下 CLI 命令只能用于:
- 为新创建的 Thread 网络中的第一个设备配置网络参数。
- 用于测试(不适用于正式版设备)。
在生产 Thread 网络中,写入或更改操作数据集的正确方法是通过执行调试的委员会。不是活跃的调试器且属于 Thread 网络的生产设备不得以任何方式修改操作数据集。
活跃的运营数据集
活跃操作数据集包含当前在整个 Thread 网络中使用的参数。活跃运营数据集包含:
- 活动时间戳
- 渠道
- 频道掩码
- 扩展 PAN ID
- 网状网本地前缀
- 网络名称
- PAN ID
- PSKc
- 安全政策
若要轻松配置设备以使其成为 Thread 网络的完整成员,您可以使用 dataset active -x 命令获取十六进制编码的 TLV,并使用 dataset set active 命令在新设备上设置数据集。
在现有设备上,获取十六进制编码的 TLV:
dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
在新设备上,设置活跃数据集:
dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
待运行的数据集
待处理操作数据集用于在更改生效之前传达对活跃操作数据集的更改。待处理的操作数据集包含活跃操作数据集中的所有参数,并添加了以下内容:
- 延迟计时器
- 待处理时间戳
开始使用
如需从命令行管理数据集,请使用 Docker 完成我们的模拟 Codelab,并查看 CLI 命令参考文档。
如需查看 dataset
命令列表,请输入 help
:
dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done
参数映射
安全政策
安全政策命令使用参数映射来获取和设置 otSecurityPolicy 成员。例如 dataset active
:
dataset active
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
在此示例中,Security Policy: 0
表示 mRotationTime。mRotationTime
以下是所有安全政策 CLI 参数以及每个参数对应的 otSecurityPolicy
成员的列表:
o
:mObtainNetworkKeyEnabledn
:mNativeCommissioningEnabledr
:mRoutersEnabledc
:mExternalCommissioningEnabledb
:mBeaconsEnabledC
:mCommercialCommissioningEnablede
:mAutonomousEnrollmentEnabledp
:mNetworkKeyProvisioningEnabledR
:mNonCcmRoutersEnabled
dataset securitypolicy
get 和 set 命令也使用相同的参数映射,例如设置 securitypolicy
并传递 o
、n
、r
和 c
:
dataset securitypolicy 672 onrc
Done
数据集组件和 mgmt
命令
借助有效数据集和待处理数据集的 mgmtgetcommand
和 mgmtsetcommand
以及其他参数,您可以获取和设置 otOperationalDatasetComponents 的任意组合:
activetimestamp
pendingtimestamp
networkkey
networkname
extpanid
localprefix
delaytimer
panid
channel
securitypolicy
对于 mgmtgetcommand
,您可以按任意顺序指定这些组成部分,以获取相应的值。(可选)您还可以传递 -x
,以使用被视为 TLV 的字节序列表示形式的十六进制字符串。这可以是您可能需要添加其他参数以及其他参数的供应商专用 TLV。
mgmtgetcommand
还允许您选择性地指定主要副本的 IPv6 地址。否则,使用前导 ALOC。
dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]
例如,如需获取 activetimestamp
和 securitypolicy
,请使用以下参数:
dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done
如需设置组成部分,您还可以按任意顺序提供数据集组成部分,后跟组成部分值。
dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]
如需设置 activetimestamp
和 securitypolicy
,请使用以下参数:
dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done