DSR

El enrutamiento de origen dinámico (DSR) es un protocolo de enrutamiento para MANET con una topología de malla . Similar a AODV en que también genera una ruta a pedido mediante el envío de una solicitud de transmisión. Sin embargo, utiliza enrutamiento explícito sin depender de las tablas de enrutamiento en cada dispositivo intermedio. Además, se han realizado muchas instancias posteriores para DSR, incluido DSR-Flow (un híbrido de enrutamiento explícito y enrutamiento de tabla).

Especificar explícitamente una ruta requiere acumular las direcciones de cada dispositivo entre el origen y el destino a medida que se busca. La información sobre la ruta acumulada es actualizada por los nodos que procesan las solicitudes de transmisión desde la fuente. Las rutas aprendidas de esta manera se utilizan para enrutar los paquetes. Como resultado, los paquetes enrutados contienen la dirección de cada dispositivo por el que pasaron. Debido al aumento de los encabezados de los paquetes, esto puede dar lugar a una sobrecarga de tráfico para rutas largas o direcciones grandes, como en IPv6 . Para tales situaciones, DSR-Flow define una opción de "id de flujo" que permite enviar paquetes de acuerdo con las tablas de enrutamiento (se puede activar para rutas lejanas).

Gracias a la configuración explícita de rutas, los nodos móviles actualizan continuamente toda la información sobre ellas (siempre que los datos fluyan a través de ellos). Esto evita la necesidad de controles de ruta periódicos (a diferencia de AODV ). Como resultado, solo quedan las fases de búsqueda y apoyo. En cualquier caso, la ruta se genera solo si el mensaje de solicitud ha llegado al nodo de destino previsto (en respuesta, se agrega la cadena de nodos acumulados en la solicitud).

Para enviar una respuesta a una solicitud, el nodo de destino debe tener una ruta al nodo de origen. Si la ruta estuviera en la memoria caché, se usaría la entrada almacenada en la memoria caché. De lo contrario, la ruta al nodo de origen se determinará en función de la ruta del paquete de solicitud almacenado en la cadena (esto requiere que todos los enlaces de la red sean simétricos). En el caso de una transmisión exitosa de la respuesta, se inicializa el soporte, por medio del cual los paquetes que anuncian un error de transmisión serán tomados en cuenta por el nodo. Como resultado, el enlace dañado se eliminará de la caché de rutas del nodo, al igual que todas las rutas que contengan este enlace. Entonces se reiniciará la fase de búsqueda de un nuevo camino viable.

El enrutamiento de origen dinámico (DSR) a pedido se diseñó para reducir el tráfico consumido por los paquetes de control en las redes inalámbricas mediante la eliminación de los mensajes de actualización de tablas necesarios en el enfoque de enrutamiento basado en tablas. La principal diferencia entre este y otros protocolos de enrutamiento reactivo es que carece de "balizas" y, por lo tanto, no requiere la transmisión periódica de un paquete de saludo, que es utilizado por un nodo para informar a los vecinos de su presencia. El enfoque básico de este protocolo (así como de otros protocolos de enrutamiento reactivo) es que durante la fase de construcción de la ruta, un nodo establece una ruta mediante la transmisión de paquetes RouteRequest a través de la red. El nodo de destino, al recibir un paquete RouteRequest, responde enviando un paquete RouteReply de vuelta al origen que transporta la ruta atravesada por el paquete RouteRequest recibido.

Considere un nodo de origen que no tiene ruta hacia el destino. Cuando tiene paquetes de datos para enviar al destino, inicializa un paquete RouteRequest que se propaga a través de la red. Cada nodo, después de recibir el paquete RouteRequest, retransmite el paquete a sus vecinos (si no lo ha hecho ya, ya que puede llegarle una copia del paquete desde otro nodo), siempre que el nodo no sea el destino y que el paquete no se superó el tiempo de vida ( TTL ). Cada RouteRequest tiene un número de secuencia generado por el nodo de origen y los nodos por los que pasó. Un nodo, al recibir un paquete RouteRequest, verifica el número de secuencia en el paquete antes de enviarlo. El paquete se envía solo si no es un RouteRequest duplicado. El número de secuencia del paquete se utiliza para evitar bucles y múltiples transmisiones de la misma RouteRequest por parte de un nodo intermedio que la recibe a través de múltiples canales. Por lo tanto, todos los nodos, excepto el destino, envían un paquete RouteRequest durante la fase de generación de la ruta. El nodo de destino, después de recibir el primer paquete RouteRequest, responde al origen a través de la ruta de retorno que atravesó el paquete RouteRequest. Los nodos también pueden aprender acerca de las rutas vecinas atravesadas por paquetes de datos si se establece el modo de promiscuidad (un modo de operación en el que un nodo puede recibir paquetes que no se transmiten y no están dirigidos a él). Esta caché de rutas también se utiliza durante la fase de generación de rutas. Si un nodo intermedio que recibe una solicitud de ruta tiene una ruta al nodo de destino en su caché de ruta, responde al nodo de origen enviando una respuesta de ruta con toda la información de la ruta desde el nodo de origen hasta el nodo de destino.

Ventajas y desventajas

Este protocolo utiliza un enfoque reactivo que elimina la necesidad de contaminar periódicamente la red con mensajes de actualización de tablas, que son necesarios en el enfoque de la tabla de enrutamiento. En los protocolos reactivos (bajo demanda), se establece una ruta solo cuando se requiere y, por lo tanto, no es necesario encontrar rutas a todos los demás nodos de la red, como se hace en el enfoque de enrutamiento basado en tablas. Los nodos intermedios también hacen un uso eficiente de la información de caché de ruta para reducir la sobrecarga. La desventaja de este protocolo es que el mecanismo de mantenimiento de ruta local no recupera las conexiones rotas. La información de caché de ruta obsoleta también puede generar inconsistencias durante la fase de reconstrucción de la ruta. La latencia de establecer una conexión es mayor que en los protocolos que utilizan tablas. Aunque el protocolo funciona bien en entornos estáticos y de baja movilidad de nodos, el rendimiento se degrada rápidamente con el aumento de la movilidad. Además, la sobrecarga de enrutamiento significativa proviene del enrutamiento de origen utilizado en DSR. Estos costos son directamente proporcionales a la longitud del camino.

Enlaces