Конфигурация режима PIM Dense
Протокол Protocol Independent Multicast - Dense Mode (PIM-DM) — это протокол маршрутизации мультикастов, основанный на данных, который строит деревья распределения мультикастов на основе источника и работает по принципу "рассылка и обрезка" (flood-and-prune). PIM-DM требует информации о достижимости в уникаст-сетях, но не зависит от конкретного уникаст-протокола маршрутизации.
Терминология
Ниже приведено краткое описание терминов и концепций, используемых для описания протокола PIM-DM:
Обратный форвардинг пакетов (Reverse Path Forwarding)
Обратный форвардинг пакетов (Reverse Path Forwarding, RPF) — это оптимизированная форма рассылки, при которой маршрутизатор принимает пакет от SourceA
через интерфейс IF1
только в том случае, если IF1
является интерфейсом, который маршрутизатор использовал бы для достижения SourceA
. Это определяется с помощью уникаст-таблиц маршрутизации. Пакет, поступивший через интерфейс IF1
, пересылается, так как таблица маршрутизации указывает этот интерфейс как кратчайший путь к сети. Уникаст-таблица маршрутизации маршрутизатора определяет кратчайший путь для мультикаст-пакетов. Поскольку маршрутизатор принимает пакет только от одного соседа, он пересылает пакет только один раз, что означает, что (при условии использования точка-точка соединений) каждый пакет передается по каждому каналу один раз в каждом направлении.
Форвардинг мультикаст-пакетов
Маршрутизаторы PIM-DM пересылают мультикаст-трафик на все интерфейсы, ведущие к получателям, которые явно присоединились к мультикаст-группе. Сообщения отправляются на адрес группы в локальной подсети. Маршрутизатор выполняет проверку RPF и пересылает пакет. Трафик, поступающий на правильный интерфейс, отправляется на все исходящие интерфейсы, ведущие к получателям ниже по потоку, если маршрутизатор ниже по потоку является членом этой группы.
Вверх по потоку (Upstream)
Трафик вверх по потоку — это трафик, направленный к источнику.
Вниз по потоку (Downstream)
Трафик вниз по потоку — это любой трафик, кроме интерфейса вверх по потоку для этой группы.
Следующий переход (Nexthop)
PIM-DM периодически выполняет поиск префиксов для проверки достижимости маршрутизаторов. Механизм поиска следующего перехода (nexthop) позволяет избежать периодического поиска. Во время запуска PIM-DM уведомляет NSM (Network Services Manager) о префиксах, которые относятся к ним. NSM уведомляет протоколы, если доступен лучший следующий переход или если следующий переход становится недоступным. Таким образом, PIM-DM не тратит ресурсы на периодический поиск, так как NSM проактивно поддерживает их.
Конфигурация
Настройка PIM-DM требует выполнения следующих шагов:
- Включите IP-мультикаст на каждом маршрутизаторе PIM (см. раздел "Включение маршрутизации IP-мультикастов").
- Включите PIM-DM на нужных интерфейсах (см. раздел "Включение PIM-DM").
Этот раздел предоставляет шаги настройки для конфигурации PIM-DM и примеры для соответствующего сценария.
Топология
В этой сетевой топологии адрес Source_1 — 10.10.1.52, а адрес группы установлен на 224.0.1.3.
Рисунок 4-37: Топология конфигурации PIM-DM
В этом примере все маршрутизаторы работают в режиме PIM-DM.
- Host_1 отправляет отчет о членстве IGMP в подсеть 1.
- После получения этого отчета Switch_C связывает свой принимающий интерфейс
eth1
с группой, указанной в сообщении IGMP, например, group1. - Затем Source_1 отправляет пакет данных для group1.
- Каждый маршрутизатор создает запись (S,G) в таблице маршрутизации мультикастов.
- Когда пакет данных д остигает
Switch_C
, он пересылает его через интерфейсeth1
, так как на этом интерфейсе есть локальный участник для этой группы.Switch_C
имеет получателя ниже по потоку, поэтому он не отправляет сообщение prune своему соседу вверх по потоку, маршрутизаторуSwitch_B
.
Включение маршрутизации IP-мультикастов
Включите маршрутизацию IP-мультикастов на всех маршрутизаторах PIM внутри домена PIM:
#configure terminal | Перейти в режим конфигурации. |
(config)#ip multicast-routing | Включить маршрутизацию IP-мультикастов. |
(config)#exit | Выйти из режима конфигурации. |
Включение PIM-DM
Включите PIM-DM на всех участвующих интерфейса х каждого маршрутизатора внутри домена PIM, на которых вы хотите запустить PIM.
#configure terminal | Перейти в режим конфигурации. |
(config)#interface eth1 | Перейти в режим интерфейса. |
(config-if)#ip address 10.10.15.12/24 | Настроить IP-адрес для eth1 . |
(config-if)#ip pim dense-mode | Включить PIM dense mode на интерфейсе. |
(config-if)#exit | Выйти из режима интерфейса. |
(config)#interface eth2 | Перейти в режим интерфейса. |
(config-if)#ip address 10.10.14.12/24 | Настроить IP-адрес для eth2 . |
(config-if)#ip pim dense-mode | Включить PIM dense mode на интерфейсе. |
(config-if)#exit | Выйти из режима интерфейса. |
Пример конфигурации для Switch_C
:
hostname Switch_C
!
interface eth0 !
interface eth1
ip pim dense-mode
!
interface eth2
ip pim dense-mode
!
interface lo
!
!
ip multicast-routing
!
Проверка
Команда show ip pim interface
отображает детали интерфейса для Switch_C.
Switch_C#show ip pim interface
Address Interface VIFindex Ver/ Nbr DR
Mode Count prior
192.168.1.10 eth1 0 v2/D 0 1
172.16.1.10 eth2 2 v2/D 1 1
Команда show ip mroute
отображает таблицу маршрутизации IP-мультикастов.
Switch_C#show ip mroute
IP Multicast Routing Table
Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed
Timers: Uptime/Stat Expiry
Interface State: Interface (TTL)
(10.10.1.52, 224.0.1.3), uptime 00:00:15
Owner PIM-DM, Flags: F
Incoming interface: eth2 Outgoing interface list:
eth1 (1)
Команда show ip pim mroute
отображает таблицу маршрутизации мультикастов PIM-DM.
Switch_C#show ip pim mroute
PIM-DM Multicast Routing Table
(10.10.1.52, 224.0.1.3)
RPF Neighbor: 172.16.1.2, Nexthop: 172.16.1.2, eth2
Upstream IF: eth2
Upstream State: Forwarding Assert State: NoInfo
Downstream IF List: eth1, in 'olist': Downstream State: NoInfo
Assert State: NoInfo
IGMP Snooping Configuration