Динамічна маршрутизація від джерела (англ. Dynamic Source Routing, DSR ) — протокол маршрутизації для MANET з топологією mesh. Схожий на AODV тим, що також формує маршрут «на вимогу», за допомогою передачі broadcast-запиту. Однак він використовує явну маршрутизацію, не покладаючись на таблиці маршрутизації на кожному проміжному пристрої. Крім того, в DSR було внесено безліч послідовних конкретизацій, включаючи DSR-Flow (гібрид явної маршрутизації і маршрутизації за таблицями).

Явна завдання маршруту вимагає накопичення адрес кожного пристрою між джерелом і приймачем під час його пошуку. Інформація про накопичений шлях поповнюється вузлами, обробляючими broadcast-запити джерела. Вивчені таким чином шляхи і використовуються для маршрутизації пакетів. В результаті маршрутизовані пакети містять адресу кожного пристрою, через який вони пройшли. Через збільшення заголовків пакетів це може призвести до надмірності службового потоку даних для довгих шляхів або великих адрес, як в IPv6. Для таких ситуацій у DSR-Flow визначена опція «flow id», яка дозволяє пакетам бути відправленими у відповідності з таблицями маршрутизації (вона може активуватися для далеких маршрутів).

Завдяки явному заданню маршрутів вся інформація про них безперервно оновлюється мобільними вузлами (поки через них проходить потік даних). Це дозволяє уникнути необхідності в періодичній перевірці маршруту (на відміну від AODV). У результаті залишаються тільки фази пошуку та підтримки. У кожному разі маршрут генерується, тільки якщо повідомлення із запитом досягло наміченого вузла адресата (у відповідь додається ланцюжок вузлів, накопичених в запиті).

Щоб послати відповідь на запит, у вузла адресата повинен бути маршрут до вихідного вузла. Якби маршрут знаходився в кеші, використовувався б кешований запис. Інакше маршрут до вихідного вузла буде визначений на основі збереженого в ланцюжку шляху пакета-запиту (для цього необхідно, щоб всі канали в мережі були симетричні). У випадку вдалої передачі відповіді ініціалізується підтримка, за допомогою якої пакети оповіщають про помилку передачі, що враховуватимуться вузлом. В результаті зіпсований канал зв'язку буде видалений з кешу маршрутів вузла, як і всі маршрути, що містять цей канал. Потім буде повторно ініційована фаза пошуку нового життєздатного шляху.

Динамічний протокол маршрутизації від джерела (DSR) на вимогу, створювався для того, щоб зменшити трафік, споживаний керуючими пакетами в бездротових мережах, усуваючи повідомлення оновлення таблиці, що вимагаються у підході з формуванням маршрутів за допомогою таблиць. Головна відмінність між цим та іншим реактивними протоколами маршрутизації — те, що в ньому відсутні «маяки» і отже не вимагається періодична передача пакета вітання, яка використовуються вузлом, щоб повідомити сусідам про його присутність. Основний підхід цього протоколу (як і інших реактивних протоколів маршрутизації) полягає в тому, що під час фази конструкції маршруту вузол встановлює маршрут, розсилаючи широкомовні пакети RouteRequest по мережі. Вузол адресата, при отриманні пакету RouteRequest, відповідає, відсилаючи пакет RouteReply назад до джерела, який несе маршрут, пройдений отриманим пакетом RouteRequest.

Див. також ред.

Посилання ред.