RPL vs CORPL vs CARP: IoT Routing Protocol Comparison
Advertisement
This article compares and contrasts three network layer routing protocols used in the Internet of Things (IoT): RPL, CORPL, and CARP. Understanding the differences between these protocols is crucial for selecting the right one for your specific IoT application. The network layer is responsible for routing and encapsulation. The routing layer handles packet transfer from source to destination, while the encapsulation layer takes care of packet formation.
RPL (Routing Protocol for Low-Power and Lossy Networks)
RPL, as defined in RFC6550, is a distance-vector routing protocol designed for low-power and lossy networks. Here’s a breakdown of its key features:
- It supports various data link protocols.
- It constructs a DODAG (Destination Oriented Directed Acyclic Graph). This graph ensures a single route from each node to the root node, and all traffic is routed via this path.
- At startup, each node sends a DODAG Information Object (DIO). These messages propagate through the network, facilitating the construction of the DODAG.
- When a node wants to communicate, it sends a DAO (Destination Advertisement Object) to its parent. The DAO propagates to the root, which then decides how to transmit the data based on the destination information.
- Nodes can join the network by sending a DODAG Information Solicitation (DIS) request. The root replies with a DAO-ACK to confirm the joining approval.
- In stateless communication scenarios, all communications happen via the root, as it has complete knowledge of the DODAG graph.
- Stateful nodes know their parents and children. Communication within a sub-tree of the DODAG doesn’t need to go through the root.
CORPL (Cognitive RPL)
CORPL is an extension of RPL, specifically designed for cognitive networks. Key features include:
- It’s built upon the foundation of the RPL protocol.
- It’s designed for cognitive networks, enabling more intelligent routing decisions.
- It utilizes the DODAG topology inherited from RPL.
- It employs opportunistic forwarding, allowing nodes to forward packets based on available opportunities.
- Each node maintains information about its forwarding set, rather than solely relying on the parent.
- Nodes exchange information using DIO messages to construct their forwarding sets.
CARP (Channel Aware Routing Protocol)
CARP is a routing protocol tailored for underwater communication, but also applicable to IoT environments requiring lightweight packets. Its features are:
- CARP stands for Channel Aware Routing Protocol.
- It’s developed for underwater communication, but it can also be used for IoT due to its lightweight packets.
- It selects forwarding nodes based on link quality, leveraging available historical data from neighbors.
- CARP routing involves two main steps: network initialization and data forwarding.
- During network initialization, a HELLO packet is broadcast from the sink node to all other nodes.
- In data forwarding, packets are routed hop-by-hop from the sensor to the sink. Each hop is determined independently of others.
- E-CARP represents an enhancement to the original CARP protocol.
RPL vs CORPL vs CARP: Comparison Table
The following table provides a concise comparison of the key features of RPL, CORPL, and CARP:
Features | RPL | CORPL | CARP |
---|---|---|---|
Full Form | Routing Protocol for Low-Power and Lossy Networks | Cognitive RPL | Channel-Aware Routing Protocol |
Server technologies | Supported | Supported | Not supported |
Security | Not supported | Not supported | Not supported |
Storage management | Supported | Not supported | Supported |
Data management | Supported | Supported | Supported |