Многоадресная передача, независимая от протокола

Протокол многоадресной маршрутизации
Пример архитектуры многоадресной сети

Протокол-независимая многоадресная рассылка ( PIM ) — это семейство протоколов многоадресной маршрутизации для сетей IP , которые обеспечивают распределение данных по принципу «один ко многим» и «многие ко многим» по локальной сети , глобальной сети или Интернету . Он называется протокол-независимым, поскольку PIM не включает в себя собственный механизм обнаружения топологии , а вместо этого использует информацию о маршрутизации, предоставляемую другими протоколами маршрутизации . PIM не зависит от конкретного протокола одноадресной маршрутизации; он может использовать любой протокол одноадресной маршрутизации, используемый в сети. PIM не создает собственные таблицы маршрутизации . PIM использует таблицу одноадресной маршрутизации для пересылки по обратному пути . [1] : 56–57 

Существует четыре варианта PIM:

  • PIM Sparse Mode (PIM-SM) явно строит однонаправленные общие деревья с корнем в точке рандеву (RP) для каждой группы и опционально создает деревья кратчайшего пути для каждого источника. PIM-SM обычно достаточно хорошо масштабируется для использования в широких масштабах. [2] [3]
  • PIM Dense Mode (PIM-DM) неявно строит деревья кратчайших путей, заполняя домен многоадресного трафика, а затем отсекая ветви дерева, где нет приемников. PIM-DM прост в реализации, но, как правило, имеет плохие масштабируемые свойства. Первый протокол многоадресной маршрутизации, DVMRP, использовал многоадресную маршрутизацию в плотном режиме. [4] См. RFC 3973.
  • Двунаправленный PIM (Bidir-PIM) явно строит общие двунаправленные деревья. Он никогда не строит дерево кратчайшего пути, поэтому может иметь более длительные задержки между концами, чем PIM-SM, но хорошо масштабируется, поскольку не требует состояния, специфичного для источника. [1] : 70–73  См. RFC 5015.
  • PIM Source-Specific Multicast (PIM-SSM) строит деревья, которые укоренены только в одном источнике, предлагая более безопасную и масштабируемую модель для ограниченного числа приложений (в основном, вещание контента). В SSM IP-датаграмма передается источником S на адрес назначения SSM G, а получатели могут получать эту датаграмму, подписавшись на канал (S,G). См. информационный RFC  3569.

PIM-SM обычно используется в системах IPTV для маршрутизации многоадресных потоков между VLAN , подсетями или локальными сетями. [5]

Версии

Существует две версии PIM. Версии напрямую несовместимы, хотя могут сосуществовать в одной сети. Сетевое оборудование может реализовывать обе версии. PIMv2 имеет следующие улучшения по сравнению с PIMv1: используется один RP для каждой группы. Обнаружение RP выполняется маршрутизатором Bootstrap Router (BSR). Группы могут быть либо разреженными, либо плотными; Интерфейсы могут быть либо теми, либо другими. Общие улучшения гибкости и эффективности протокола. [1] : 59 

Разреженный режим

Независимая от протокола многоадресная рассылка - разреженный режим ( PIM-SM ) - это протокол для эффективной маршрутизации пакетов Интернет-протокола (IP) в многоадресные группы, которые могут охватывать глобальные и междоменные интернеты. Протокол называется протоколонезависимым, потому что он не зависит от какого-либо конкретного протокола одноадресной маршрутизации для обнаружения топологии, а разреженным - потому что он подходит для групп, где очень низкий процент узлов (и их маршрутизаторов ) будет подписываться на многоадресную сессию. В отличие от более ранних протоколов многоадресной маршрутизации с плотным режимом, таких как DVMRP и плотная многоадресная маршрутизация, которые пересылали пакеты по сети, а затем отсекали ветви, где не было получателей, PIM-SM явно строит дерево от каждого отправителя к получателям в многоадресной группе. [6]

Клиенты многоадресной рассылки

