Flooding is a communication technique where a node sends data packets to every destination in the network (whether or not the destination requires it). Each device on the network receives the data packet and then forwards it to every other device. Flooding is easy to implement and commonly used in routing protocols and network discovery. However, it can cause unnecessary network congestion.
See also: node
How flooding works
- When a device on the network wants to send data but doesn’t know the exact location of the destination, it transmits the data packet to every device on the network.
- Each device receives the broadcast data packet and forwards it to every other device on the network (including the device that sent the data packet).
- This process continues until the data packet arrives at the destination.
- The data packets sent to all other devices are discarded.
- If the destination is not found within a certain time, the broadcasting device may stop forwarding the data packet to other devices to prevent network congestion.
Flooding use cases
- Network discovery. Flooding is used to identify and locate all devices and connections on the network.
- Routing protocols. Flooding is used as part of several routing protocols to find the best path for transferring data (e.g., address resolution protocol).
- Multicast communication. Flooding can be used to broadcast data to a specific group of devices.
- DoS attacks. Hackers may use flooding to launch denial of service attacks and bring down a network service.