A Thread Border Router connects a Thread network to other IP-based networks, such as Wi-Fi or Ethernet. A Thread network requires a Border Router to connect to other networks.
A Thread Border Router minimally supports the following functions:
- End-to-end IP connectivity via routing between Thread devices and other external IP networks
- External Thread Commissioning (for example, a mobile phone) to authenticate and join a Thread device to a Thread network
The quickest way to get started with OTBR is to try the Docker version. Run OTBR in a Docker container on any Linux-based system or a Raspberry Pi 3B, using either a physical or simulated NCP.
See the Docker Support Overview for more information.
OTBR also runs directly on a supported platform:
- Choose a platform:
- Build and configure OTBR
- Learn about tools and scripts included with OTBR
Get the code
To go straight to the source code, see the OpenThread Border Router GitHub repository.
You can contribute to the ongoing development of OpenThread Border Router by submitting bug reports and feature requests to the Issue Tracker.
A member of the OT community has enabled OTBR support using QEMU, an open-source machine emulator and virtualizer. The project emulates Raspbian on an ARM architecture.
Features and services
OTBR includes a number of features, including:
- Web GUI for configuration and management
- Thread Border Agent to support external commissioning
- DHCPv6 Prefix Delegation to obtain IPv6 prefixes for a Thread network
- NAT64 for connecting to IPv4 networks
- DNS64 to allow Thread devices to initiate communications by name to an IPv4-only server
- Thread interface driver using
- Docker support
A Border Agent relays Mesh Commissioning Protocol (MeshCoP) messages between a Commissioner and a Thread network to support External Thread Commissioning in authenticating and joining Thread devices to a Thread network. For communication with an external Commissioner, the Border Agent uses standard UDP sockets.
In the NCP design, where Thread functions are offloaded to an NCP and OTBR runs on the host side, the Border Agent runs on the NCP:
The Border Agent implemented in OTBR utilizes the following third-party components:
- libcoap — An open-source C implementation of CoAP
- mbed TLS — Supports DTLS communication with an external Commissioner
Border Router services
OTBR provides the following services:
- mDNS Publisher — Allows an External Commissioner to discover an OTBR and its associated Thread network
- PSKc Generator — For generation of PSKc keys
- Web Service — Web UI for management of a Thread network
- WPAN Controller — DBus operations for control of the WPAN interface
Third-party components for Border Router Services include Simple Web Server and Material Design Lite for the framework of the web UI.