Flood Routing es una estrategia de reenvío de paquetes en redes donde, al recibir un paquete, un nodo lo retransmite a todos sus enlaces salientes, excepto al enlace por el que llegó. Este proceso se repite en cada nodo receptor hasta que el paquete alcanza su destino o su Time-To-Live (TTL) expira. Es una técnica simple y robusta para garantizar la entrega en redes con topologías desconocidas, dinámicas o propensas a fallos, ya que explora todas las rutas posibles. Sin embargo, su principal desventaja es la redundancia inherente y el consumo excesivo de ancho de banda y recursos de procesamiento debido a la creación de múltiples copias del mismo paquete.
En el mundo real, Flood Routing se utiliza en escenarios donde la robustez y la capacidad de descubrimiento son más críticas que la eficiencia de la ruta. Ejemplos incluyen el descubrimiento inicial de rutas en protocolos de enrutamiento como OSPF (Open Shortest Path First) y IS-IS (Intermediate System to Intermediate System), donde se inunda la red con Link State Advertisements (LSAs) o Link State Packets (LSPs) para construir la base de datos de topología. También se emplea en redes ad-hoc inalámbricas (MANETs) para el descubrimiento de rutas, como en AODV (Ad hoc On-Demand Distance Vector) o DSR (Dynamic Source Routing), donde los Route Request (RREQ) se inundan para encontrar un camino al destino. Otro caso de uso es en la propagación de información en redes de sensores o en sistemas de multicast iniciales donde no se conoce la membresía del grupo.
Para un arquitecto, Flood Routing es una herramienta poderosa para el descubrimiento y la resiliencia, pero debe ser usada con cautela. Su valor estratégico radica en su simplicidad de implementación y su capacidad para operar en entornos dinámicos o con información incompleta. Sin embargo, los trade-offs son significativos: el alto consumo de recursos (ancho de banda, CPU, memoria) y la posibilidad de 'tormentas de broadcast' si no se implementan mecanismos de control como TTL o listas de paquetes ya vistos. Un arquitecto debe considerar Flood Routing para fases de descubrimiento o recuperación en sistemas distribuidos, o en redes donde la topología es inherentemente inestable. Para el tráfico de datos regular, se prefieren algoritmos de enrutamiento más eficientes que construyen y utilizan tablas de enrutamiento optimizadas, relegando el flooding a funciones auxiliares o de contingencia.