29  RPL DODAG Construction Process

In 60 Seconds

DODAG construction is the step-by-step process by which RPL builds a routing tree in IoT networks: the root broadcasts DIO messages, nodes calculate RANK values based on link quality (ETX), select optimal parents, and announce reachability via DAO messages. The Trickle algorithm then reduces control traffic by up to 99.7% once the network stabilizes, conserving energy across all devices.

29.1 Learning Objectives

After completing this chapter series, you will be able to:

  • Visualize the complete DODAG construction algorithm tracing each phase step-by-step
  • Classify RPL control messages (DIO, DIS, DAO, DAO-ACK) by their direction and purpose
  • Calculate RANK values using ETX metrics and objective functions for parent selection
  • Apply the Trickle algorithm to achieve energy-efficient network maintenance
  • Design and troubleshoot RPL networks for production IoT deployments
Minimum Viable Understanding (MVU)

If you only have 10 minutes, focus on these three essentials:

  1. RPL uses four control messages – DIO (root advertises downward), DIS (nodes request info), DAO (nodes announce reachability upward), and DAO-ACK (root confirms routes). Understanding this message flow is the foundation of everything else.
  2. RANK determines parent selection – Each node calculates a RANK value based on link quality (ETX) and hop distance. Nodes always choose the parent that offers the lowest RANK to the root, creating an optimal tree structure.
  3. Trickle keeps it efficient – After the DODAG forms (30-120 seconds), the Trickle algorithm exponentially reduces control message frequency in stable networks, saving up to 99.7% of energy compared to periodic broadcasts.

Imagine building a team where everyone knows exactly how to pass a message to the captain!

29.1.1 The Sensor Squad Adventure: Building the Message Tree

The Sensor Squad was setting up sensors all around a big park to keep track of temperature and wildlife. But there was a problem – how would every sensor know the best way to send its data back to the main computer?

Sammy the Sensor was placed right next to the main computer (the “Root”). “I can hear the Root loud and clear!” said Sammy. “My connection is perfect – I will be the first relay!”

The Root started shouting: “Hey everyone! I am the Root! If you can hear me, join my team!” This was like sending a DIO message. Sammy heard it first and joined right away.

Lila the Light Sensor was a bit farther away. She could not hear the Root directly, but she could hear Sammy. “Sammy, how do I join the team?” she asked – that was her DIS message. Sammy replied with all the details, and Lila joined through Sammy.

Max the Motion Sensor was even farther out in the park. He could hear both Lila and another sensor named Bella the Barometer. Max had to pick: “Who gives me the clearest signal to reach the Root?” He checked his connections – Lila had a strong, reliable link while Bella’s was a bit fuzzy. Max chose Lila as his parent because the path through her had the best quality.

Once everyone joined, they each sent a message back toward the Root saying “I am here, and you can reach me through my parent!” – those were their DAO messages. The Root confirmed: “Got it! I know how to reach every single one of you now!”

And the best part? Once the team was set up, they did not need to keep shouting. They used a clever trick called Trickle – only sending check-in messages when something changed. If everything was peaceful in the park, they stayed quiet and saved their battery power for important sensor data!

29.1.2 Key Words for Kids

Word What It Means
DODAG A special tree-shaped network where every sensor knows the best path to the main computer
Root The main computer at the top of the tree that collects all the data
RANK A number that says how “far” a sensor is from the Root – lower is closer and better
Parent The sensor you pass your messages through to reach the Root
Trickle A clever way to save energy by talking less when nothing changes

If you are new to networking, think of DODAG construction as building a family tree for a sensor network. Here is the simplified idea:

The problem: You have dozens or hundreds of tiny sensors scattered around a building, farm, or city. Each sensor collects data (temperature, humidity, motion) and needs to send that data back to a central computer. But most sensors cannot reach the central computer directly – they need to pass messages through other sensors.

The solution: RPL automatically builds an organized tree structure where:

  • The root (central computer/gateway) sits at the top
  • Each sensor picks the best neighbor to relay its messages through
  • “Best” means the most reliable path with the fewest hops

An everyday analogy: Imagine a classroom game of telephone. Instead of whispering to just anyone, each student picks the classmate closest to the teacher who speaks the clearest. The result is an organized chain from every student back to the teacher – that chain is the DODAG.