Маршрутизатор получает явные сообщения Join/Prune от тех соседних маршрутизаторов, у которых есть члены нижестоящей группы.

  • Чтобы присоединиться к многоадресной группе G, хост передает информацию о своем членстве через протокол управления группами Интернета (IGMP).
  • Затем маршрутизатор пересылает пакеты данных, адресованные многоадресной группе G, только на те интерфейсы, на которых были получены явные соединения.
  • Назначенный маршрутизатор (DR) отправляет периодические сообщения Join/Prune в конкретную точку встречи (RP) для каждой группы, в которой у него есть активные участники.
    • Обратите внимание, что один маршрутизатор будет автоматически или статически назначен точкой встречи (RP), и все маршрутизаторы должны явно присоединиться через RP.
  • Каждый маршрутизатор на пути к RP создает состояние wild card (любой источник) для группы и отправляет сообщения Join/Prune в сторону RP.
    • Термин «запись маршрута» используется для обозначения состояния, поддерживаемого маршрутизатором для представления дерева распределения.
    • Запись маршрута может включать такие поля, как:
      • исходный адрес
      • адрес группы
      • входящий интерфейс, с которого принимаются пакеты
      • список исходящих интерфейсов, на которые отправляются пакеты
      • таймеры, биты флагов и т. д.
    • Входящий интерфейс записи маршрута wild card указывает на RP
    • Исходящие интерфейсы указывают на соседние нисходящие маршрутизаторы, которые отправили сообщения Join/Prune в сторону RP, а также на напрямую подключенные хосты, которые запросили членство в группе G.
  • Это состояние создает общее дерево распределения, ориентированное на RP, которое охватывает всех членов группы.

Источники многоадресной рассылки

  • Когда источник данных впервые отправляет данные группе, его назначенный маршрутизатор (DR) осуществляет одноадресную передачу сообщений Register в точку встречи (RP) с инкапсулированными в них пакетами данных источника.
  • Если скорость передачи данных высокая, RP может отправлять сообщения Join/Prune, специфичные для источника, обратно к источнику, а пакеты данных источника будут следовать результирующему состоянию пересылки и передаваться неинкапсулированными к RP.
  • Независимо от того, поступают ли они инкапсулированными или в исходном виде, RP пересылает декапсулированные пакеты данных источника по дереву распределения, центрированному на RP, членам группы.
  • Если скорость передачи данных позволяет, маршрутизаторы с локальными приемниками могут присоединиться к специфичному для источника дереву распределения с кратчайшим путем и отсечь пакеты этого источника от общего дерева, центрированного на RP.
  • Для источников с низкой скоростью передачи данных ни RP, ни маршрутизаторы последнего перехода не должны присоединяться к дереву кратчайших путей, специфичному для источника, а пакеты данных могут доставляться через общее дерево RP.

После того, как другие маршрутизаторы, которым необходимо получать эти групповые пакеты, подпишутся, RP отпишется от этой многоадресной группы, если только ему также не нужно будет пересылать пакеты на другой маршрутизатор или узел. Кроме того, маршрутизаторы будут использовать пересылку по обратному пути , чтобы гарантировать отсутствие петель для пересылки пакетов среди маршрутизаторов, которые хотят получать многоадресные пакеты.

Плотный режим

Dense mode multicast — один из режимов, который multicast может использовать для построения дерева для отправки пакетов подписчикам multicast. Это альтернатива разреженному режиму.

Основное предположение, лежащее в основе плотного режима, заключается в том, что поток многоадресных пакетов имеет приемников в большинстве мест. Разреженный режим предполагает относительно меньшее количество приемников. Плотный режим идеально подходит для групп, где многие узлы подписываются на получение многоадресных пакетов, так что большинство маршрутизаторов должны получать и пересылать эти пакеты (группы высокой плотности).

Это различие проявляется в начальном поведении и механизмах двух протоколов. Dense Mode использует довольно простой подход к обработке маршрутизации многоадресной IP-рассылки . Источник изначально осуществляет широковещательную рассылку на каждый маршрутизатор , напрямую подключенный к нему. Эти соседние маршрутизаторы далее пересылают данные своим соседям. Когда маршрутизатор не желает получать данные этой группы (если нет других соседних маршрутизаторов PIM и ни один хост не заинтересован в группе), он отправляет сообщение Prune, чтобы указать на отсутствие интереса. Получив сообщение Prune, маршрутизатор изменит свое состояние так, чтобы он не пересылал эти пакеты из этого интерфейса . Если каждый интерфейс на маршрутизаторе будет очищен, маршрутизатор также будет очищен. [6]

