Distance Vector Multicast Routing Protocol (DVMRP — Протокол дистанционно-векторной многоадресной маршрутизации) — протокол маршрутизации групповых датаграмм для IP-сетей. Протокол предназначен для использования внутри автономных систем, то есть является протоколом внутридоменной маршрутизации.
Описание протокола DVMRP находится в RFC 1075.
Основные положения Протокол DVMRP реализует метод RPF (Reverse Path Forwarding) с усечением (Prune). Когда маршрутизатор получает пакет, он пересылает его на все интерфейсы, кроме исходного. Если в зоне ответственности маршрутизатора нет членов мультикаст-группы, тогда маршрутизатор посылает обратно сообщение об исключении, отсекая ненужные (не имеющие членов) ветки дерева рассылки.
Структура датаграмм протокола DVMRP использует сообщения протокола IGMP для обмена информацией с другими маршрутизаторами — поле протокола в IP-пакете заполняется значением 2.
Структура датаграмм протокола: +0—34—78—1516—2324—31 0 Версия Тип Код Контрольная сумма 32 Тело DVMRP-сообщения
Версия — текущее значение 1; Тип — должно быть 3; Код — определяет назначение пакета DVMRP: 1 = Response — сообщение обеспечивает маршрутизацию для нескольких групп; 2 = Request — сообщение запрашивает маршрутизацию для нескольких групп; 3 = Non-membership report — сообщение обеспечивает доклад о неучастии в группах; 4 = Non-membership cancellation — сообщение отменяет предыдущий доклад о неучастии в группах; Контрольная сумма — рассчитывается при передаче пакета и проверяется при получении; при расчёте контрольной суммы поле контрольной суммы принимается за ноль; Тело сообщения — набор команд, выровненных по границе 16 бит: код команды (8 бит); данные (минимум 8 бит). + Команды КомандаДанные кодзначениеразмер (бит)наименованиезначение 0Пустая8—игнорируются 2Тип адреса8family2 — IPv4 3Маска подсети8(+32)count, maskcount = 0 — нет поля mask, для следующих маршрутов используется маска сети назначения; 1 — есть поле mask, длина которого зависит от типа адреса 4Метрика8valueМетрика следующих пунктов назначения относительно маршрутизатора, посылающего команду 5Флаги8valueбит 7 — пункт назначения недоступен; бит 6 — скрываемый маршрут расщепления горизонта 6Бесконечность8valueЗначение метрики, считающееся бесконечностью 7Адрес назначения8+32×Ncount, address1, …, addressNКоличество адресов, массив адресов назначения; длина адреса зависит от его типа 8Запрашиваемые адреса назначения8+32×Ncount, address1, …, addressNКоличество адресов, массив адресов назначения, для которых запрашиваются маршруты; при count = 0 – запрашиваются все адреса 9Неучастие в группе8+(32+32)×Ncount, address1, time1, …, addressN, timeNКоличество элементов, массив из пар: групповой адрес, время действия; запрещает посылку датаграмм по указанным адресам на указанное время 10Отмена неучастия в группе8+32×Ncount, address1, …, addressNКоличество адресов, массив групповых адресов, для которых отменяется запрет посылки датаграмм
См. также IGMP IEEE 802.1aq — Shortest Path Bridging (SPB)
Примечания
Категория:Протоколы маршрутизации Категория:Интернет-протоколы