I. INTRODUCTION
A. Contribution of the Survey
B. Overview of Related Survey Articles
C. Organization of the Survey
II. LOW-POWER AND LOSSY NETWORKS
A. LLN Characteristics
B. LLN Standards and Radio Technologies
C. Unique Routing Challenges in LLNs
D. LLNs Routing Requirements
III. THE IPV6 ROUTING PROTOCOL FOR LLNS (RPL)
A. RPL Topology and Operations
B. Objective Functions (OFs)
C. Routing Maintenance (Trickle Timer)
D. RPL’s Self-healing Mechanisms
E. RPL’s Security Features
F. RPL’s Implementations
IV. RPL LIMITATIONS AND DRAWBACKS
A. Objective Function Limitations
B. RPL Downward Routes
C. Routing Maintenance (Trickle Timer) Limitations
V. RPL’S ENHANCEMENTS: PROSPECTS AND PITFALLS
A. Objective Function Enhancements
B. Routing Maintenance Enhancements
C. RPL Downward Routes Enhancements
VI. RESEARCH DIRECTIONS AND OPEN ISSUES
A. Downward Traffic Patterns
B. Load-Balancing
C. Metric Composition
D. Single-instance vs Multi-instance Optimization
E. Real Testbeds Evaluation
F. A Thought on RPL Deployments
VII. CONCLUSION