Протокол дистанційно-векторної багатоадресної маршрутизації (англ. Distance Vector Multicast Routing Protocol, DVMRP) — протокол маршрутизації групових дейтаграм для IP мереж. Протокол призначений для використання всередині автономних систем, тобто є протоколом внутрішньодоменной маршрутизації.

Опис протоколу DVMRP знаходиться в RFC 1075.

Основні положення ред.

Протокол DVMRP реалізує метод RPF (Reverse Path Forwarding) з усіканням (Prune) [1]. Коли маршрутизатор отримує пакет, він пересилає його на всі інтерфейси, крім вихідного. Якщо в зоні відповідальності маршрутизатора немає членів мультікаст-групи, тоді маршрутизатор посилає назад повідомлення про виключення, відсікаючи непотрібні (що не мають членів) гілки дерева розсилки.

Структура дейтаграм протоколу ред.

DVMRP використовує повідомлення протоколу IGMP для обміну інформацією з іншими маршрутизаторами — поле протоколу в пакеті IP заповнюється значенням 2 ​​[2].

Структура дейтаграм протоколу [2]:

+ 0 — 3 4 — 7 8 — 15 16 — 23 24 — 31
0 Версія Тип Код Контрольна сума
32 Тіло DVMRP повідомлення
  • Версія — поточне значення 1;
  • Тип — має бути 3;
  • Код — визначає призначення DVMRP пакета[1]:
    • Response — повідомлення забезпечує маршрутизацію для декількох груп;
    • Request — повідомлення запрошує маршрутизацію для декількох груп;
    • Non-membership report — повідомлення забезпечує доповідь про неучасть у групах;
    • Non-membership cancellation — повідомлення скасовує доповідь про неучасть у групах;
  • Контрольна сума — розраховується при передачі пакету і перевіряється при отриманні; при розрахунку контрольної суми, поле контрольної суми приймається за нуль;
  • Тіло повідомлення — набір команд, що вирівнюються по межі 16 біт:
    • код команди (8 біт);
    • дані (мінімум 8 біт).
Команди
Команда Дані
код значення біт назва значення
0 Пуста 8 ігноруються
2 Тип адреси 8 family 2 — IPv4
3 Маска підмережі 8(+32) count, mask count = 0 — ні поля mask, для наступних маршрутів використовується маска мережі призначення; 1 — є поле mask довжина якого залежить від типу адреси
4 Метрика 8 value Метрика наступних пунктів призначення, щодо маршрутизатора, що посилає команду
5 Флаги 8 value біт 7 — пункт призначення недоступний; біт 6 — приховуваний маршрут розщеплення обрію
6 Нескінченність 8 value Значення метрики, що вважається нескінченністю
7 Адрес назначения 8+32×N count, address1, …, addressN Кількість адрес, масив адрес призначення; довжина адреси залежить від його типу
8 Запитувані адреси призначення 8+32×N count, address1, …, addressN Кількість адрес, масив адрес призначення, для яких запитуються маршрути; при count = 0 – запитуються всі адреси
9 Неучасть в групі 8+(32+32)×N count, address1, time1, …, addressN, timeN Кількість елементів, масив з пар: групова адреса, час дії; забороняє посилку дейтаграм за вказаними адресами на вказаний час
10 Скасування неучасті в групі 8+32×N count, address1, …, addressN Кількість адрес, масив групових адрес, для яких скасовується заборона посилки дейтаграм

Примітки ред.

  1. DVMRP: Distance Vector Multicast Routing Protocol (англійською) . Архів оригіналу за 20 квітня 2012. Процитовано 14 березня 2010.

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