Why “DODAG” and not just “tree”? A Destination-Oriented Directed Acyclic Graph is like a tree, but some nodes can have backup parents. If your primary relay breaks, you already know a backup route. The “acyclic” part means messages never go in circles – they always flow toward the root.

Key numbers to remember:

  • A typical network forms its DODAG in 30-120 seconds
  • Each node evaluates link quality using ETX (Expected Transmission Count – how many tries to deliver one packet)
  • After forming, control messages drop by 99%+ thanks to the Trickle algorithm

29.2 Overview: How RPL Builds DODAGs

RPL (Routing Protocol for Low-Power and Lossy Networks) constructs a DODAG (Destination-Oriented Directed Acyclic Graph) through a systematic process involving four control message types:

Four RPL control message types shown as labeled arrows: DIO broadcasts DODAG information downward from root to leaf nodes, DIS solicits DODAG information from neighbors, DAO advertises node reachability upward toward the root, and DAO-ACK confirms successful route installation from root back to node.
RPL control message types and their directional flow between root and leaf nodes.
Message Direction Purpose
DIO Root -> Leaves Advertise DODAG, propagate RANK
DIS Node -> Neighbors Request DODAG information
DAO Leaves -> Root Announce node reachability
DAO-ACK Root -> Leaves Confirm route installation

The construction process follows five phases: root initialization, first-hop joining, multi-hop expansion, DAO propagation, and steady-state maintenance. A typical 50-node network converges in 30-120 seconds, after which the Trickle algorithm minimizes control overhead while maintaining responsiveness to topology changes.

29.2.1 Five-Phase Construction Process

Linear flowchart showing the five phases of DODAG construction: Phase 1 Root Initialization at t=0-2s where root broadcasts RANK=0 DIO, Phase 2 First-Hop Join at t=2-5s where neighbors calculate RANK and send DAO, Phase 3 Multi-Hop Expansion at t=5-10s where DIS and DIO ripple outward, Phase 4 DAO Propagation at t=10-20s where all nodes announce reachability, and Phase 5 Steady State at t=30+ seconds where Trickle backs off to hourly DIOs.
The five phases of DODAG construction from root initialization to steady-state maintenance.

29.2.2 DODAG Tree Structure Example

Tree diagram of a DODAG with root node at RANK 0, two first-hop nodes A and B with RANK 307 and 512, second-hop node C at RANK 691 connected to A with ETX 1.5, leaf node D at RANK 973 connected to C with ETX 1.1, and a dashed backup link from D to B showing the alternate path.
Example DODAG tree showing RANK values and ETX metrics at each hop. Node D has a backup parent (Node B) shown with a dashed line.

29.3 Chapter Series: DODAG Construction Deep Dive

This topic is covered in four focused chapters, each exploring a specific aspect of DODAG construction:

29.3.1 1. Visual Construction Guide

RPL DODAG Visual Guide covers the step-by-step visual progression of DODAG formation:

  • 5-phase algorithm overview (root init through steady state)
  • DAG vs DODAG structural differences
  • 7-step temporal progression with real timing (t=0s to t=30+s)
  • Network convergence factors and optimization

29.3.2 2. Message Flow and Exchange

RPL DODAG Message Flow provides detailed protocol-level understanding:

  • Four control message types and their roles
  • Complete sequence diagrams with IPv6 addresses
  • RANK calculation using ETX link quality metrics
  • Parent selection when multiple candidates exist
  • Knowledge checks on network self-healing and optimization

29.3.3 3. Worked Example: Smart Lighting Network

RPL DODAG Worked Example walks through a realistic 10-node deployment:

  • Step-by-step RANK calculations with formulas
  • Multi-candidate parent selection decisions
  • Final DODAG structure interpretation
  • Routing implications (upward, downward, point-to-point)
  • Practice problems with solutions

29.3.4 4. Trickle Algorithm

RPL Trickle Algorithm explains energy-efficient maintenance:

  • “Polite gossip” metaphor for intuitive understanding
  • Three scenarios: stable, inconsistent, insufficient redundancy
  • Energy savings calculation (up to 99.7% reduction)
  • RFC 6206 parameter configuration guide
  • Configuration profiles for different applications

