13.4. Настройка PIMv6-DM
Назначение
Протокол PIMv6-DM (Protocol Independent Ipv6 Multicasting Dense Mode) - это протокол многоадресной маршрутизации, предназначенный для эффективной работы в глобальных сетях (WAN) с плотно распределенными группами. Он помогает географически разнесенным узлам сети экономить полосу пропускания и снижает трафик за счет одновременной доставки одного потока информации в несколько мест.
Описание
PIMv6-DM предполагает, что когда источник передает многоадресный трафик, он поступает ко всем возможным получателям. PIMv6-DM использует RPF для предотвращения сетевых штормов. Если в области сети нет членов группы, PIMv6-DM отключает ветвь пересылки, инициируя состояние “Prune”.
Состояние “Prune” имеет ограниченное время жизни. По истечении этого срока данные снова будут пересылаться по ранее отключенной ветви.
Отключенная ветвь может быть вновь включена после появления в ней нового члена группы.
Реализация PIMv6-DM на коммутаторе соответствует RFC 3973.
Настройка
PIMv6-DM - это протокол с динамическим состоянием. Для его включения необходимо активировать его на нужных интерфейсах. Все состояния многоадресных групп поддерживаются динамически в результате сообщений “MLD Report/Leave” и сообщений PIMv6.
В данном примере показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
Поток многоадресных данных поступает на порт “eth-0-1” коммутатора “Switch1”, устройство “host” подключено к порту “eth-0-1” коммутатора “Switch2”.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Включение IPv6 и многоадресной IPv6-маршрутизации
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
Шаг 3: Настройка портов
На коммутаторе “Switch1”:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:2::1/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
На коммутаторе “Switch2”:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:3::1/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:2::2/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
Шаг 4: Создание статических юникаст-маршрутов
На коммутаторе “Switch1”:
Switch(config)# ipv6 route 2001:3::/64 2001:2::2
На коммутаторе “Switch2”:
Switch(config)# ipv6 route 2001:1::/64 2001:2::1
Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка
Вывод информации об интерфейсе на коммутаторе “Switch1”:
Switch# show ipv6 pim dense-mode interface
Neighbor Address Interface VIFIndex Ver/ Nbr
Mode Count
fe80::326f:c9ff:fef2:8200 eth-0-1 0 v2/D 0
fe80::326f:c9ff:fef2:8200 eth-0-9 2 v2/D 1
Вывод информации о соседних устройствах на коммутаторе “Switch1”:
Switch# show ipv6 pim sparse-mode neighbor
Neighbor Address Interface Uptime/Expires Ver
fe80::ce47:6eff:feb7:1400 eth-0-9 00:51:51/00:01:24 v2
Вывод таблицы многоадресной маршрутизации на коммутаторе “Switch1”:
Switch# show ipv6 pim dense-mode mroute
PIM-DM Multicast Routing Table
(2001:1::2, ff0e::1)
Source directly connected on eth-0-1
State-Refresh Originator State: Originator
Upstream IF: eth-0-1
Upstream State: Forwarding
Assert State: NoInfo
Downstream IF List:
eth-0-9, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo
Вывод таблицы многоадресной маршрутизации на коммутаторе “Switch2”:
Switch# show ipv6 pim dense-mode mroute
PIM-DM Multicast Routing Table
(2001:1::2, ff0e::1)
RPF Neighbor: none
Upstream IF: eth-0-9
Upstream State: AckPending
Assert State: Loser
Downstream IF List:
eth-0-1, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo