Javatpoint Logo
Javatpoint Logo

Flooding in Computer Network

What is Flooding?

In a computer network, flooding is a communication method where data packets are sent to all connected devices, even if they are not the intended recipients of the data. Although this approach is frequently used in specific network protocols and circumstances, it can be extremely inefficient and is rarely employed in contemporary computer networks for routine data transmission.

How does It Work?

A straightforward and easy-to-use network communication method called flooding involves broadcasting data packets to every device connected to the network. Let's see how it works:

  • Sending Data: When a network device wants to send data to another device but is unsure of the recipient's precise location or address, it creates a data packet containing the desired information.
  • Broadcasting: The sending device sends the data packet to every device on the network rather than attempting to pinpoint its precise destination. The way to do this is to give the packet's destination address a special value that denotes "broadcast" or "all devices."
  • Data Reception: The broadcasted data packet is received by all devices connected to the network, including the one that sent it in the first place.
  • Packet inspection: To ascertain whether it is the intended recipient of the data, each device looks at the header of the packet. It verifies the packet's header's destination address.
  • Filtering: A device will accept a packet and process its contents if the destination address in the packet matches the address of that device. The device throws away the packet if the addresses do not match.
  • Data packet propagation: After repeating steps 3, 4, and 5, the data packet keeps travelling through the network until it eventually connects to the device with the correct destination address.
  • Loop Prevention: Flooding frequently uses mechanisms like Time To Live (TTL) counters to prevent packets from circling endlessly in the network. The TTL value in the packet's header is decreased each time a device forwards the packet. The packet is no longer forwarded and is discarded when the TTL reaches zero. This aids in preventing network infinite loops.

In computer networks, flooding is a very simple and occasionally ineffective method of communication because it can create a lot of extra network traffic. In some routing protocols, like Link-State Routing, or when broadcasting messages to every device on a local network segment, like ARP requests in Ethernet networks to translate IP addresses to MAC addresses, it is used, but only in certain circumstances.

Modern computer networks typically prefer more effective communication techniques like unicast (sending to a single recipient), multicast (sending to multiple specified recipients), or broadcast (sending to all devices on a subnet).

Why do We Use Flooding in Computer Networks?

In computer networks, flooding is used in specific circumstances where its characteristics are advantageous. Here are some reasons why we use flooding in computer networks:

1. Address Resolution

Devices frequently use Address Resolution Protocol (ARP) in local area networks (LANs) to translate IP addresses to actual MAC addresses. A device uses ARP to send a broadcast message, which is a type of flooding when it needs to find the MAC address connected to a specific IP address on the same subnet. Devices can now dynamically update their ARP caches, thanks to this.

2. Routing Protocols

Link-state routing (such as OSPF), one of the routing protocols, uses flooding as part of its operation. In Link-State Routing, routers communicate about the topology of the network by saturating it with Link-State Advertisement (LSA) packets. This aids in the router's development of a consistent topology view of the network.

3. Announcement and Network Discovery

Flooding can be used for network announcement and discovery. For instance, broadcasting is used by the Dynamic Host Configuration Protocol (DHCP) to find DHCP servers in the network. For similar services like printer discovery, network devices may broadcast announcements.

4. Multicast Tree Establishment

To create a multicast distribution tree, some multicast routing algorithms flood the network with the initial multicast group membership information. Multicast traffic can be effectively forwarded to group members once the tree has been established.

5. Emergency Broadcasts

Flooding can be used to make sure that important messages reach all networked devices, regardless of their location or address, in emergencies like disaster recovery scenarios or network alarms.

Flooding is useful in these particular situations, but it should be noted that in present-day computer networks, it is not typically the preferred method for routine data communication.

This is due to the possibility of security risks, increased network congestion, and inefficient use of network resources caused by flooding. In order to maximize network performance and cut down on pointless data transmission, unicast, multicast, and broadcast are preferred for regular network traffic in practice.

Features of Flooding in Computer Network

A communication method known as flooding in computer networks has the following essential characteristics:

  • Broadcasting: Flooding involves broadcasting data packets to every device connected to the network as opposed to sending them to predetermined, known destinations. This makes sure that the data gets to all of the network's devices.
  • No Prior Knowledge: Prior knowledge of the network topology or the precise addresses of devices is optional for flooding. When the sender is unaware of the recipient's location, they use this method.
  • Simple and Robust: Flooding is a straightforward and reliable method for network communication. It is simple to implement because it doesn't rely on intricate routing algorithms or network configuration.
  • Unicast vs. Broadcast: In computer networks, flooding is a type of communication that can be used in unicast situations (sending data to a single person). It is now possible because we need to know the destination.
  • Potential for Inefficiency: Flooding has a number of negative aspects, one of which is the potential for inefficiency. It can generate a lot of unnecessary network traffic because it sends data to all devices, which causes network congestion and increases resource usage.
  • Loop Prevention: Flooding frequently uses mechanisms like Time To Live (TTL) counters to stop data packets from recirculating indefinitely within the network. As packets are forwarded, the TTL is reduced, and when it reaches zero, the packet is discarded.
  • Used in Specific Situations: Flooding is mostly employed in specific circumstances, such as ARP requests for address resolution in Ethernet networks, Link-State Routing operations, and network discovery or announcement protocols.
  • Security considerations: Flooding exposes private information to recipients who weren't intended. In order to prevent unauthorized access to data, flooding is restricted and controlled in secure network environments.
  • Utilization of Resources: Networked devices are required to process and possibly discard flooding packets that are not intended for them. On devices, this might use up memory and processing resources.

Limitation of Flooding in Computer Network

The main limitations of flooding are as follows:

  • Network Congestion: Because flooding sends data packets to every device connected to the network, it creates a large amount of network traffic. All devices may experience increased latency, network congestion, and poor network performance as a result.
  • Bandwidth Wastage: Flooding uses up network bandwidth because it sends data packets to every device, especially when there are lots of devices present. Costly in terms of bandwidth usage and energy use, this inefficiency can be both.
  • Security Risks: Flooding can reveal private information to recipients who weren't intended. Unauthorized devices have the potential to intercept and possibly abuse data packets that weren't meant for them.
  • Resource Consumption: Even if they are not the intended recipients, devices connected to the network must process incoming data packets. This use of processing and memory resources may impact these devices' overall performance.
  • Lack of Scalability: As a network's size increases, flooding becomes more and more impractical. Larger networks may have an unmanageable number of devices that each flooded packet is received by, which exacerbates resource usage and network congestion.
  • Inefficient for Unicast: Flooding wastefully sends data to every device on the network, even when only one device is the intended recipient, making it inefficient for unicast communication (sending data to a single recipient).
  • Limited Control: Data transmission can be only partially controlled by flooding. There is no way to ensure the level of service, give particular types of traffic higher priority, or manage the route that data takes through the network.
  • Broadcast Storms: In some situations, like Ethernet networks, excessive broadcasting can result in broadcast storms, in which the network is overloaded with broadcast traffic and becomes unstable or fails altogether.
  • No Guarantee of Delivery: Flooding makes an effort to reach all devices, but it cannot guarantee that the data will be successfully delivered to all of them. For a variety of reasons, devices might be off, disconnected, or unreachable.
  • Complexity in Large Networks: Managing the effects of flooding, such as handling loops, can be difficult in large and complex networks and may require additional network protocols.

Due to these drawbacks, flooding is typically only employed in specific circumstances where it is impractical to use another form of communication or in routing protocols intended for network discovery and maintenance.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA