Flooding algorithm

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 a flood.

Flooding algorithms are used in systems such as Usenet and peer-to-peer file sharing systems and as part of some routing protocols, including OSPF, DVMRP, and those used in ad-hoc wireless networks.

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 in graph 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.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • flooding algorithm — ● ►en loc. m. ►ALGO algorithme permettant de diffuser un message à tous les nœuds d un réseau. Grosso modo, le principe est de faire en sorte que chaque nœud soit capable de recevoir aussi bien que d émettre, et qu il cherche à réexpédier le… …   Dictionnaire d'informatique francophone

  • Flooding (computer networking) — Flooding is a simple routing algorithm in which every incoming packet is sent through every outgoing link. Advantages* If a packet can be delivered, it will (probably multiple times). * Since flooding naturally utilizes every path through the… …   Wikipedia

  • Query flooding — is a method to search for a resource on a P2P network. It is simple but scales very poorly and thus is rarely used. Early versions of the Gnutella protocol operated by query flooding; newer versions use more efficient search algorithms.OperationA …   Wikipedia

  • Watershed (algorithm) — The watershed algorithm is an image processing segmentation algorithm that splits an image into areas, based on the topology of the image. The length of the gradients is interpreted as elevation information. During the successive flooding of the… …   Wikipedia

  • List of graph theory topics — This is a list of graph theory topics, by Wikipedia page. See glossary of graph theory for basic terminology Contents 1 Examples and types of graphs 2 Graph coloring 3 Paths and cycles 4 …   Wikipedia

  • Flood (disambiguation) — A flood is an overflow of water onto land.Flood may also refer to:Computing* Network flood, a denial of service attack on a network * Internet Relay Chat flood * Usenet flood * Flooding algorithm, a network routing algorithmFilm and television*… …   Wikipedia

  • List of mathematics articles (F) — NOTOC F F₄ F algebra F coalgebra F distribution F divergence Fσ set F space F test F theory F. and M. Riesz theorem F1 Score Faà di Bruno s formula Face (geometry) Face configuration Face diagonal Facet (mathematics) Facetting… …   Wikipedia

  • Multicast — is sometimes also incorrectly used to refer to a multiplexed broadcast. In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source… …   Wikipedia

  • Usenet — A diagram of Usenet servers and clients. The blue, green, and red dots on the servers represent the groups they carry. Arrows between servers indicate newsgroup group exchanges (feeds). Arrows between clients and servers indicate that a user is… …   Wikipedia

  • List of ad-hoc routing protocols — An Ad hoc routing protocol is a convention or standard that controls how nodes come to agree which way to route packets between computing devices in a mobile ad hoc network (MANET).In ad hoc networks , nodes do not have a priori knowledge of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”