DVMRP — Вікіпедія
Протокол дистанційно-векторної багатоадресної маршрутизації (англ. Distance Vector Multicast Routing Protocol, DVMRP) — протокол маршрутизації групових дейтаграм для IP мереж. Протокол призначений для використання всередині автономних систем, тобто є протоколом внутрішньодоменной маршрутизації.
Опис протоколу DVMRP знаходиться в RFC 1075.
Протокол DVMRP реалізує метод RPF (Reverse Path Forwarding) з усіканням (Prune) [1]. Коли маршрутизатор отримує пакет, він пересилає його на всі інтерфейси, крім вихідного. Якщо в зоні відповідальності маршрутизатора немає членів мультікаст-групи, тоді маршрутизатор посилає назад повідомлення про виключення, відсікаючи непотрібні (що не мають членів) гілки дерева розсилки.
DVMRP використовує повідомлення протоколу IGMP для обміну інформацією з іншими маршрутизаторами — поле протоколу в пакеті IP заповнюється значенням 2 [2].
Структура дейтаграм протоколу [2]:
|
- Версія — поточне значення 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 | Кількість адрес, масив групових адрес, для яких скасовується заборона посилки дейтаграм |
- ↑ DVMRP: Distance Vector Multicast Routing Protocol (англійською) . Архів оригіналу за 20 квітня 2012. Процитовано 14 березня 2010.