测试连接性

在 GitHub 上查看源代码

启动 OTBR Docker 后,构建 Thread 网络并测试其与互联网的连接性。

构建 Thread Network

OTBR Web GUI 首页

在运行 OTBR Docker 的机器上:

打开一个浏览器窗口,然后前往 127.0.0.1:8080。如果 OTBR Docker 正常运行,系统会加载 OTBR Web GUI。

选择“表单”菜单选项,然后更改一些默认凭据。我们建议您保留默认的“渠道”和“网状网络前缀”值。记下您使用的任何内容,以便稍后测试单独的 Thread 节点。

参数 示例值
网络名称 OTBR4444
PAN ID 0x4444
广告资源网键 33334444333344443333444433334444
扩展式 PAN ID 3333333344444444
口令 444444
频道 15
网状网络前缀 fd11:22::

选择 FORM 以构建 Thread 网络。在运行 OTBR Docker 的终端窗口中检查输出。您应该会看到添加网状网内前缀和 SLAAC 地址的 otbr-agent 日志输出:

otbr-agent[224]: [INFO]-CLI-----: execute command: prefix add fd11:22::/64 pasor

此输出对于 Thread 网络的互联网连接至关重要。

启动第二个 Thread 节点

在 OTBR Docker 启动并运行后,将一个独立的 Thread 节点添加到 Thread 网络,并测试其是否与互联网连接。

如果将实体 RCP 与 OTBR Docker 搭配使用,请使用第二个实体线程节点进行测试。如果将模拟 RCP 与 OTBR Docker 搭配使用,请使用第二个模拟节点进行测试。

实体线程节点

在您选择的受支持的平台上构建并刷写独立的 Thread 节点。此节点不必使用任何特定的构建开关进行构建。

如需了解基本构建说明,请参阅构建 OpenThread

如需详细了解如何构建和刷写 Nordic nRF52840 平台,请参阅使用 nRF52840 开发板和 OpenThread Codelab 构建 Thread 网络

  1. 构建并刷写后,通过 USB 将 Thread 设备连接到运行 OTBR Docker 的机器。在新终端窗口中使用 screen 访问 CLI。例如,如果设备安装在端口 /dev/ttyACM1 上:

    screen /dev/ttyACM1 115200
    

  2. Enter 键以调出 > OpenThread CLI 提示符。

“模拟线程”节点

  1. 在运行 OTBR Docker 的机器上打开一个新的终端窗口。

  2. 启动 CLI 应用以启动模拟节点:

    cd ~/openthread
    ./build/simulation/examples/apps/cli/ot-cli-ftd 2
    

  3. Enter 键以调出 > OpenThread CLI 提示符。

将第二个节点加入 Thread 网络

使用实体或模拟 Thread 节点的 OpenThread CLI,将节点加入由 OTBR Docker 创建的 Thread 网络。

  1. 使用 OTBR Docker 中的最低要求值更新节点的 Thread 网络凭据:

    dataset networkkey 33334444333344443333444433334444
    Done
    dataset commit active
    Done
    

  2. 调出 Thread 界面并启动 Thread:

    ifconfig up
    Done
    thread start
    Done
    

  3. 节点应自动加入 OTBR Thread 网络。在两分钟内,其状态应为 router

    state
    router
    

  4. 检查节点的 IP 地址,确保其具有在 Thread 网络形成期间指定的网状网内前缀为 fd11:22::/64 的 IPv6 地址:

    ipaddr
    fd11:22:0:0:614e:4588:57a1:a473
    fd33:3333:3344:0:0:ff:fe00:f801
    fd33:3333:3344:0:1b5f:db5:ecac:a9e
    fe80:0:0:0:e0c4:5304:5404:5f70:98cd
    

Ping 公共地址

此时,您应该能够从独立线程节点对公共 IPv4 地址执行 ping 操作。由于 Thread 仅使用 IPv6,因此公共 IPv4 地址将与 Thread 网络中的 NAT64 前缀结合,自动转换为 IPv6。

  1. 如需查看 Thread 网络中的 NAT64 前缀,请执行以下操作:

    netdata show
    Prefixes:
    fd11:22:0:0::/64 paros med d400
    Routes:
    fdb5:7875:8e0e:2:0:0::/96 sn low d400
    fd11:1111:1122:2222::/64 s med d400
    Services:
    44970 5d fd5179ed685532847aaa91505f016bbad11f s d400
    44970 01 00000500000e10 s d400
    Done
    
    其中 fdb5:7875:8e0e:2:0:0::/96 是 Thread 网络中的 NAT64 前缀。

  2. 从独立 Thread 节点的 CLI 中 ping IPv4 地址,以测试其互联网连接情况:

    ping 8.8.8.8
    Pinging synthesized IPv6 address: fdb5:7875:8e0e:2:0:0:808:808
    16 bytes from fdb5:7875:8e0e:2:0:0:808:808: icmp_seq=15 hlim=119 time=48ms
    

大功告成!第二个 Thread 节点现在可以通过 OTBR Docker 与互联网通信。