Thread Routing Tree vs RPL DODAG Workbench

Build a correct mental model for Thread routing, then contrast it with an RFC 6550 RPL DODAG

animation
thread
routing
mle
rpl
mesh
Learner-ready Thread routing workbench that corrects the RPL DODAG misconception with an interactive MLE route-propagation model, scenario controls, diagnosis cards, and primary source links.
Thread mesh MLE Route propagation RPL contrast

Thread routing is a mesh route-cost problem, not an RPL DODAG.

This workbench uses the old "Thread DODAG" topic slot to fix the mental model: Thread uses Mesh Link Establishment, router IDs, parent-child attachment, router-router links, and distance-vector-style route propagation. RPL DODAG terms such as DIO, DAO, Rank, and DODAG root belong to RFC 6550 RPL and are shown here only as a comparison.

Current stage Active scan
Thread evidence Beacon + Parent Request
Route model MLE route cost
Diagnosis Stable mesh

Thread routing workbench

A new sleepy sensor scans for a commissioned Thread network and starts by finding a nearby parent. It is not listening for RPL DIOs.

Thread path Not RPL rank
Thread routing map Leader, Border Router, Routers, REED, and End Devices with MLE messages and route-cost links. Parent Request Border Router off-mesh link Leader Router ID manager Kitchen Router always-on Garage Router parent candidate Garden REED router-eligible Sleepy Sensor child Meter child Garden Sensor new child
Discover Active scan finds a commissioned Thread network. This is not an RPL DIS/DIO exchange.
Attach Parent Request, Parent Response, Child ID Request, and Child ID Response create a child-parent link.
Promote A REED can ask the Leader for a Router ID when coverage or path diversity needs it.
Link routers Router-router MLE Link Request and Link Accept messages establish bidirectional links.
Propagate routes MLE Advertisements carry leader data, network data, and route propagation information.
Adapt When a link fades, Thread updates next hops or the child reattaches to a better parent.

Correct label

The message in focus is a Thread MLE exchange. The RPL equivalent card below is only a contrast, not what Thread is sending.

First idea

Thread has two forwarding roles: Routers forward packets, while End Devices attach to a parent Router and do not forward for others.

What the Leader does

The Leader is a Router that manages the router set and network-wide configuration. It is not the same thing as a Thread Border Router.

What moves here

Watch MLE messages create parent-child links, promote a REED when useful, establish router-router links, and advertise route cost.

RPL contrast

RPL builds DODAGs with DIO messages and Rank. Thread routing should not be simplified into that same control plane.

1

Discover

Device scans for a Thread network and hears beacons from nearby Routers or REEDs.

2

Attach

Child sends Parent Request, evaluates Parent Responses, then confirms with Child ID exchange.

3

Promote

A REED may request a Router ID from the Leader when extra coverage or path diversity is needed.

4

Link routers

Routers use MLE Link Request and Link Accept messages to create bidirectional router links.

5

Propagate routes

MLE Advertisements disseminate leader data, network data, and route propagation information.

6

Adapt

When link quality changes, routers update next hops and End Devices may reattach to a better parent.

Thread diagnosis

Stable route through Garage Router

The child has a usable parent link, the router count is in the preferred operating band, and route cost can be advertised through the router set.

RPL guardrail

Do not label this DIO or DAO

Thread MLE messages are carrying link, leader, network, and route information. RFC 6550 DIO, DAO, and Rank are RPL terms.

Formula and units

Teaching score = hops + link penalty

This page uses a teaching score, not a normative Thread formula: one hop is 16 points, weak links add penalty, and link margin is shown in dB.

Thread Leader

A Router that manages the router set and distributes network-wide configuration inside one partition.

Border Router

Connects Thread to a non-Thread network. A Thread network can have more than one Border Router.

REED

A Router Eligible End Device can be promoted to Router after obtaining a Router ID from the Leader.

RPL DODAG

RPL nodes build DODAGs through DIO messages, Objective Functions, Rank, and DAO route advertisements.

Try first

Press Step until route propagation. Identify which messages are Thread MLE messages and which labels would only be valid for RPL.

Debug a weak room

Choose Link fade and lower the link margin. Notice whether the route changes parent, promotes a REED, or warns about partition risk.

Plan router density

Move Active routers below 16 and above 23. Thread tries to keep enough routers for coverage without filling the 32-router state limit.

Deeper notes: how this differs from a real RPL DODAG
  • Thread Router-to-Router connectivity is maintained by MLE link establishment and advertisements, not by RFC 6550 DIO messages.
  • Thread End Devices attach to exactly one parent Router; sleepy devices may keep their radios off and poll the parent.
  • The Thread Leader manages Router IDs and network-wide data, while Border Routers provide off-mesh connectivity. They can be different devices.
  • RPL Rank is a loop-avoidance and objective-function value in a DODAG. The route-cost numbers in this page are only a learner-facing score for comparing candidate next hops.
  • Use the dedicated RPL DODAG workbench when the learning goal is DIO, DIS, DAO, DAO-ACK, Rank, Objective Function, and DODAG repair.
Primary source links

OpenThread network discovery

MLE configuration, parent attach, network data, and route propagation in Thread.

Open source

OpenThread router selection

Connected Dominating Set, router upgrade/downgrade, Router ID, and MLE Link Request.

Open source

OpenThread roles

Router, End Device, REED, Leader, Border Router, partitions, and device limits.

Open source

RFC 6550 RPL

DODAGs, DIO, DAO, Objective Functions, Rank, and repair belong to RPL.

Open source