Supported Thread features¶
The OpenThread implementation of the Thread protocol supports all features defined in the Thread 1.1.1 Specification:
All Thread networking layers:
IEEE 802.15.4 with MAC security
Mesh Link Establishment
All device roles
Border Router support
The nRF Connect SDK is gradually implementing features from the Thread 1.2 Specification.
The features introduced with the Thread 1.2 Specification are fully backward-compatible with Thread 1.1 (more specifically, the Thread 1.1.1 Specification). Thread 1.2 improves network scalability, responsiveness, density, and power consumption. For more information about this Thread version, see the official Thread 1.2 in Commercial White Paper and the Thread 1.2 Base Features document.
In nRF Connect SDK, you can choose which version of the Thread protocol to use in your application. By default, nRF Connect SDK supports Thread 1.1, but you can enable and configure Thread 1.2 by using dedicated options.
All Thread 1.2 mandatory functionalities are currently implemented, except for the full Border Router support. See Thread 1.2 Specification options for the list of 1.2 features that are currently available in nRF Connect SDK, with information about how to enable them. Currently, the Thread: CLI sample is the only sample that provides an Experimental Thread 1.2 extension.
Coordinated Sampled Listening defined in IEEE 802.15.4-2015 is introduced by Thread 1.2 Specification to provide low latency communication for Sleepy End Devices. Thread 1.2 routers are required to support synchronized CSL transmissions to children which require them, known as Synchronized Sleepy End Devices (SSEDs). SSEDs are allowed to transmit frames normally at any time, but the routers should use the CSL transmission mechanism as long as the synchronization is maintained. This allows an SSED to stay in a sleepy state more than 99% of the time and only turn on its radio periodically for a few hundreds of microseconds in order to receive frames from its parent.
The most common use case for SSEDs is for developing low latency battery-powered actuators, such as window blinds.
Thread 1.2 Specification introduces the concept of Thread Domains.
A Thread Domain is a set of Thread Devices that receive and apply a common Thread Domain operational configuration. The Thread Domain operational configuration enables Thread Devices to join and participate in larger interconnected systems extending beyond the limits of a single Thread network. A user or network administrator may use functions of either Thread Commissioning or Thread Border Routers to set up a common Thread Domain operational configuration for Thread Devices. The Thread Devices can belong to different Thread networks or Partitions that have potentially different per-network credentials.
Thread 1.1 border routers have a limitation not to forward multicast traffic with scope greater than realm-local. For certain applications it could be useful to be able to control multicast groups from a host outside the Thread network. This is achieved in Thread 1.2 by allowing Thread border routers to forward multicast traffic with scope greater than realm-local in two ways:
From the Thread network to the exterior network: as a configuration option in the border router, for every multicast group.
From the exterior network to the Thread network: the Primary Backbone Router (PBBR) would forward only multicast traffic with a destination matching one of the multicast groups registered by Thread devices in its network.
For the second case, a Thread Commissioner can be used as well to register allowed multicast groups on behalf of the devices.
The OpenThread stack will automatically handle the registration of multicast groups with proper PBBR whenever they are configured in the device.