29.4 Worked Example: RANK Calculation for a 5-Node Office Network

Consider deploying a small RPL network in an office building with five sensor nodes and one border router (root). We will calculate the RANK for each node step by step.

Network layout:

  • Root (R): 6LoWPAN Border Router connected to the building management system
  • Node A: Temperature sensor in the hallway (ETX to Root = 1.2)
  • Node B: Humidity sensor in the lobby (ETX to Root = 2.0)
  • Node C: CO2 sensor in meeting room (ETX to A = 1.5, ETX to B = 1.8)
  • Node D: Occupancy sensor in breakroom (ETX to C = 1.1)

Step 1: Root broadcasts DIO with RANK = 0

The root initializes with RANK = 0 and a MinHopRankIncrease of 256 (default).

Step 2: First-hop nodes calculate RANK

Using the Objective Function with ETX metric (MRHOF):

\[\text{RANK} = \text{Parent RANK} + \text{ETX} \times \text{MinHopRankIncrease}\]

  • Node A: RANK = 0 + 1.2 x 256 = 307 (rounded from 307.2)
  • Node B: RANK = 0 + 2.0 x 256 = 512

Node A has the lower RANK, indicating a better path to the Root.

The RANK calculation is a weighted sum incorporating both distance and link quality.

\[\text{RANK}_{\text{node}} = \text{RANK}_{\text{parent}} + \text{StepOfRank}\]

where \(\text{StepOfRank} = \text{ETX} \times \text{MinHopRankIncrease}\).

For the office network example with MinHopRankIncrease = 256:

\[\begin{align*} \text{RANK}_{\text{Root}} &= 0 \\ \text{RANK}_A &= 0 + (1.2 \times 256) = 307 \\ \text{RANK}_B &= 0 + (2.0 \times 256) = 512 \\ \text{RANK}_C &= 307 + (1.5 \times 256) = 691 \quad \text{(via A)} \\ \text{RANK}_D &= 691 + (1.1 \times 256) = 973 \quad \text{(via C)} \end{align*}\]

Notice that Node C could also reach Root via Node B: \(\text{RANK} = 512 + (1.8 \times 256) = 973\). The path through A (RANK 691) is better than through B (RANK 973), so C selects A as its preferred parent. This demonstrates how RANK optimization finds the lowest-cost path, not just the shortest hop count.

Step 3: Node C evaluates two candidates

Node C can hear both A and B:

  • Through A: RANK = 307 + 1.5 x 256 = 691
  • Through B: RANK = 512 + 1.8 x 256 = 973

Node C selects Node A as preferred parent (RANK 691 < 973). Node B becomes a backup parent.

Step 4: Node D joins through Node C

  • Through C: RANK = 691 + 1.1 x 256 = 973

Step 5: DAO propagation

Each node sends a DAO message to its parent, propagating upward to the Root. The Root now has a complete routing table:

Directed graph of a 5-node office DODAG with Root at RANK 0, Node A at RANK 307 connected via ETX 1.2, Node B at RANK 512 via ETX 2.0, Node C at RANK 691 via Node A with ETX 1.5, and Node D at RANK 973 via Node C with ETX 1.1. Node C has a backup link to Node B with ETX 1.8.
Final DODAG structure for the 5-node office network showing calculated RANK values and ETX link metrics.
Node RANK Parent ETX to Parent Hop Count
Root 0 0
A 307 Root 1.2 1
B 512 Root 2.0 1
C 691 A 1.5 2
D 973 C 1.1 3

Key takeaway: Node C chose Node A over Node B despite B being only one hop from root. The cumulative path quality through A (RANK 691) was better than through B (RANK 973). RPL optimizes for end-to-end path quality, not just hop count.

29.5 Interactive: RANK Calculator

Use this calculator to explore how ETX and MinHopRankIncrease affect RANK values and parent selection:

29.6 Common Pitfalls in DODAG Construction

Common Pitfalls

1. Confusing RANK with hop count. RANK is NOT simply the number of hops to the root. RANK incorporates link quality (ETX), processing delay, and other metrics defined by the Objective Function. A 2-hop path with excellent links can have a lower RANK than a 1-hop path with a poor link. Always calculate RANK using the formula: RANK = Parent RANK + StepOfRank.

