Compare RPL mesh evidence with Thread claims
Trace routing and Border Router evidence, then place 6LoWPAN/RPL, Thread and Matter claims at the correct protocol boundaries.

Radio Remi — I trace the measured path and keep protocol claims separate.
Predict the reading, then compare it with the measurement.
Contiki-NG Cooja
Third party ToolTrace routing and Border Router evidence, then place 6LoWPAN/RPL, Thread and Matter claims at the correct protocol boundaries.
Download the complete lab packet and follow README.md to run it in the free simulator.
Download the setup and run guideGet the lab files
Download the complete packet for the simulation and its firmware, or download individual files for inspection. README.md gives the setup and run commands.
Steps
Step 1
- Do
- Open the CSC in Cooja and let its GUI pause at 89.065 simulated seconds. Trace root 1, routers 2 and 3, and end devices 4 and 5 in Network.
- You will see
- The running border router receives the fd00::/64 SLIP prefix at 2.065 s. Network shows mote 4 through relay 3 and mote 5 through relay 2, both toward root 1. The source log records #L parent annotations from the actual motes.
- Why it matters
- This establishes a before state for a controlled relay fault. Cooja runs Contiki-NG RPL over simulated 802.15.4; this is not a Thread role view.

Step 1 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 2
- Do
- In Mote output, filter for Received ping reply|Preferred parent and press Enter. Record both leaf replies and mote 5’s baseline parent.
- You will see
- Mote 4 receives an ICMP reply from fd00::201:1:1:1 in 112 ms, TTL 63. Mote 5 receives the same root address in 104 ms, TTL 63. At 85.065 s, mote 5 reports preferred parent fe80::202:2:2:2.
- Why it matters
- These real stack replies prove sampled IPv6 reachability before the fault. They do not prove a Thread child attachment or a Matter session.

Step 2 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 3
- Do
- Bring Radio messages to the front and select a captured row. Read its time, From, To, byte count and hexadecimal packet data.
- You will see
- At 85.863 s the real Cooja radio list shows packet 239, From 3 to [3 d]. Its selected packet data is 5 bytes: 02 00 1C 55 6F.
- Why it matters
- These bytes come from Cooja’s simulated radio during the firmware run. A short 802.15.4 row is protocol evidence, not a decoded Thread MLE or Matter exchange.

Step 3 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 4
- Do
- Minimize Radio messages and click Start/Pause once to continue past the scripted fault. At the 210-second stop, compare the Network arrows and the change timestamps in expected-output.txt.
- You will see
- The script removes preferred relay 2 at 90.065000 s. Mote 5 logs parent switch fe80::202:2:2:2 → fe80::203:3:3:3 at 101.046728 s. The measured change interval is 10.981728 simulated seconds; both leaves now use relay 3.
- Why it matters
- The new parent is an observed RPL routing event after a real simulated link intervention. It is not evidence of Thread MLE reattachment or physical radio resilience.

Step 4 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 5
- Do
- Filter Mote output for Received ping reply after the run stops. Compare each post-fault reply against that same mote’s baseline.
- You will see
- Mote 4 replies at 180.126952 s with delay 61 ms and TTL 63. Mote 5 replies at 190.153952 s with delay 88 ms and TTL 63. The four displayed replies confirm two sampled paths before and after the fault.
- Why it matters
- Mote 4 is the unaffected comparison; mote 5 had to change its next hop. Reply times are individual simulated samples, not a service guarantee or loss-free proof.

Step 5 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 6
- Do
- Filter Mote output for Preferred parent|-- OF|-- MOP|-- Rank. Fill the README comparison worksheet and classify each claim by protocol layer.
- You will see
- Mote 5 reports MOP Non-storing and OF MRHOF in both snapshots. Its preferred parent changes 2 → 3 while Rank changes 422 → 416. The headless ScriptRunner ends TEST OK; the stock UDP client still has no echo service.
- Why it matters
- These are Contiki-NG RPL fields and actual simulator output. A Thread claim needs separate MLE role/parent, dataset and Border Router traces; a Matter claim needs application and commissioning traces.

Step 6 · Contiki-NG Cooja; numbered callout added to a real capture. Enlarge screenshot (new tab)
Chapter checks
These questions refer to the chapter’s examples. Use the return links to review their answers.
A device must be a low-power mesh node and directly reachable as an IP endpoint without a protocol-translating gateway. Which comparison answer is strongest?
Return to the chapter’s knowledge checkA team is selecting connectivity for a new battery-operated door sensor. The claim is that the sensor should join a Matter smart-home system, report small state changes, and work beyond phone proximity through an owned home network path. Which review answer is strongest?
Return to the chapter’s knowledge check