Dada una red de malla ZigBee con varios nodos. Hay enlaces establecidos entre cada nodo a través de los nodos del enrutador.
Si el Nodo A desea enviar un mensaje al Nodo Z por primera vez, entonces el Nodo A debe realizar un Descubrimiento de ruta para determinar qué nodos intermedios reenviarán su mensaje.
El mecanismo de descubrimiento de ruta se describe aquí . Según esta, la ruta con el costo más bajo se almacenará en una tabla de enrutamiento de los nodos.
Hasta ahora todo está bien, cada nodo sabe qué hacer, pueden comunicarse entre sí.
Ahora, un nodo intermedio, entre el Nodo A y el Nodo B se descompone, por lo que la ruta almacenada actualmente queda inutilizable.
¿Qué pasa en este caso? Me imagino que cuando el Nodo A quiera enviar un mensaje, viajará hasta el enlace roto donde se atascará. El último nodo de la ruta enviará un mensaje sobre la falla que desencadenará una nueva ruta de descubrimiento por el nodo A , luego se encontrará una nueva ruta y todo volverá a estar bien.
En general está bien (dado que estaba en lo correcto); La red se recupera. Pero me pregunto si hay algún algoritmo o método que proporcione una función de monitoreo de red que verifique continuamente el estado de los enlaces presentados en las Tablas de enrutamiento. Por lo tanto, el Nodo A puede ser notificado sobre la falla antes de que quiera enviar otro mensaje al Nodo Z , y en lugar de encontrarse en un callejón sin salida, puede comenzar con un Descubrimiento de ruta de inmediato. Básicamente, lo que estoy pensando es en un servicio que verifica periódicamente los enlaces.
Entiendo que, como ZigBee se usa generalmente en dispositivos alimentados por batería, de bajo consumo, tal mecanismo no sería eficiente en términos de energía.
Entonces, en general, ¿cuáles son los mecanismos de detección de falla de enlace más efectivos que se pueden usar en una red de sensores inalámbricos de baja potencia, especialmente en una red de malla ZigBee?