El enrutamiento por vector de distancia ad hoc bajo demanda ( AODV ) es un protocolo de enrutamiento para redes ad hoc móviles (MANET) y otras redes ad hoc inalámbricas . Fue desarrollado conjuntamente por Charles Perkins (Sun Microsystems) y Elizabeth Royer (ahora Elizabeth Belding) (Universidad de California, Santa Bárbara) y se publicó por primera vez en el segundo taller IEEE sobre sistemas y aplicaciones de computación móvil de la ACM en febrero de 1999. [1]
AODV es el protocolo de enrutamiento utilizado en Zigbee , una red ad hoc inalámbrica de bajo consumo y baja velocidad de datos . Existen varias implementaciones de AODV, como MAD-HOC, Kernel-AODV, AODV-UU, AODV-UCSB y AODV-UIUC. [2]
La publicación original de AODV ganó el premio SIGMOBILE Test of Time en 2018. [3] Según Google Scholar, esta publicación alcanzó las 30.000 citas a finales de 2022. AODV se publicó en el Internet Engineering Task Force (IETF) como Experimental RFC 3561 [4] en 2003.
Cada nodo tiene su propio número de secuencia que crece de forma monótona con el tiempo y garantiza que no haya bucles en las rutas utilizadas. Además, cada componente de red asignado a la funcionalidad de enrutamiento almacena su propio índice de ruta, que contiene la dirección del siguiente nodo en la dirección del destino (próximo salto), su número de secuencia y la distancia total dada en saltos, o posiblemente otras métricas diseñadas para medir la calidad del enlace.
En AODV, la red permanece completamente en silencio hasta que se requiere una conexión para reenviar un paquete de datos. Cuando es necesario buscar rutas en la red, AODV recurre a los siguientes paquetes definidos por su protocolo:
Estos mensajes se pueden implementar como paquetes UDP simples , por lo que el enrutamiento aún se basa en el Protocolo de Internet (IP).
Los paquetes RREQ se transmiten desde el nodo de origen, por lo que se genera una ráfaga de mensajes que se reenvían a través de toda la red. Cuando un nodo de la red recibe un paquete de solicitud, puede enviar un paquete RREP a través de una ruta temporal al nodo solicitante, que luego puede aprovechar la información recién recibida. Generalmente, cada nodo compara diferentes rutas en función de su longitud y elige la más conveniente. Si un nodo ya no es accesible, se genera un mensaje RERR para alertar al resto de la red.
Cada RREQ tiene un "tiempo de vida" que limita las veces que se puede retransmitir. Además, AODV implementa un mecanismo de retroceso binario en caso de que el nodo no reciba una respuesta a su RREQ, por lo que las solicitudes se repiten a intervalos de tiempo que aumentan linealmente hasta un máximo establecido por la implementación.
La principal ventaja de AODV es que no genera tráfico en el caso de rutas ya establecidas y en funcionamiento. De hecho, el algoritmo en sí es completamente irrelevante mientras no resulte necesario enviar un paquete a un nodo cuya ruta se desconoce. Más allá de eso, el enrutamiento basado en vector de distancia es computacionalmente simple y no requiere grandes cantidades de memoria.
Sin embargo, el protocolo tarda más que otros en establecer una conexión entre dos nodos de una red.