Перейти к содержанию

Настройка PIM-DM

Описание и назначение функции и выполняемой настройки

PIM-DM (Protocol Independent Multicast Dense Mode) — протокол маршрутизации multicast-трафика плотного режима (dense mode). Он применяется в сетях небольшого масштаба, где получатели multicast-трафика распределены плотно, то есть предполагается, что большинство сегментов сети заинтересованы в получении multicast-потока. В основе работы PIM-DM лежит модель flood-and-prune: трафик сначала рассылается по всем направлениям, после чего ветви без подписчиков отсекаются сообщениями Prune; при появлении новых получателей восстановление ветви выполняется механизмом Graft.

В рамках настройки выполняется:

  • глобальное включение multicast-маршрутизации IPv4;
  • активация подсистемы PIM;
  • включение PIM-DM на интерфейсах, участвующих в передаче multicast-трафика;
  • проверка формирования PIM-соседства;
  • проверка состояния интерфейсов PIM и роли DR на сегменте.

Данная настройка используется для:

  • организации маршрутизации multicast-трафика между L3-сегментами;
  • передачи multicast-потоков без использования RP;
  • работы в топологиях, где оправдана широковещательная первичная рассылка с последующим отсечением лишних ветвей.

Необходимые условия и предварительные требования

Перед настройкой PIM-DM должны быть выполнены следующие условия:

  • на устройстве должна быть включена IP multicast routing
  • L3-интерфейсы между устройствами должны быть настроены и находиться в рабочем состоянии;
  • между устройствами должна быть обеспечена IP-связность;
  • интерфейсы, через которые будет передаваться multicast-трафик, должны быть включены в PIM-DM;
  • включен IGMP на пользовательских интерфейсах (включен по умолчанию);

Основная информация о применяемых технологиях

Принцип работы PIM-DM

PIM-DM использует source-based distribution tree и модель flood-and-prune. После появления multicast-источника трафик сначала распространяется по всем downstream-направлениям. Если на какой-либо ветви отсутствуют получатели или downstream-PIM-соседи, устройство отправляет Prune в сторону источника, и дальнейшая передача на эту ветвь прекращается. Если позже на отсеченной ветви появляется получатель, используется механизм Graft, который возвращает ветвь в дерево доставки.

PIM не зависит от unicast-протокола

PIM называется Protocol Independent, потому что использует уже существующую unicast-таблицу маршрутизации для определения RPF-интерфейса и не требует собственного отдельного протокола расчета unicast-маршрутов. Это общий принцип работы PIM.

Роль Hello и соседства PIM

После включения PIM на интерфейсе устройство начинает обмениваться Hello-сообщениями с соседями. На основании этих сообщений формируется таблица соседей PIM. Отсутствие соседства обычно означает, что на соседнем устройстве PIM не включен, интерфейс неработоспособен либо между устройствами есть проблема L3-связности. Интервал Hello и параметры DR на интерфейсе являются частью рабочих атрибутов PIM.

DR в общем сегменте

На многодоступном сегменте PIM выбирает DR (Designated Router). Этот параметр виден в выводе show ip pim interface и show ip pim neighbor. Для PIM-DM наличие DR не меняет основной flood-and-prune-принцип, но остается частью механизма работы PIM на общем канале.

State Refresh в PIM-DM

Для PIM-DM используется механизм State Refresh, который периодически обновляет prune-состояние и снижает объем повторного нежелательного flood после истечения таймеров prune-ветвей. Это уменьшает лишнюю нагрузку на сеть в dense-mode-домене.


Назначение применяемой команды/конфигурации

Команда Режим Назначение
configure Privileged EXEC Переходит в режим глобальной конфигурации
ip multicast-routing Global config Включает глобальную IPv4 multicast-маршрутизацию на устройстве
pim Global config Переходит в режим глобальной настройки подсистемы PIM
exit PIM config / Interface config Возвращает в предыдущий режим конфигурации
interface vlan 3000 Global config Переходит в режим настройки интерфейса VLAN 3000
ip pim-dm Interface config Включает PIM Dense Mode на интерфейсе
show ip pim neighbor Privileged EXEC Отображает таблицу соседей PIM, интерфейс соседства, DR-priority, состояние и таймер истечения
show ip pim interface Privileged EXEC Отображает состояние PIM на интерфейсах, число соседей, Hello-interval, DR-priority и адрес DR

Пример конфигурирования

Схема применения

В примере два устройства обмениваются multicast-трафиком через vlan 3000. На обоих устройствах включается глобальная multicast-маршрутизация и PIM-DM на соответствующем L3-интерфейсе.

Настройка первого устройства

1
2
3
SW1(config)#ip multicast-routing
SW1(config)#pim
SW1(config-pim)#exit

Глобально включается multicast-маршрутизация IPv4 и активируется контекст PIM.

SW1(config)#interface vlan 3000
SW1(config-vlanif-3000)#ip pim-dm

На интерфейсе vlan 3000 включается режим PIM-DM.

Настройка второго устройства

1
2
3
SW2(config)#ip multicast-routing
SW2(config)#pim
SW2(config-pim)#exit

Глобально включается multicast-маршрутизация IPv4 и активируется контекст PIM.

SW2(config)#interface vlan 3000
SW2(config-vlanif-3000)#ip pim-dm

На интерфейсе vlan 3000 включается режим PIM-DM.

Изучение состояния устройства

Проверка соседства PIM:

1
2
3
SW2#show ip pim neighbor
  Neighbor-Address    Interface    DR prioruty    State          ExpiryTime(s)
  172.30.0.1          vlan3000     1              NON-DR         90

Назначение вывода:

  • Neighbor-Address — IP-адрес соседнего устройства PIM;
  • Interface — локальный интерфейс, через который обнаружен сосед;
  • DR prioruty — приоритет DR, полученный от соседа;
  • State — состояние соседа на сегменте;
  • ExpiryTime(s) — время до удаления записи о соседе при отсутствии новых Hello-пакетов.

Наличие записи подтверждает:

  • на соседнем устройстве включен PIM;
  • интерфейс находится в рабочем состоянии;
  • между устройствами сформировано PIM-соседство.

Проверка интерфейсов:

1
2
3
SW2#show ip pim interface
  Interface               State   Nbr-Cnt   Hello-Interval  DR-Pri      DR-Address
  vlan3000                up      1         30              1           172.30.0.2

Назначение вывода:

  • Interface — интерфейс, на котором включен PIM;
  • State — состояние интерфейса в контексте PIM;
  • Nbr-Cnt — количество PIM-соседей;
  • Hello-Interval — интервал отправки Hello;
  • DR-Pri — локальный приоритет DR;
  • DR-Address — адрес выбранного DR на сегменте.

Корректным признаком работы является состояние up и наличие хотя бы одного соседа


Просмотр конфигурации

Конфигурация PIM на SW1 и SW2

1
2
3
4
5
6
SW1#show ip pim config
!
ip multicast-routing
pim
interface vlan3000
 ip pim-dm
1
2
3
4
5
6
SW2#show ip pim config
!
ip multicast-routing
pim
interface vlan3000
 ip pim-dm


История возникновения команды

Версия ПО

Команды в данной главе применимы для:

  • аппаратных платформ CIT серии L3200, с установленной версией ПО v1.0.2;
  • являются актуальными с версии ПО v1.0.2.

Ссылка на внешнюю документацию

Стандарт

  • RFC 3973 — Protocol Independent Multicast - Dense Mode (PIM-DM)