El Protocolo de enrutamiento de estado de enlace optimizado ( OLSR ) [1] es un protocolo de enrutamiento IP optimizado para redes ad hoc móviles , que también se puede utilizar en otras redes ad hoc inalámbricas . OLSR es un protocolo de enrutamiento de estado de enlace proactivo , que utiliza mensajes de saludo y control de topología (TC) para descubrir y luego difundir información de estado de enlace en toda la red ad hoc móvil. Los nodos individuales utilizan esta información de topología para calcular los destinos del siguiente salto para todos los nodos de la red utilizando rutas de reenvío de salto más cortas.
Los protocolos de enrutamiento de estado de enlace, como Open Shortest Path First (OSPF) y Intermediate System to Intermediate System (IS-IS), eligen un enrutador designado en cada enlace para realizar la inundación de información de topología. En las redes inalámbricas ad hoc, existe una noción diferente de enlace; los paquetes pueden salir y salen por la misma interfaz; por lo tanto, se necesita un enfoque diferente para optimizar el proceso de inundación. Mediante mensajes de saludo, el protocolo OLSR en cada nodo descubre información de vecinos de 2 saltos y realiza una elección distribuida de un conjunto de relés multipunto (MPR). Los nodos seleccionan MPR de modo que exista una ruta hacia cada uno de sus vecinos de 2 saltos a través de un nodo seleccionado como MPR. Estos nodos MPR luego generan y reenvían mensajes TC que contienen los selectores MPR. Este funcionamiento de los MPR hace que OLSR sea único en comparación con otros protocolos de enrutamiento de estado de enlace en algunas formas diferentes: la ruta de reenvío de los mensajes TC no se comparte entre todos los nodos sino que varía según la fuente, solo un subconjunto de nodos obtiene información del estado del enlace y no se anuncian todos los enlaces de un nodo sino solo aquellos que representan selecciones MPR.
Dado que el enrutamiento de estado de enlace requiere que la base de datos de topología esté sincronizada en toda la red, OSPF e IS-IS realizan una inundación de topología utilizando un algoritmo confiable. Este tipo de algoritmo es muy difícil de diseñar para redes inalámbricas ad hoc, por lo que OLSR no se preocupa por la confiabilidad; simplemente inunda los datos de topología con la frecuencia suficiente para asegurarse de que la base de datos no permanezca desincronizada durante períodos prolongados.
Los relés multipunto (MPR) retransmiten mensajes entre nodos. También tienen la función principal de enrutar y seleccionar la ruta adecuada desde cualquier origen hasta cualquier nodo de destino deseado.
Los MPR publican información sobre el estado del enlace para sus selectores MPR (un nodo seleccionado como MPR) periódicamente en sus mensajes de control. Los MPR también se utilizan para formar una ruta desde un nodo determinado hasta cualquier destino en el cálculo de la ruta. Cada nodo transmite periódicamente un mensaje de saludo para los procesos de detección de enlaces, detección de vecinos y selección de MPR. [2]
Al ser un protocolo proactivo, las rutas a todos los destinos dentro de la red se conocen y se mantienen antes de su uso. Tener las rutas disponibles dentro de la tabla de enrutamiento estándar puede ser útil para algunos sistemas y aplicaciones de red, ya que no hay demoras en el descubrimiento de rutas asociadas con la búsqueda de una nueva ruta.
La sobrecarga de enrutamiento generada, aunque generalmente mayor que la de un protocolo reactivo, no aumenta con la cantidad de rutas que se crean.
Las rutas predeterminadas y de red se pueden inyectar en el sistema mediante mensajes de Asociación de host y red (HNA), lo que permite la conexión a Internet u otras redes dentro de la nube MANET de OLSR . Las rutas de red son algo que los protocolos reactivos actualmente no ejecutan bien.
Los valores de tiempo de espera y la información de validez están contenidos en los mensajes que transmiten información que permite utilizar diferentes valores de temporizador en diferentes nodos.
La definición original de OLSR no incluye ninguna disposición para detectar la calidad del enlace; simplemente supone que un enlace está activo si se han recibido varios paquetes de saludo recientemente. Esto supone que los enlaces son bimodales (funcionan o fallan), lo que no es necesariamente el caso en las redes inalámbricas, donde los enlaces a menudo presentan tasas intermedias de pérdida de paquetes. Las implementaciones como OLSRd de código abierto (que se usa comúnmente en enrutadores en malla basados en Linux ) se han ampliado (a partir de la v. 0.4.8) con detección de calidad del enlace.
Al ser un protocolo proactivo, OLSR utiliza energía y recursos de red para propagar datos sobre rutas posiblemente no utilizadas. Si bien esto no es un problema para los puntos de acceso cableados y las computadoras portátiles, hace que OLSR no sea adecuado para redes de sensores que intentan estar inactivas la mayor parte del tiempo. Para puntos de acceso cableados de pequeña escala con bajo consumo de CPU , el proyecto de código abierto OLSRd demostró que las redes en malla a gran escala pueden ejecutarse con OLSRd en miles de nodos con muy poco consumo de CPU.Dispositivos integrados de 200 MHz . [ cita requerida ]
Al ser un protocolo de estado de enlace, OLSR requiere una cantidad razonablemente grande de ancho de banda y potencia de CPU para calcular rutas óptimas en la red. En las redes típicas en las que se utiliza OLSR (que rara vez superan unos pocos cientos de nodos), esto no parece ser un problema.
Al usar solo MPR para inundar la información de topología, OLSR elimina parte de la redundancia del proceso de inundación, lo que puede ser un problema en redes con tasas de pérdida de paquetes moderadas a grandes [3] ; sin embargo, el mecanismo MPR es autopodable (lo que significa que en caso de pérdida de paquetes, algunos nodos que no habrían retransmitido un paquete, pueden hacerlo).
OLSR utiliza mensajes de "Hola" para encontrar a sus vecinos de un salto y de dos saltos a través de sus respuestas. El remitente puede entonces seleccionar sus retransmisores multipunto (MPR) basándose en el nodo de un salto que ofrece las mejores rutas a los nodos de dos saltos. Cada nodo tiene también un conjunto de selectores MPR, que enumera los nodos que lo han seleccionado como nodo MPR. OLSR utiliza mensajes de control de topología (TC) junto con el reenvío MPR para difundir información de los vecinos por toda la red. OLSR utiliza mensajes de asociación de red y host (HNA) para difundir anuncios de rutas de red de la misma forma que los mensajes TC anuncian rutas de host.
El problema del enrutamiento en redes inalámbricas ad hoc se está investigando activamente y OLSR es sólo una de las varias soluciones propuestas. Para muchos, no está claro si se necesita un protocolo completamente nuevo o si OSPF podría extenderse con soporte para interfaces inalámbricas. [4] [5]
En entornos con escasez de ancho de banda y de energía, es interesante mantener la red en silencio cuando no hay tráfico que enrutar. Los protocolos de enrutamiento reactivo no mantienen rutas, sino que las construyen según demanda. Como los protocolos de estado de enlace requieren sincronización de bases de datos, dichos protocolos suelen utilizar el enfoque de vector de distancia, como en AODV y DSDV , o enfoques más ad hoc que no necesariamente construyen rutas óptimas, como Dynamic Source Routing .
Para obtener más información, consulte la lista de protocolos de enrutamiento ad hoc .
OLSRv2 fue publicado por el IETF en abril de 2014 como un protocolo de seguimiento de estándares. [6] Mantiene muchas de las características clave del original, incluida la selección y difusión de MPR. Las diferencias clave son la flexibilidad y el diseño modular que utiliza componentes compartidos: formato de paquete packetbb y protocolo de descubrimiento de vecindad NHDP. Estos componentes se están diseñando para que sean comunes entre los protocolos MANET del IETF de próxima generación. También existen diferencias en el manejo de nodos habilitados para múltiples direcciones e interfaces entre OLSR y OLSRv2.