В более старых версиях Cisco IOS PIM-DM перенаправлял весь многоадресный трафик каждые 3 минуты. Это нормально для многоадресной рассылки с небольшим объемом, но не для многоадресных потоков пакетов с более высокой пропускной способностью. Более поздние версии Cisco IOS поддерживают новую функцию, называемую PIM Dense Mode State Refresh, начиная с 12.1(5)T. Эта функция использует сообщения обновления состояния PIM для обновления состояния Prune на исходящих интерфейсах. Еще одним преимуществом является более быстрое распознавание изменений топологии. По умолчанию сообщения обновления состояния PIM отправляются каждые 60 секунд.

Кроме того, маршрутизаторы будут использовать пересылку по обратному пути , чтобы гарантировать отсутствие петель для пересылки пакетов между маршрутизаторами, желающими получать многоадресные пакеты. Когда пакет данных получен на не-RPF интерфейсе, требуется механизм для предотвращения петель. Если не-RPF интерфейс является LAN, отправляется сообщение Assert. Затем маршрутизаторы Non-Forwarder отправляют Prune на свой RPF интерфейс, если им не нужен многоадресный поток. Отправляется только один такой Prune во время перехода к отсутствию интерфейсов в списке исходящих интерфейсов (OILIST). Приемник Prune LAN задерживает его действие на 3 секунды, так что если другому маршрутизатору LAN все еще нужен многоадресный поток, он может отправить сообщение PIM Join, чтобы противодействовать (отменить) Prune. («Этому маршрутизатору это не нужно, но мне все еще нужно!»)

Предположим, что маршрутизатор Pruned, и некоторое время спустя получатель запрашивает многоадресный поток с сообщением IGMP. Затем маршрутизатор отправляет сообщение Graft. По сути, «эй, мне нужен этот многоадресный поток здесь сейчас».

Смотрите также

Ссылки

  1. ^ Руководство по настройке многоадресной маршрутизации IP abc , Cisco , получено 27.05.2017
  2. ^ "PIM-SM Multicast Routing Protocol". Microsoft . 9 декабря 2009 г. Получено 2014-03-26 .
  3. ^ B. Fenner; M. Handley; H. Holbrook; I. Kouvelas (август 2006 г.). Независимая от протокола многоадресная передача — разреженный режим (PIM-SM): спецификация протокола (пересмотренная). Сетевая рабочая группа. doi : 10.17487/RFC4601 . RFC 4601. Устарело. Устарело в соответствии с RFC 7761. Устаревший RFC 2362. Обновлено в соответствии с RFC 5059, 5796 и 6226.
  4. ^ "Файл часто задаваемых вопросов (FAQ) по многоадресной рассылке". Multicast Tech. Архивировано из оригинала 2011-06-14.
  5. ^ "Дополнение к рекомендациям по развертыванию многоадресной IP-передачи для доставки контента IPTV". ITU-T . Получено 23.03.2014 .
  6. ^ ab Настройка маршрутизации IP Multicast, Cisco Systems , получено 2013-12-06
  • Gorry Fairhurst (2006). "PIM Routing" (PDF) . Архивировано из оригинала (PDF) 2011-12-28 . Получено 2011-12-06 .
  • Независимый от протокола многоадресный разреженный режим (PIM-SM): спецификация протокола (пересмотренная)
  • Обзор многоадресной рассылки, зависящей от источника (SSM)
  • Netcraftmen Объяснение PIM Sparse Mode
  • Протокол многоадресной маршрутизации PIM-SM
  • pimd — это легковесный автономный демон многоадресной маршрутизации PIM-SM v2.
  • Независимый от протокола многоадресный разреженный режим (PIM-SM): спецификация протокола rfc2362
  • qpimd – PIM-демон для Quagga- Protocol Independent Multicast, ранее отдельный независимо выпущенный модуль для Quagga Routing Suite , но теперь официальный модуль, поставляемый Quagga .
Взято с "https://en.wikipedia.org/w/index.php?title=Protocol-Independent_Multicast&oldid=1268397227#Sparse_mode"