Настройка 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-интерфейсе.
Настройка первого устройства¶
Глобально включается multicast-маршрутизация IPv4 и активируется контекст PIM.
На интерфейсе vlan 3000 включается режим PIM-DM.
Настройка второго устройства¶
Глобально включается multicast-маршрутизация IPv4 и активируется контекст PIM.
На интерфейсе vlan 3000 включается режим PIM-DM.
Изучение состояния устройства¶
Проверка соседства PIM:
Назначение вывода:
- Neighbor-Address — IP-адрес соседнего устройства PIM;
- Interface — локальный интерфейс, через который обнаружен сосед;
- DR prioruty — приоритет DR, полученный от соседа;
- State — состояние соседа на сегменте;
- ExpiryTime(s) — время до удаления записи о соседе при отсутствии новых Hello-пакетов.
Наличие записи подтверждает:
- на соседнем устройстве включен PIM;
- интерфейс находится в рабочем состоянии;
- между устройствами сформировано PIM-соседство.
Проверка интерфейсов:
Назначение вывода:
- Interface — интерфейс, на котором включен PIM;
- State — состояние интерфейса в контексте PIM;
- Nbr-Cnt — количество PIM-соседей;
- Hello-Interval — интервал отправки Hello;
- DR-Pri — локальный приоритет DR;
- DR-Address — адрес выбранного DR на сегменте.
Корректным признаком работы является состояние up и наличие хотя бы одного соседа
Просмотр конфигурации¶
Конфигурация PIM на SW1 и SW2
История возникновения команды¶
Версия ПО
Команды в данной главе применимы для:
- аппаратных платформ CIT серии L3200, с установленной версией ПО v1.0.2;
- являются актуальными с версии ПО v1.0.2.
Ссылка на внешнюю документацию¶
Стандарт
- RFC 3973 — Protocol Independent Multicast - Dense Mode (PIM-DM)