Flooding-based routing uses redundant replication of incoming packets / NLDUs (Network Layer Data Units) on available outgoing links (Banerjee 2004). Flooding-based routing protocols waste energy and bandwidth when forwarding extra or unnecessary replicas of data units. In some cases, energy is not a problem but wasting of bandwidth is still a problem as it generates many redundant transmissions (Ryszard S. Chora 2011). Adaptive flooding-based routing may solve these problems. Flooding is not practical for general kinds of applications. But where high degree of robustness is desired such as in military applications, flooding is useful.
In flooding-based routing, packets may go in a loop. As a result, a node may receive several copies (replicas) of a particular packet. Some techniques adapted to overcome these problems are as follows (Dheeraj Sanghi 2011):
 |
Sequence numbers: Every packet is given a sequence number. When a node receives the packet, it checks |
|
its source address and sequence number. If the node finds that it has sent the same packet before, then it does not transmit the packet and will just discard it. |
 |
Hop count: Every packet has a hop-count associated with it. This is decremented (or incremented) by each |
|
node which sees it. When the hop-count becomes zero (or a maximum possible value) the packet is dropped. |
 |
Spanning tree: The packet is sent only on those links that lead to the destination by constructing a spanning |
|
tree routed at the source. This avoids loops in transmission but is possible only when the network topology is known by all the intermediate nodes. |