%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
graph TD
BR["Border Router<br/>RANK 0<br/>(Floor 3, Roof)"]
MS1["Mains Sensor 1<br/>RANK 100"]
MS2["Mains Sensor 2<br/>RANK 100"]
MS3["Mains Sensor 3<br/>RANK 200"]
MS4["Mains Sensor 4<br/>RANK 200"]
BS1["Battery Sensor<br/>RANK 200"]
BS2["Battery Sensor<br/>RANK 300"]
BS3["Battery Sensor<br/>RANK 300"]
AC1["Actuator<br/>RANK 200"]
AC2["Actuator<br/>RANK 300"]
BR --> MS1
BR --> MS2
MS1 --> MS3
MS2 --> MS4
MS1 --> BS1
MS3 --> BS2
MS4 --> BS3
MS2 --> AC1
MS4 --> AC2
style BR fill:#2C3E50,stroke:#16A085,color:#fff
style MS1 fill:#16A085,stroke:#16A085,color:#fff
style MS2 fill:#16A085,stroke:#16A085,color:#fff
style MS3 fill:#16A085,stroke:#16A085,color:#fff
style MS4 fill:#16A085,stroke:#16A085,color:#fff
style BS1 fill:#E67E22,stroke:#16A085,color:#fff
style BS2 fill:#E67E22,stroke:#16A085,color:#fff
style BS3 fill:#E67E22,stroke:#16A085,color:#fff
style AC1 fill:#7F8C8D,stroke:#16A085,color:#fff
style AC2 fill:#7F8C8D,stroke:#16A085,color:#fff
720 RPL Lab: Network Design
720.1 Learning Objectives
By the end of this chapter, you will be able to:
- Design DODAG Topologies: Plan RPL network structures with appropriate node placement and parent relationships
- Assign RANK Values: Calculate and configure RANK for nodes based on hop count and objective functions
- Compare Operating Modes: Evaluate Storing vs Non-Storing modes for different building and deployment scenarios
- Identify Routing Nodes: Determine which devices should serve as RPL routers versus leaf nodes
- Optimize for Power: Design RPL networks that balance routing overhead with battery life requirements
720.2 Prerequisites
Required Chapters:
- RPL Fundamentals - Core RPL concepts and DODAG construction
- RPL Operation - Protocol mechanics and message types
- Routing Fundamentals - General routing background
Technical Background:
- IPv6 addressing basics
- Tree-based routing concepts
- Directed Acyclic Graphs (DAGs)
Lab Requirements:
- Contiki-NG or RIOT OS environment
- 6LoWPAN capable hardware (or simulator like Cooja)
- Wireshark with RPL dissector for packet analysis
Estimated Time: 45 minutes
TipFor Beginners: How to Use This Lab
What is this lab? A practical design exercise for RPL (Routing Protocol for Low-Power and Lossy Networks) network planning.
When to use: - After studying RPL fundamentals and DODAG construction - When you want hands-on routing design experience - Before implementing RPL in real networks
Key Concepts to Practice:
| Concept | Exercise Focus |
|---|---|
| DODAG Formation | Build routing trees |
| Rank Calculation | Understand path costs |
| Mode Selection | Storing vs Non-Storing |
| Memory Planning | Resource requirements |
720.3 Hands-On Lab: RPL Network Design
720.4 Summary
This hands-on lab demonstrated practical RPL network design skills:
- DODAG Topology Design: Strategic placement of border router and routing nodes based on network hierarchy and power availability is crucial for efficient RPL networks
- Memory Trade-offs: Storing mode distributes routing tables (~54 bytes per router) while Non-Storing mode centralizes at root (~990 bytes), impacting scalability differently
- Traffic Pattern Analysis: Many-to-one traffic shows identical performance in both modes, while point-to-point routing may benefit from Storing mode’s distributed tables
720.4.1 Key Design Principles
- Use mains-powered devices as routers - They have sufficient RAM and continuous power
- Configure battery sensors as leaf nodes - Minimize routing overhead
- Choose Non-Storing for sensor-heavy networks - Lower memory requirements
- Consider Storing for P2P-heavy networks - Better routing efficiency
720.5 What’s Next
Continue to RPL Knowledge Check to test your understanding with scenario-based quizzes, or explore RPL Quiz Questions for detailed concept review with explanations.