El enrutamiento de origen dinámico ( DSR ) es un protocolo de enrutamiento para redes de malla inalámbricas . Es similar a AODV en el sentido de que forma una ruta a pedido cuando un nodo de transmisión lo solicita. Sin embargo, utiliza el enrutamiento de origen en lugar de depender de la tabla de enrutamiento en cada dispositivo intermedio.
Fondo
La determinación de la ruta de origen requiere acumular la dirección de cada dispositivo entre el origen y el destino durante el descubrimiento de la ruta. La información de ruta acumulada es almacenada en caché por nodos que procesan los paquetes de descubrimiento de ruta . Las rutas aprendidas se utilizan para enrutar paquetes. Para lograr el enrutamiento de origen, los paquetes enrutados contienen la dirección de cada dispositivo que atravesará el paquete. Esto puede resultar en una sobrecarga alta para rutas largas o direcciones grandes, como IPv6 . Para evitar el uso del enrutamiento de origen, DSR define opcionalmente una opción de ID de flujo que permite que los paquetes se reenvíen salto por salto.
Este protocolo se basa realmente en el enrutamiento de origen mediante el cual toda la información de enrutamiento se mantiene (se actualiza continuamente) en los nodos móviles. Tiene solo dos fases principales, que son el descubrimiento de rutas y el mantenimiento de rutas. La respuesta de ruta solo se generaría si el mensaje ha llegado al nodo de destino previsto (el registro de ruta que está inicialmente contenido en la solicitud de ruta se insertaría en la respuesta de ruta).
Para devolver la respuesta de ruta, el nodo de destino debe tener una ruta al nodo de origen. Si la ruta está en la memoria caché de ruta del nodo de destino, se utilizaría la ruta. De lo contrario, el nodo invertirá la ruta según el registro de ruta en el encabezado del mensaje Solicitud de ruta (esto requiere que todos los enlaces sean simétricos). En caso de transmisión fatal, se inicia la Fase de Mantenimiento de Ruta mediante la cual los paquetes de Error de Ruta se generan en un nodo. El salto erróneo se eliminará de la caché de ruta del nodo; todas las rutas que contienen el salto se truncan en ese punto. Nuevamente, se inicia la fase de descubrimiento de ruta para determinar la ruta más viable.
Para obtener información sobre otros protocolos similares, consulte la lista de protocolos de enrutamiento ad hoc .
Restringir el ancho de banda
El protocolo de enrutamiento de origen dinámico (DSR) es un protocolo bajo demanda diseñado para restringir el ancho de banda consumido por los paquetes de control en redes inalámbricas ad hoc al eliminar los mensajes de actualización de la tabla periódica requeridos en el enfoque basado en tablas. La principal diferencia entre este y los otros protocolos de enrutamiento a pedido es que no tiene balizas y, por lo tanto, no requiere transmisiones periódicas de paquetes de saludo (balizas), que son utilizadas por un nodo para informar a sus vecinos de su presencia. El enfoque básico de este protocolo (y todos los demás protocolos de enrutamiento bajo demanda) durante la fase de construcción de la ruta es establecer una ruta inundando los paquetes RouteRequest en la red. El nodo de destino, al recibir un paquete RouteRequest, responde enviando un paquete RouteReply de regreso a la fuente, que lleva la ruta atravesada por el paquete RouteRequest recibido.
Considere un nodo de origen que no tiene una ruta al destino. Cuando tiene paquetes de datos para enviar a ese destino, inicia un paquete RouteRequest. Esta RouteRequest se inunda en toda la red. Cada nodo, al recibir un paquete RouteRequest, retransmite el paquete a sus vecinos si aún no lo ha reenviado, siempre que el nodo no sea el nodo de destino y que no se haya superado el contador de tiempo de vida (TTL) del paquete . Cada RouteRequest lleva un número de secuencia generado por el nodo de origen y la ruta que ha atravesado. Un nodo, al recibir un paquete RouteRequest, verifica el número de secuencia en el paquete antes de reenviarlo. El paquete se reenvía solo si no es una RouteRequest duplicada. El número de secuencia en el paquete se usa para prevenir la formación de bucles y para evitar múltiples transmisiones de la misma RouteRequest por parte de un nodo intermedio que la recibe a través de múltiples rutas. Por lo tanto, todos los nodos, excepto el destino, envían un paquete RouteRequest durante la fase de construcción de la ruta. Un nodo de destino, después de recibir el primer paquete RouteRequest, responde al nodo de origen a través de la ruta inversa que había atravesado el paquete RouteRequest. Los nodos también pueden aprender sobre las rutas vecinas atravesadas por paquetes de datos si se operan en el modo promiscuo (el modo de operación en el que un nodo puede recibir los paquetes que no se transmiten ni se dirigen a sí mismo). Esta memoria caché de ruta también se utiliza durante la fase de construcción de la ruta.
Ventajas y desventajas
Las ventajas son: Este protocolo utiliza un enfoque reactivo que elimina la necesidad de inundar periódicamente la red con mensajes de actualización de tablas que se requieren en un enfoque basado en tablas. En un enfoque reactivo (bajo demanda) como este, se establece una ruta solo cuando se requiere y, por lo tanto, se elimina la necesidad de encontrar rutas a todos los demás nodos de la red como lo requiere el enfoque basado en tablas. Los nodos intermedios también utilizan la información de la caché de ruta de manera eficiente para reducir la sobrecarga de control. Las desventajas son: La desventaja de este protocolo es que el mecanismo de mantenimiento de ruta no repara localmente un enlace roto. La información de la memoria caché de ruta obsoleta también podría generar inconsistencias durante la fase de reconstrucción de la ruta. El retraso de la configuración de la conexión es mayor que en los protocolos controlados por tablas. Aunque el protocolo funciona bien en entornos estáticos y de baja movilidad, el rendimiento se degrada rápidamente al aumentar la movilidad. Además, se trata de una sobrecarga de enrutamiento considerable debido al mecanismo de enrutamiento de origen empleado en DSR. Esta sobrecarga de enrutamiento es directamente proporcional a la longitud de la ruta.
Referencias
Fue descrito por primera vez en:
enlaces externos
- Especificación DSR (RFC)
- piconet una implementación POSIX de código abierto
- Preguntas frecuentes sobre DSR NS-2 de Bryan Se ocupa de la implementación de DSR dentro del paquete Network Simulator
- Modelo de simulación para el protocolo de enrutamiento DSR MANET