2. Assuming DODAG convergence is instant. A 50-node network typically takes 30-120 seconds to fully converge. During this window, routing is incomplete and some packets may be lost. Design your application to tolerate this startup delay – buffer sensor readings locally and transmit once the DODAG stabilizes. Do not rely on immediate end-to-end connectivity after power-on.

3. Ignoring the Trickle timer reset. When a topology change occurs (node failure, new node joining), the Trickle timer resets to its minimum interval, causing a burst of DIO messages. If you configure Imin too small (e.g., 1 ms), this burst can overwhelm constrained nodes. RFC 6206 recommends Imin >= 100 ms for typical IoT deployments.

4. Setting MinHopRankIncrease too low. A small MinHopRankIncrease (e.g., 1) makes RANK values nearly identical across nodes, leading to frequent parent switches (“RANK thrashing”). The default value of 256 provides sufficient granularity for most deployments. Only reduce it if you have many hops and need finer differentiation.

5. Forgetting DAO propagation in Non-Storing mode. In Non-Storing mode, the root must collect DAO messages from every node to build source routes. If a DAO is lost (no acknowledgment), the root has no downward route to that node. Always enable DAO-ACK in Non-Storing mode to ensure route completeness.

29.7 Quick Reference: DODAG Formation Timing

Phase Time Key Action
Root DIO t=0-2s Root broadcasts RANK=0
First-hop join t=2-5s Neighbors calculate RANK, send DAO
Multi-hop expand t=5-10s DIS/DIO ripple outward
DAO upward t=10-20s All nodes announce reachability
Steady state t=30+s Trickle backs off to hourly DIOs

29.8 Knowledge Check

Test your understanding of RPL DODAG construction:

Key Concepts

  • DODAG Formation: The process starting from the DODAG root sending DIO messages outward; neighboring nodes join and begin forwarding DIOs, building the DODAG tree iteratively.
  • RANK Calculation: The computation each node performs using its Objective Function to determine its RANK based on parent RANK plus a link cost increment.
  • Parent Selection: The process by which an RPL node selects its preferred parent (lowest RANK reachable with acceptable link quality) from its set of candidate parents.
  • DODAG Version: A counter that increments when a global repair is triggered; all nodes must use the same DODAG version to participate in the same routing structure.
  • Local Repair: An RPL repair triggered by a single node when its preferred parent becomes unreachable; the node selects a new parent without affecting the whole DODAG.
  • Global Repair: An RPL repair triggered by the DODAG root that increments the DODAG version, causing all nodes to rejoin the DODAG and rebuild routing tables.

29.9 Enhanced Summary

29.9.1 Core Concepts

RPL DODAG construction is the process by which low-power IoT devices self-organize into an efficient, loop-free routing topology. The protocol uses four message types (DIO, DIS, DAO, DAO-ACK) operating in a five-phase process that typically converges within 30-120 seconds.

29.9.2 Key Relationships

Mind map with central node RPL DODAG Construction branching into four areas: Messages with DIO, DIS, DAO, DAO-ACK; RANK Calculation with ETX, Objective Function, MinHopRankIncrease, Parent Selection; Phases with Root Init through Steady State; and Maintenance with Trickle Algorithm parameters and 99.7 percent energy savings.
Mind map summarizing the four pillars of RPL DODAG construction: message types, RANK calculation, construction phases, and maintenance via Trickle.

29.9.3 Essential Formulas

Formula Purpose
RANK = Parent_RANK + (ETX x MinHopRankIncrease) Calculate node position in DODAG
ETX = Probes_Sent / Probes_Acknowledged Measure link quality (1.0 = perfect)
Trickle Interval: I = I x 2 (up to Imax) Double timer in stable conditions
Trickle Reset: I = Imin Reset on inconsistency detection

Scenario: You’re deploying a smart agriculture system with 80 soil sensors across 8 hectares. You need to estimate how long the DODAG will take to fully converge after power-on.

