当前位置: 首页> 科技> 数码 > 安徽省建设监理协会_百度收录怎么做_百度app下载安装 官方_seo营销推广

安徽省建设监理协会_百度收录怎么做_百度app下载安装 官方_seo营销推广

时间:2025/9/16 8:37:16来源:https://blog.csdn.net/STAB_/article/details/146173281 浏览次数:0次
安徽省建设监理协会_百度收录怎么做_百度app下载安装 官方_seo营销推广

Docker 模拟 Thread 网络

    • 模拟两个节点之间通信
    • 验证连接情况
    • 对节点进行身份验证

OpenThread官方文档为我们提供了多种模拟构建Thread网络的方式,本人使用 windows + wsl + Ubuntu20.04 + Docker 的形式模拟。配置中最为困难的是Docker:由于其在24年末所有镜像都被封禁,必须自行寻找修改私源,这是本人修改的方式,做完这一切后,模拟起来就简单了。

以管理员方式打开终端,输入wsl进入root用户,拉取 openthread/environment 映像

docker pull openthread/environment:latest

在这里插入图片描述

从映像启动 Docker 容器并连接到它的bash shell,可选项 --rm 会在退出容器时自动删除该容器

docker run --name codelab_otsim_ctnr -it --rm \--sysctl net.ipv6.conf.all.disable_ipv6=0 \--cap-add=net_admin openthread/environment bash

在这里插入图片描述
由于篇幅原因,以下只展示几项比较常用的示例,其他操作原理相同

模拟两个节点之间通信

保持上述配置不动,在此终端中使用 ot-cli-ftd 二进制文件为模拟的 Thread 设备生成CLI进程

/openthread/build/examples/apps/cli/ot-cli-ftd 1

在这里插入图片描述

创建新的操作数据集,查看数据集信息,将其提交为活跃数据集,启动 IPV6 接口,启动 Thread 协议操作。

dataset init new
dataset
dataset commit active
ifconfig up
thread start![请添加图片描述](https://i-blog.csdnimg.cn/direct/d72389d502784ebc9e51dec9562e9725.png)

在这里插入图片描述
在这里插入图片描述
请添加图片描述
请添加图片描述
等待几秒后查看节点状态,发现该设备已经成为线程主要设备 leader,即负责管理路由器 ID 分配的设备:
请添加图片描述
查看节点1 的 Thread 接口的 IPV6 地址(不同设备输出会不同)

ipaddr

请添加图片描述

打开一个新终端,打开容器,创建节点2

docker exec -it codelab_otsim_ctnr bash
/openthread/build/examples/apps/cli/ot-cli-ftd 2

请添加图片描述
使用和节点 1 的操作数据集相同的值配置 Thread 网络密钥和 PAN ID

dataset networkkey yourfirstnetworkkey
dataset panid yourfirstpanid

请添加图片描述
用和 节点1 相同的方式,查看数据集信息,将其提交为活跃数据集,启动 IPV6 接口,启动 Thread 协议操作。
查看设备状态(初始化状态为 child ,但在一小段时间后会切换为 router)
请添加图片描述
在这里插入图片描述

验证连接情况

在节点 2 上,获取 RLOC16,即 IPV6 地址的最后16位

rloc16

请添加图片描述
在节点 1 上检查节点 2 的 RLOC16 路由器表,确保节点 2 已经切换到路由器状态。

router table

请添加图片描述
找到节点 1 的 EID,从节点 2 对节点 1 进行 ping 操作

ping yourfirstpointEID

请添加图片描述
请添加图片描述

在进行完以上操作后,不要退出,否则容器将被删除。下一个示例用于调试节点的身份验证功能,因此,我们需要对这两个节点恢复出厂设置。

停止节点 1 并停止 Thread

thread stop

查看节点 2 的状态,节点 2 检测到节点 1 已离线,节点 2 会转换为 leader
请添加图片描述
确认后将节点 2 停止 thread 并将节点 2 恢复 出厂设置,退出到 Docker bash 提示符

thread stop
factoryreset
exit

请添加图片描述
同时将节点 1 进行相同操作

对节点进行身份验证

创建过程与前面相似,不再给出命令行
创建一个新的节点 1,将其提交为活跃数据集,启动 IPV6 接口,启动 Thread 协议操作
请添加图片描述
在节点 1 上,启动 Commissioner 角色

commissioner start

请添加图片描述
允许具有 J01NME 连接者凭据的任何连接者通过 * 通配符委托到网络中。连接者是由真人管理员添加到委托 Thread 网络的设备

commissioner joiner add * J01NME

请添加图片描述
在第二个终端中建立节点 2,用 J01NME Joiner 凭据启用 Joiner 角色,当看到 Join success 时,代表通过节点 1 的身份验证
请添加图片描述
启动节点 2 的 Thread

thread start

请添加图片描述
检查节点 2 的状态以验证是否已加入网络,观察到 child 变化为 router
请添加图片描述
同时,节点 1 会输出以下类似信息:
请添加图片描述

通过以上实践,我们了解了如何配置节点、接入网络、身份验证等,这也为我们后续开源该协议提供了参考。

关键字:安徽省建设监理协会_百度收录怎么做_百度app下载安装 官方_seo营销推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: