Channel-Aware Routing Protocol (CARP):
Channel-Aware Routing Protocol (CARP) is a distributed routing protocol designed for underwater communication.
It can be used for IoT due to its lightweight packets. It considers link quality, which is computed based on historical successful data transmission gathered from neighboring sensors, to select the forwarding nodes.
There are two scenarios: network initialization and data forwarding. In network initialization, a HELLO packet is broadcasted from the sink to all other nodes in the networks. In data forwarding, the packet is routed from the sensor to sink in a hop-by-hop fashion. Each next hop is determined independently.
The main problem with CARP is that it does not support the reusability of previously collected data. In other words, if the application requires sensor data only when it changes significantly, then CARP data forwarding is not beneficial to that specific application.
An enhancement of CARP was done in ECARP by allowing the sink node to save previously received sensory data. When new data is needed, ECARP sends a Ping packet which is replied with the data from the sensors nodes.
Thus, E-CARP reduces the communication overhead drastically