Given Parameters:

  • Number of sensors: 80
  • Network topology: Border router at center, sensors distributed in 5 concentric rings (hops)
  • Trickle timer settings: Imin = 100 ms, Imax = 1 hour (12 doublings)
  • Average DIO processing time per node: 50 ms
  • DAO transmission time: 20 ms per hop

Step 1: Calculate DIO Propagation Time

DIO messages ripple outward hop-by-hop:

Ring 1 (1 hop):  t = Imin + processing = 100ms + 50ms = 150ms
Ring 2 (2 hops): t = 2 × 150ms = 300ms
Ring 3 (3 hops): t = 3 × 150ms = 450ms
Ring 4 (4 hops): t = 4 × 150ms = 600ms
Ring 5 (5 hops): t = 5 × 150ms = 750ms

DIO phase complete: 750 ms (~0.75 seconds)

Step 2: Calculate DAO Propagation Time

DAO messages flow upward from leaves to root:

Leaf nodes (5 hops) send DAO upward:
5 hops × 20ms per hop = 100ms

Intermediate nodes aggregate and forward:
Average aggregation delay: 30ms per node

Total DAO phase: 100ms + (5 hops × 30ms) = 250ms

DAO phase complete: 250 ms (~0.25 seconds)

Step 3: Account for Retransmissions

In lossy agricultural environment (15% packet loss):

Expected retransmissions per phase:
- DIO phase: 80 nodes × 0.15 = 12 retransmissions
- Retry delay: 200 ms each
- Total retry overhead: 12 × 200ms = 2,400ms

- DAO phase: 80 nodes × 0.15 = 12 retransmissions
- Retry overhead: 2,400ms

Step 4: Total Convergence Time

Phase                    | Time
-------------------------|--------
DIO propagation          | 750 ms
DIO retransmissions      | 2,400 ms
DAO propagation          | 250 ms
DAO retransmissions      | 2,400 ms
Settling time (buffer)   | 1,000 ms
-------------------------|--------
Total                    | 6,800 ms ≈ 7 seconds

Result: The DODAG will fully converge in approximately 7 seconds under normal conditions.

Factors That Increase Convergence Time:

  • High packet loss (30%): 7s -> 15s (more retransmissions)
  • Dense network (200 nodes): 7s -> 12s (more DIO/DAO traffic)
  • Deep topology (8 hops): 7s -> 11s (longer propagation paths)

Factors That Decrease Convergence Time:

  • Low packet loss (5%): 7s -> 4s (fewer retries)
  • Aggressive Imin (50ms): 7s -> 4.5s (faster DIO propagation)
  • Good link quality (ETX < 1.2): 7s -> 5s (fewer retransmissions)

Practical Tip: For time-critical deployments, use Imin = 50-100ms during initial formation, then increase to 1-5 minutes after convergence to save energy.

29.9.4 Design Decision Checklist

  • Objective Function: OF0 (hop count) for simple networks; MRHOF (ETX-based) for quality-sensitive deployments
  • Storing vs Non-Storing: Storing mode if nodes have RAM for routing tables; Non-Storing if nodes are very constrained (root handles all routes)
  • Trickle parameters: Imin = 100 ms (typical), Imax = 16-20 doublings, redundancy constant k = 10
  • MinHopRankIncrease: Default 256 for most deployments; increase for very deep networks

29.9.5 What to Study Next

If you want to… Go to…
See the visual step-by-step RPL DODAG Visual Guide
Understand message details RPL DODAG Message Flow
Practice RANK calculations RPL DODAG Worked Example
Learn energy-efficient maintenance RPL Trickle Algorithm
Compare routing modes RPL Routing Modes
Review pitfalls and tools RPL Summary and Tools

DODAG construction builds upon:

DODAG construction connects to:

Applications:

  • Smart building sensor networks (temperature, occupancy)
  • Agricultural monitoring (soil moisture across fields)
  • Street lighting mesh networks
  • Industrial IoT (factory floor sensors)

RPL Specifications:

Simulation Tools:

Deployment Guides:

Related Topics:

29.10 What’s Next

Previous Up Next
RPL Core Concepts Routing Fundamentals RPL DODAG Message Flow

Start with the visual guide for an intuitive understanding, then progress through message flow and the worked example:

After mastering DODAG construction, continue with: