Независимая от протокола многоадресная передача ( PIM ) - это семейство протоколов многоадресной маршрутизации для сетей Интернет-протокола (IP), которые обеспечивают распределение данных « один ко многим» и « многие ко многим» по LAN , WAN или Интернету . Это называется протокольно-независимым, поскольку PIM не включает собственный механизм обнаружения топологии , а вместо этого использует информацию о маршрутизации, предоставляемую другими протоколами маршрутизации . PIM не зависит от конкретного протокола одноадресной маршрутизации; он может использовать любой протокол одноадресной маршрутизации, используемый в сети. PIM не строит свои собственныетаблицы маршрутизации . PIM использует таблицу одноадресной маршрутизации для пересылки по обратному пути . [1] : 56–57
Существует четыре варианта PIM:
- Разреженный режим PIM (PIM-SM) явно строит однонаправленные общие деревья с корнем в точке рандеву (RP) для каждой группы и, при необходимости, создает деревья кратчайших путей для каждого источника. PIM-SM обычно достаточно хорошо масштабируется для использования на больших площадях. [2]
- Плотный режим PIM (PIM-DM) использует плотную многоадресную маршрутизацию. Он неявно строит деревья кратчайших путей путем лавинной рассылки многоадресного трафика по всему домену, а затем отсекает обратные ветви дерева, где нет получателей. PIM-DM прост в реализации, но, как правило, имеет плохие свойства масштабирования. Первый протокол многоадресной маршрутизации, DVMRP, использовал многоадресную маршрутизацию в плотном режиме. [3] См. Интернет-стандарт PIM RFC 3973.
- Двунаправленный PIM (Bidir-PIM) явно создает общие двунаправленные деревья. Он никогда не строит дерево кратчайших путей, поэтому может иметь более длительные сквозные задержки, чем PIM-SM, но хорошо масштабируется, поскольку ему не требуется состояние, зависящее от источника. [1] : 70–73 См. RFC 5015 Интернет-стандарт двунаправленной PIM.
- PIM Source-Specific Multicast (PIM-SSM) строит деревья, основанные только на одном источнике, предлагая более безопасную и масштабируемую модель для ограниченного числа приложений (в основном для широковещательной передачи контента). В SSM дейтаграмма IP передается источником S на адрес назначения G SSM, и получатели могут получить эту дейтаграмму, подписавшись на канал (S, G). См. Информационный RFC 3569.
PIM-SM обычно используется в IPTV системах для маршрутизации многоадресных потоков между сетями VLAN , подсетями или локальными сетями. [4]
Версии
Есть две версии PIM. Версии напрямую несовместимы, хотя могут сосуществовать в одной сети. Сетевое оборудование может реализовывать обе версии. PIMv2 имеет следующие улучшения по сравнению с PIMv1: Для каждой группы используется один RP. Обнаружение RP выполняется маршрутизатором начальной загрузки (BSR). Группы могут быть либо разреженными, либо плотными; Интерфейсов может быть как угодно. Общие улучшения гибкости и эффективности протокола. [1] : 59
Разреженный режим
Независимая от протокола многоадресная рассылка - разреженный режим ( PIM-SM ) - это протокол для эффективной маршрутизации пакетов Интернет-протокола (IP) в группы многоадресной рассылки, которые могут охватывать глобальные и междоменные сети. Протокол назван протокол-независимым, потому что он не зависит от какого-либо конкретного протокола одноадресной маршрутизации для обнаружения топологии, и разреженным режимом, потому что он подходит для групп, в которых очень низкий процент узлов (и их маршрутизаторов ) будет подписываться на многоадресную рассылку. сеанс. В отличие от более ранних протоколов многоадресной маршрутизации плотного режима, таких как DVMRP и плотная многоадресная маршрутизация, которые лавировали пакеты по сети и затем отсекали ветви, где не было получателей, PIM-SM явно строит дерево от каждого отправителя к получателям в группе многоадресной рассылки. [5]
Многоадресные клиенты
Маршрутизатор получает явные сообщения о присоединении / сокращении от тех соседних маршрутизаторов, у которых есть члены группы нисходящего потока.
- Чтобы присоединиться к группе многоадресной рассылки G, хост передает информацию о своем членстве через протокол управления группами Интернета (IGMP).
- Затем маршрутизатор пересылает пакеты данных, адресованные группе многоадресной рассылки G, только на те интерфейсы, на которых были получены явные соединения.
- Выделенный маршрутизатор (DR) периодически отправляет сообщения присоединения / сокращения к определенной для группы точке рандеву (RP) для каждой группы, для которой у него есть активные члены.
- Обратите внимание, что один маршрутизатор будет автоматически или статически назначен точкой рандеву (RP), и все маршрутизаторы должны явно присоединиться через RP.
- Каждый маршрутизатор на пути к RP создает состояние подстановочного знака (любой источник) для группы и отправляет сообщения Join / Prune по направлению к RP.
- Термин «запись маршрута» используется для обозначения состояния, поддерживаемого в маршрутизаторе для представления дерева распределения.
- Запись маршрута может включать такие поля, как:
- адрес источника
- групповой адрес
- входящий интерфейс, с которого принимаются пакеты
- список исходящих интерфейсов, на которые отправляются пакеты
- таймеры, биты флагов и т. д.
- Входящий интерфейс записи маршрута с подстановкой указывает на RP
- Исходящие интерфейсы указывают на соседние нисходящие маршрутизаторы, которые отправили сообщения Join / Prune RP, а также на напрямую подключенные хосты, которые запросили членство в группе G.
- В этом состоянии создается общее дерево распределения, ориентированное на RP, которое достигает всех членов группы.
Источники многоадресной рассылки
- Когда источник данных впервые отправляет группе, его назначенный маршрутизатор (DR) одноадресно передает сообщения Register в точку рандеву (RP) с пакетами данных источника, инкапсулированными внутри.
- Если скорость передачи данных высока, RP может посылать зависящие от источника сообщения Join / Prune обратно к источнику, и пакеты данных источника будут следовать за результирующим состоянием пересылки и перемещаться в RP без инкапсуляции.
- Независимо от того, прибывают ли они инкапсулированными или исходными, RP пересылает декапсулированные пакеты данных источника вниз по дереву распределения с центром RP к членам группы.
- Если скорость передачи данных требует этого, маршрутизаторы с локальными приемниками могут присоединиться к зависящему от источника кратчайшему пути, дереву распределения и отсекать пакеты этого источника из общего дерева с центром RP.
- Для источников с низкой скоростью передачи данных ни RP, ни маршрутизаторы последнего перехода не должны присоединяться к зависящему от источника дереву кратчайших путей, и пакеты данных могут доставляться через совместно используемое дерево RP.
После того, как другие маршрутизаторы, которым необходимо получать эти групповые пакеты, подписались, RP откажется от подписки на эту группу многоадресной рассылки, если ему также не потребуется пересылать пакеты другому маршрутизатору или узлу. Кроме того, маршрутизаторы будут использовать пересылку обратного пути, чтобы гарантировать отсутствие петель для пересылки пакетов между маршрутизаторами, которые хотят получать многоадресные пакеты.
Плотный режим
Плотный режим многоадресной рассылки - это один из режимов, который может использоваться при многоадресной рассылке для построения дерева для отправки пакетов подписчикам многоадресной рассылки. Это альтернатива разреженному режиму.
Основное предположение, лежащее в основе плотного режима, заключается в том, что у потока многоадресных пакетов есть получатели в большинстве мест. Разреженный режим предполагает относительно меньшее количество приемников. Плотный режим идеален для групп, в которых многие узлы подписываются на получение многоадресных пакетов, поэтому большинство маршрутизаторов должны принимать и пересылать эти пакеты (группы с высокой плотностью).
Эта разница проявляется в начальном поведении и механизмах двух протоколов. В плотном режиме используется довольно простой подход к обработке многоадресной IP- маршрутизации. Источник изначально осуществляет широковещательную рассылку на каждый маршрутизатор, напрямую подключенный к нему. Эти соседние маршрутизаторы далее пересылают данные своим соседям. Когда маршрутизатор не желает получать данные этой группы (если нет других соседних маршрутизаторов PIM и ни один хост не заинтересован в группе), он отправляет сообщение Prune, чтобы указать на отсутствие интереса. После получения сообщения Prune маршрутизатор изменит свое состояние так, чтобы он не пересылал эти пакеты через этот интерфейс . Если все интерфейсы на маршрутизаторе будут сокращены, маршрутизатор также будет обрезан. [5]
В более старых версиях Cisco IOS PIM-DM повторно лавинно перенаправлял весь многоадресный трафик каждые 3 минуты. Это нормально для многоадресной рассылки небольшого объема, но не для потоков многоадресной рассылки с более высокой пропускной способностью. Более поздние версии Cisco IOS поддерживают новую функцию, называемую обновлением состояния в плотном режиме PIM, начиная с 12.1 (5) T. Эта функция использует сообщения обновления состояния PIM для обновления состояния Prune на исходящих интерфейсах. Еще одно преимущество состоит в том, что изменения топологии распознаются быстрее. По умолчанию сообщения об обновлении состояния PIM отправляются каждые 60 секунд.
Кроме того, маршрутизаторы будут использовать пересылку обратного пути, чтобы гарантировать отсутствие петель для пересылки пакетов между маршрутизаторами, которые хотят получать многоадресные пакеты. Когда пакет данных получен на интерфейсе, отличном от RPF, требуется механизм для предотвращения петель. Если не-RPF-интерфейс является LAN, отправляется сообщение Assert. Маршрутизаторы без пересылки затем отправляют Prune на свой интерфейс RPF, если им не нужен многоадресный поток. Только один такой Prune отправляется во время перехода к отсутствию интерфейсов в списке исходящих интерфейсов (OILIST). Приемник LAN Prune задерживает действие на него на 3 секунды, так что, если другому маршрутизатору LAN все еще нужен многоадресный поток, он может отправить сообщение PIM Join, чтобы противодействовать (отменить) Prune. («Этому роутеру он не нужен, но мне он все равно нужен!»)
Предположим, маршрутизатор завершил работу, а через некоторое время получатель запрашивает многоадресный поток с сообщением IGMP. Затем маршрутизатор отправляет сообщение Graft. Фактически, «эй, мне нужен этот многоадресный поток прямо здесь».
Смотрите также
- Адрес многоадресной рассылки
- Протокол обнаружения источника многоадресной рассылки
Рекомендации
- ^ a b c Руководство по настройке многоадресной IP-маршрутизации , Cisco , получено 27 мая 2017 г.
- ^ «Протокол многоадресной маршрутизации PIM-SM» . Microsoft . Проверено 26 марта 2014 .
- ^ «Файл часто задаваемых вопросов (FAQ) для многоадресной рассылки» . Multicast Tech. Архивировано из оригинала 2011-06-14.
- ^ «Дополнение к руководству по развертыванию многоадресной IP-рассылки для доставки контента IPTV» . ITU-T . Проверено 23 марта 2014 .
- ^ а б Configuring IP Multicast Routing , Cisco Systems , получено 06 декабря 2013 г.
Внешние ссылки
- Горри Фэрхерст (2006). «Маршрутизация PIM» (PDF) . Архивировано из оригинального (PDF) 28 декабря 2011 года . Проверено 6 декабря 2011 .
- Независимый от протокола режим многоадресной рассылки (PIM-SM): спецификация протокола (пересмотренная)
- Обзор многоадресной рассылки, зависящей от источника (SSM)
- Netcraftmen Объяснение разреженного режима PIM
- cisco docwiki
- microsoft.com
- pimd - это легкий автономный демон многоадресной маршрутизации PIM-SM v2.
- Протокол-независимый многоадресно-разреженный режим (PIM-SM): спецификация протокола rfc2362
- qpimd - демон PIM для Quagga- Независимая от протокола многоадресная передача, ранее являвшаяся отдельным независимо выпущенным модулем для Quagga Routing Suite , но теперь являющаяся официальным модулем и поставляемым ею .