1. Thread边界路由工程概述

Thread是一种基于IEEE 802.15.4物理层、面向低功耗IPv6物联网设备的网状网络协议。它把6LoWPAN压缩、IPv6寻址、Mesh路由、UDP传输、链路层安全与网络管理整合为一套可自愈的网状网络,常用于智能家居、楼宇照明、传感器网络和工业监测。与Wi-Fi、蓝牙Mesh、Zigbee相比,Thread的关键差异在于:它原生使用IPv6,每个节点拥有可路由地址,网络可通过边界路由器与外部IP网络直接互通,而不需要复杂的应用层网关做协议翻译。

Thread网络中的设备分为两类角色。终端设备(End Device)通常是电池供电的传感器、开关或门锁,它们通过父节点接入网络,可休眠以节省功耗。路由器(Router)由市电供电,承担转发、路由维护和网络扩展职责,Thread最多允许32个活跃路由器,其余路由器可退化为“可路由终端”(REED)以降低开销。边界路由器(Border Router)则是Thread网络与外部网络之间的桥梁,它同时连接Thread网状网络和另一个IP网络(如以太网、Wi-Fi或蜂窝网络),并对外通告Thread前缀,使外部主机能够访问Thread内的设备。

边界路由器的作用远不止“转发IP包”。它通常承担以下职责:第一,提供IPv6前缀代理(NCP/OTBR中的Prefix Delegation),把外部网络分配的前缀引入Thread网络;第二,运行mDNS/DNS-SD服务发现,让外部设备通过服务名找到Thread内的节点;第三,提供NAT64或IPv4可达性,使仅支持IPv4的云服务能够访问Thread设备;第四,维护Thread网络与外部网络之间的路由和防火墙策略;第五,在Thread网络内部,边界路由器还常兼任Leader或Router角色,参与Mesh路由维护。因此,边界路由器既是“网关”,也是“路由器”,还是“服务代理”。

Silicon Labs为Thread边界路由提供了完整的软硬件方案。硬件侧,EFR32MG系列SoC(如MG21、MG24)集成2.4GHz射频、Cortex-M33内核和硬件加密加速器,可作为Thread RCP(Radio Co-Processor)或SoC运行完整协议栈。软件侧,Silicon Labs提供Gecko SDK、Simplicity Studio、OpenThread和ot-br-posix(OpenThread Border Router)参考实现。典型架构是:EFR32MG运行OpenThread RCP固件,通过UART或SPI连接到运行Linux的主机(如Raspberry Pi或i.MX平台),主机上运行otbr-agent和wpantund,对外通过以太网或Wi-Fi连接云端。这种“RCP+主机”架构把实时射频任务与IP服务分离,便于升级和调试。

学习Thread边界路由工程,建议按“协议基础→OpenThread API→RCP固件→主机侧otbr-agent→服务发现与NAT64→安全与运维”的路径推进。先理解Thread的Mesh路由、MLE、CoAP和6LoWPAN,再掌握OpenThread的CLI和API,然后动手烧录RCP固件、配置otbr-agent、验证前缀通告和mDNS,最后处理边界路由的故障排查与性能调优。下面这张图展示了Thread边界路由器在整体网络中的位置,以及Silicon Labs方案中RCP与主机侧的连接关系。

Thread边界路由器在整体网络中的位置与Silicon Labs方案架构 Thread Mesh 网络 IEEE 802.15.4 / 6LoWPAN / IPv6 R R R R R 传感器 开关 门锁 边界路由器 Border Router EFR32MG RCP OpenThread RCP固件 Linux主机 otbr-agent / wpantund mDNS / NAT64 / 防火墙 UART/SPI 802.15.4 外部IP网络 Ethernet / Wi-Fi / 蜂窝 IPv6 前缀通告 Prefix Delegation mDNS / DNS-SD 服务发现 NAT64 / IPv4可达 云服务访问 云平台 / 应用 IPv6 Thread Mesh节点 边界路由器/主机 云平台 802.15.4 Mesh链路 IPv6/UART

从图中可以看到,Thread Mesh网络内部由路由器节点和终端设备组成,边界路由器位于Mesh与外部IP网络之间。Silicon Labs方案中,EFR32MG作为RCP通过UART/SPI与Linux主机通信,主机侧运行otbr-agent和wpantund,负责前缀通告、mDNS服务发现、NAT64和防火墙策略。外部云平台通过IPv6或NAT64访问Thread设备。理解这张拓扑,是后续配置RCP固件、调试otbr-agent和排查边界路由故障的基础。

学习建议:先不要急于修改代码。建议先用两块EFR32MG开发板,一块烧录RCP固件,一块烧录CLI固件,通过Simplicity Studio的Network Analyzer观察Thread Mesh的MLE和CoAP报文,建立对Thread网络行为的直观认识,再进入边界路由器的配置与调试。