OpenThread Border Router

View source on GitHub

Thread 边界路由器(Border Router)用于将 Thread 网络连接到其他 IP-based 网络,例如 Wi-Fi 或 Ethernet(以太网)。Thread 网络至少需要一个边界路由器才能连接到其他网络。

OTBR Border Agent Architecture

Thread 边界路由器最低程度地支持以下功能:

  • Thread 和 Wi-Fi/Ethernet 之间的双向 IP 连接。
  • 通过 mDNS(在 Wi-Fi/Ethernet 链路上)和 SRP(在 Thread 网络上)的双向服务发现。
  • 通过 IP-based 链路合并 Thread 分区的 Thread-over-infrastructure。
  • 通过外部的 Thread Commissioning(例如手机)对 Thread 设备进行身份验证并将其加入到 Thread 网络。
Thread Certified

OpenThread 的边界路由器实现称为 OTBR(OpenThread Border Router),支持 无线协处理器(RCP,Radio Co-Processor) 设计。选择平台时,请考虑使用 RCP 的以下好处:

  • 更多资源:OpenThread 可以利用主机处理器的资源,这通常比 802.15.4 SoC 提供的资源多得多。
  • 更高的性价比:最大限度地降低对 802.15.4 SoC 的资源需求,从而获得更具成本效益的解决方案。
  • 更容易调试:由于大部分处理发生在主机处理器上,您可以在主机处理器上使用功能更强大的调试工具。
  • 更稳定的 802.15.4 SoC 固件:RCP 只实现 sub-MAC 和 PHY,降低了 802.15.4 SoC 的固件更新频率。
  • 更容易与主机的 IPv6 网络栈集成:在主机上运行 OpenThread 可以更直接地与主机的 IPv6 栈集成。

特性和服务

OTBR 包括许多特性,包括:

  • 用于配置和管理的 Web GUI
  • 支持 外部 commissioning 的 Thread 边界代理(Thread Border Agent)
  • Thread 网络用于获取 IPv6 前缀的 DHCPv6 前缀代理(DHCPv6 Prefix Delegation)
  • 用于连接到 IPv4 网络的 NAT64
  • 允许 Thread 设备根据名称发起与 IPv4-only 服务器通信的 DNS64
  • 使用 OpenThread 内置特性的 Thread 接口驱动程序
  • Docker 支持

边界路由器服务

OTBR 提供以下服务:

边界路由器服务(Border Router Services)使用到的第三方组件包括 Simple Web Server 和用于 Web UI 框架的 Material Design Lite。

OTBR 防火墙

OTBR 使用 iptablesipset 来实现以下入口过滤规则:

  • 阻止使用 On-Link 地址源发起的入站分组,例如 OMR(Off-Mesh Routable)和基于 Mesh-Local 前缀的地址。
  • 阻止目的地址不是 OMR 地址或 DUA(Domain Unicast Address)的入站单播分组。
  • 阻止源地址或目的地址为 Link-Local 的入站单播分组。请注意,此规则由内核处理,并未明确设置。