- Flooding algorithm
A flooding algorithm is an
algorithm for distributing material to every part of a connected network. The name derives from the concept of inundation by aflood .Flooding algorithms are used in systems such as
Usenet andpeer-to-peer file sharing system s and as part of somerouting protocol s, including OSPF,DVMRP , and those used inad-hoc wireless network s.There are several variants of flooding algorithm: most work roughly as follows.
#Each node acts as both a transmitter and a receiver.
#Each node tries to forward every message to every one of its neighbors except the source node. This results in every message eventually being delivered to all reachable parts of the network.Real-world flooding algorithms have to be more complex than this, since precautions have to be taken to avoid wasted duplicate deliveries and infinite loops, and to allow messages to eventually expire from the system.
Flooding algorithms are also useful for solving many mathematical problems, including
maze problems and many problems ingraph theory .Disadvantages of Flooding
There are several disadvantages with this approach to routing. It is very wasteful in terms of the networks total bandwidth. While a message may only have one destination it has to be sent to every host. This increases the maximum load placed upon the network.
Messages can also become duplicated in the network further increasing the load on the networks bandwidth as well as requiring an increase in processing complexity to disregard duplicate messages.
A variant of flooding called "selective flooding" partially addresses these issues by only sending packets to routers in the same direction.
Advantages of Flooding
The main advantage of flooding is the increased reliability provided by this routing method. Since the message will be sent at least once to every host it is almost guaranteed to reach its destination.
ee also
*
multicast
*flood fill Examples
* [http://ricochet.wiki.sourceforge.net/ Ricochet] A flooding networking app written in Java
Wikimedia Foundation. 2010.