Node Roles and Types

View source on GitHub

Forwarding roles

OT Node Roles

In a Thread network, nodes are split into two forwarding roles:

Router

A Router is a node that:

  • forwards packets for network devices
  • provides secure commissioning services for devices trying to join the network
  • keeps its transceiver enabled at all times

End Device

An End Device (ED) is a node that:

  • communicates primarily with a single Router
  • does not forward packets for other network devices
  • can disable its transceiver to reduce power

Device types

Furthermore, nodes comprise a number of types.

OT Device Taxonomy

Full Thread Device

A Full Thread Device (FTD) always has its radio on, subscribes to the all-routers multicast address, and maintains IPv6 address mappings. There are three types of FTDs:

  • Router
  • Router Eligible End Device (REED) — can be promoted to a Router
  • Full End Device (FED) — cannot be promoted to a Router

An FTD can operate as a Router (Parent) or an End Device (Child).

Minimal Thread Device

A Minimal Thread Device does not subscribe to the all-routers multicast address and forwards all messages to its Parent. There are two types of MTDs:

  • Minimal End Device (MED) — transceiver always on, does not need to poll for messages from its parent
  • Sleepy End Device (SED) — normally disabled, wakes on occasion to poll for messages from its parent

An MTD can only operate as an End Device (Child).

Upgrading and downgrading

When a REED is the only node in reach of a new End Device wishing to join the Thread network, it can upgrade itself and operate as a Router:

OT End Device to Router

Conversely, when a Router has no children, it can downgrade itself and operate as an End Device:

OT Router to End Device

Other roles and types

Thread Leader

OT Leader and Border Router

The Thread Leader is a Router that is responsible for managing the set of Routers in a Thread network. It is dynamically self-elected for fault tolerance, and aggregates and distributes network-wide configuration information.

Border Router

A Border Router is a device that can forward information between a Thread network and a non-Thread network (for example, Wi-Fi). It also configures a Thread network for external connectivity.

Any device may serve as a Border Router.

Partitions

OT Partitions

A Thread network might be composed of partitions. This occurs when a group of Thread devices can no longer communicate with another group of Thread devices. Each partition logically operates as a distinct Thread network with its own Leader, Router ID assignments, and network data, while retaining the same security credentials for all devices across all partitions.

Partitions in a Thread network do not have wireless connectivity between each other, and if partitions regain connectivity, they automatically merge into a single partition.

Note that the use of "Thread network" in this primer assumes a single partition. Where necessary, key concepts and examples are clarified with the term "partition." Partitions are covered in-depth later in this primer.

Device limits

There are limits to the number of device types a single Thread network supports.

Role Limit
Leader 1
Router 32
End Device 511 per Router

Thread tries to keep the number of Routers between 16 and 23. If a REED attaches as an End Device and the number of Routers in the network is below 16, it automatically promotes itself to a Router.

Recap

What you learned:

  • A Thread device is either a Router (Parent) or an End Device (Child)
  • A Thread device is either a Full Thread Device (maintains IPv6 address mappings) or a Minimal Thread Device (forwards all messages to its Parent)
  • A Router Eligible End Device can promote itself to a Router, and vice versa
  • Every Thread network partition has a Leader to manage Routers
  • A Border Router is used to connect Thread and non-Thread networks
  • A Thread network might be composed of multiple partitions

Check your understanding

A Thread network device can fulfill one of two forwarding roles. What are they?
Gateway.
End Device.
Router.
Child Node.
What are the two primary types of Thread device?
Minimal Thread Device (MTD).
Miniscule Thread Device (MTD).
Sleepy End Device (SED).
Full Thread Device (FTD).
Which of the following statements about Routers is not true?
A Router keeps its transceiver enabled at all times.
A Router provides secure commissioning services for devices trying to join the network.
A Router can disable its transceiver to reduce power.
A Router forwards packets for network devices.
When can a device upgrade itself to a Router?
When it is an End Device seeking to join the Thread network.
When it is a REED and the Thread network has merged with a larger network.
When it is a REED and it is the only node in reach of a new End Device seeking to join the Thread network.
When can a Router cause itself to stop acting as a Router?
When another device on the network elects to become a Router.
When a new End Device is seeking to join the Thread network.
When it has no children.
Consider a scenario where a Thread network contains two groups of nodes that have radio connectivity within the group, but not with members of the other group. What conclusion can one draw from this?
There is more than one partition in that network.
All the Routers in the network have gone offline.
The network lost its Leader.
What device is used to connect Thread and non-Thread networks?
A Border Router.
A Gateway.
A Firewall.
A Bridge.
How many Leaders may a Thread network partition have?
One and only one.
More than one.
Either none or exactly one.