13.3. Настройка PIMv6-SM
Назначение
Протокол PIMv6-SM (Protocol Independent Multicasting-Sparse Mode for IPv6) - это протокол многоадресной маршрутизации, предназначенный для эффективной работы в глобальных сетях (WAN) с малораспределенными группами. Он помогает географически разнесенным узлам сети экономить полосу пропускания и снижает трафик за счет одновременной доставки одного потока информации в несколько мест.
Описание
PIMv6-SM использует модель многоадресной рассылки IPv6 с членством по инициативе получателя, поддерживая как общие деревья, так и деревья кратчайшего пути, и использует механизмы динамического состояния для адаптации к изменяющимся условиям сети. Он опирается на протокол сбора топологии для заполнения таблицы многоадресной маршрутизации маршрутами.
Реализация PIMv6-SM на коммутаторе основана на стандарте RFC 4601.
Настройка
Общая настройка PIMv6-SM со статическим RP
PIMv6-SM — это протокол с динамическим состоянием. Для его включения необходимо активировать его на нужных интерфейсах и правильно настроить информацию RP с помощью статических или динамических методов. Все состояния групп многоадресной рассылки обновляются динамически в результате сообщений “MLD Report/Leave” и “PIMv6 Join/Prune”. Поддерживается только один RP для всех групп многоадресной рассылки (адрес ff00::/8
).
Показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
Коммутатор “Switch1” является Rendezvous Point (RP), коммутаторы настроены статически с использованием информации RP.
ВНИМАНИЕ!
При настройке RP необходимо убедиться, что:
На каждом маршрутизаторе параметр
ipv6 pim rp-address
настроен в значение2001:1::1
, даже если к нему не прикреплен какой-либо источник или член группы.Для группового диапазона в домене PIMv6 существует только один RP-адрес.
На всех интерфейсах, на которых работает PIMv6-SM, включен режим “Sparse”.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах
Шаг 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 sparse-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:9::1/64
Switch(config-if)# ipv6 pim sparse-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:2::1/64
Switch(config-if)# ipv6 pim sparse-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:9::2/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Шаг 4: Создание статических юникаст-маршрутов
На коммутаторе “Switch1”:
Switch(config)# ipv6 route 2001:2::/64 2001:9::2
На коммутаторе “Switch2”:
Switch(config)# ipv6 route 2001:1::/64 2001:9::1
Шаг 5: Настройка статического адреса RP
Switch(config)# ipv6 pim rp-address 2001:1::1
Шаг 6: Выход из режима “Global config”
Switch(config)# end
Шаг 7: Проверка
Вывод информации о RP на коммутаторе “Switch1”:
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
Group(s): ff00::/8, Static
RP: 2001:1::1
Uptime: 00:00:04
Embedded RP Groups:
Подсказка
Из выведенной информации видно, что 11.1.1.1
является RP для всех многоадресных групп ff00::/8
и настроен статически.
Вывод интерфейса PIM на коммутаторе “Switch1”:
Switch# show ipv6 pim sparse-mode interface
Interface VIFindex Ver/ Nbr DR
Mode Count Prior
eth-0-1 2 v2/S 0 1
Address : fe80::fc94:efff:fe96:2600
Global Address: 2001:1::1
DR : this system
eth-0-9 0 v2/S 0 1
Address : fe80::fc94:efff:fe96:2600
Global Address: 2001:9::1
DR : this system
Вывод таблицы многоадресной IPv6-маршрутизации на коммутаторе “Switch1”:
Switch# show ipv6 pim sparse-mode mroute detail
IPv6 Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
*, ff0e::1234:5678
Type: (*,G)
Uptime: 00:01:37
RP: 2001:1::1, RPF nbr: None, RPF idx: None
Upstream:
State: JOINED, SPT Switch: Enabled, JT: off
Macro state: Join Desired,
Downstream:
eth-0-1:
State: NO INFO, ET: off, PPT: off
Assert State: NO INFO, AT: off
Winner: ::, Metric: 4294967295, Pref: 4294967295, RPT bit: on
Macro state: Could Assert, Assert Track
Local Olist:
eth-0-1
Вывод таблицы многоадресной IPv6-маршрутизации на коммутаторе “Switch2”:
Switch# show ipv6 pim sparse-mode mroute detail
IPv6 Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
*, ff0e::1234:5678
Type: (*,G)
Uptime: 00:00:06
RP: 2001:1::1, RPF nbr: None, RPF idx: None
Upstream:
State: JOINED, SPT Switch: Enabled, JT: off
Macro state: Join Desired,
Downstream:
eth-0-1:
State: NO INFO, ET: off, PPT: off
Assert State: NO INFO, AT: off
Winner: ::, Metric: 4294967295, Pref: 4294967295, RPT bit: on
Macro state: Could Assert, Assert Track
Local Olist:
eth-0-1
Общая настройка PIMv6-SM с динамическим RP
Статическая конфигурация RP подходит для небольшого, стабильного домена PIMv6, однако она непрактична для большой интернет-сети. В такой сети, если RP выйдет из строя, администратору сети, возможно, придется менять статические конфигурации на всех маршрутизаторах PIMv6. Другой причиной выбора динамической конфигурации является повышенный трафик маршрутизации, приводящий к смене RP.
На коммутаторе реализован механизм BSR для динамического поддержания информации о RP. Для соответствующей динамической настройки RP порт “eth-0-1” коммутатора “Switch1” и порт “eth-0-9” коммутатора “Switch2” настраиваются как кандидаты RP. Порт “eth-0-9” коммутатора “Switch2” настроен как кандидат BSR. Поскольку ни один другой маршрутизатор не был настроен как кандидат BSR, коммутатор “Switch2” становится маршрутизатором BSR и отвечает за отправку информации о сопоставлении групп и RP на все остальные маршрутизаторы в этом домене PIMv6.
В примере ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 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 sparse-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:9::1/64
Switch(config-if)# ipv6 pim sparse-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:2::1/64
Switch(config-if)# ipv6 pim sparse-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:9::2/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Шаг 4: Создание статического юникаст-маршрута
На коммутаторе “Switch1”:
Switch(config)# ipv6 route 2001:2::/64 2001:9::2
На коммутаторе “Switch2”:
Switch(config)# ipv6 route 2001:1::/64 2001:9::1
Шаг 5: Настройка кандидата RP
На коммутаторе “Switch1”:
Switch(config)# ipv6 pim rp-candidate eth-0-1
На коммутаторе “Switch2”:
Switch(config)# ipv6 pim rp-candidate eth-0-9
Шаг 6: Настройка кандидата BSR
На коммутаторе “Switch2”:
Switch(config)# ipv6 pim bsr-candidate eth-0-9
Примечание
В качестве RP выбирается маршрутизатор с наивысшим приоритетом. Если два или более маршрутизаторов имеют одинаковый приоритет, для выбора RP используется хэш-функция механизма BSR, чтобы убедиться, что все маршрутизаторы в PIMv6-домене имеют один и тот же RP для одной и той же группы.
Шаг 7: Выход из режима “Global config”
Switch(config)# end
Шаг 8: Проверка
Сопоставление групп PIMv6 с RP на коммутаторе “Switch1”:
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): ff00::/8
RP: 2001:9::2
Info source: 2001:9::2, via bootstrap, priority 2
Uptime: 00:00:32, expires: 00:02:02
RP: 2001:1::1
Info source: 2001:1::1, via bootstrap, priority 192
Uptime: 00:00:31, expires: 00:02:03
Embedded RP Groups:
Подсказка
Отображена информация о кандидатах RP. Для диапазона групп ff00::/8
есть два RP-кандидата.
RP-кандидат 2001:1::1
имеет приоритет по умолчанию 192
, в то время как RP-кандидат 2001:9::2
настроен на приоритет 2
. Поскольку RP-кандидат 2001:1::1
имеет более высокий приоритет, он выбран в качестве RP для многоадресной группы ff00::/8
.
В список групп будут включены только разрешающие фильтры.
Вывод сведений о RP на коммутаторе “Switch2”:
Switch# show ipv6 pim sparse-mode rp-hash ff02::1234
Info source: 2001:9::2, via bootstrap
Подсказка
Выведенная информация подтверждает, что 2001:9::2
был выбран в качестве RP для многоадресной группы ff02::1234
.
После того, как информация о RP достигает всех маршрутизаторов PIMv6 в домене, устройства в различных состояниях будут поддерживать все состояния маршрутизации в результате Join/Prune-сообщений.
Вывод информации об интерфейсе и таблицы многоадресной маршрутизации см. в подглаве “Общая настройка PIMv6 SM со статическим RP”.
Настройка Boostrap Router
Каждая многоадресная группа PIMv6 должна быть связана с IPv6-адресом RP. Этот адрес используется в качестве корня дерева распределения для конкретной группы, ветви которого распространяются на все узлы в домене, которые хотят получать трафик, отправляемый в группу. Чтобы данные поступали ко всем получателям, все маршрутизаторы в домене используют одинаковое сопоставление групповых адресов с адресами RP. Чтобы определить RP для многоадресной группы, маршрутизатор PIMv6 хранит коллекцию сопоставлений группы и RP, называемую RP-набором.
Механизм BSR (Bootstrap Router) для класса протоколов многоадресной маршрутизации в домене PIMv6 использует концепцию RP в качестве средства для обнаружения приемниками источников. Механизм BSR - это один из способов, с помощью которого многоадресный маршрутизатор может узнать набор сопоставлений группы и RP, необходимых для его работы.
Некоторые маршрутизаторы PIMv6 в домене PIMv6 настроены как кандидаты RP (C-RP). Подмножество C-RP в конечном итоге будет использоваться в качестве фактических RP для домена. RP, настроенный с меньшим числовым значением приоритета, будет иметь более высокий приоритет.
Некоторые маршрутизаторы PIMv6 в домене настроены как кандидаты BSR (C-BSR). Один из этих C-BSR выбирается в качестве BSR для домена, и все маршрутизаторы PIMv6 в домене узнают результат этих выборов через BSM (Bootstrap messages). C-BSR с наибольшим значением в поле приоритета становится избранным BSR.
Затем C-RP сообщают о своей кандидатуре избранному BSR, который выбирает подмножество C-RP и рассылает соответствующие отображения группы на RP всем маршрутизаторам в домене через BSM.
Ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.
В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Включение IPv6 и многоадресной IPv6-маршрутизации
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
Шаг 3: Настройка кандидата BSR
На коммутаторе “Switch1”:
Switch(config)# ipv6 pim bsr-candidate eth-0-1
На коммутаторе “Switch2”:
Switch(config)# ipv6 pim bsr-candidate eth-0-1 10 25
Шаг 4: Настройка кандидата RP на коммутаторе “Switch2”
Switch(config)# ipv6 pim rp-candidate eth-0-1 priority 0
Шаг 5: Настройка порта на коммутаторе “Switch2”
Switch(config)# interface eth-0-1
Switch(config-if)# ipv6 pim dr-priority 10
Switch(config-if)# ipv6 pim unicast-bsm
Switch(config-if)# exit
Шаг 6: Выход из режима “Global config”
Switch(config)# end
Шаг 7: Проверка
Вывод состояния C-BSR на коммутаторе “Switch1”:
Switch# show ipv6 pim sparse-mode bsr-router
PIM6v2 Bootstrap information
This system is the Bootstrap Router (BSR)
BSR address: 2001:9::1 (?)
Uptime: 00:01:27, BSR Priority: 64, Hash mask length: 126
Next bootstrap message in 00:00:16
Role: Candidate BSR
State: Elected BSR
Вывод состояния C-BSR на коммутаторе “Switch2” (начальным состоянием C-BSR является P-BSR перед переходом в C-BSR):
Switch# show ipv6 pim sparse-mode bsr-router
PIM6v2 Bootstrap information
BSR address: 2001:9::1 (?)
Uptime: 00:01:34, BSR Priority: 64, Hash mask length: 126
Expires: 00:01:51
Role: Candidate BSR
State: Candidate BSR
Candidate RP: 2001:9::2(eth-0-9)
Advertisement interval 60 seconds
Next C-RP advertisement in 00:00:35
Вывод информации о наборе RP на E-BSR:
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): ff00::/8
RP: 2001:9::2
Info source: 2001:9::2, via bootstrap, priority 0
Uptime: 00:45:37, expires: 00:02:29
Embedded RP Groups:
Вывод информации о наборе RP на C-BSR:
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
Group(s): ff00::/8
RP: 2001:9::2
Info source: 2001:9::1, via bootstrap, priority 0
Uptime: 00:03:14, expires: 00:01:51
Embedded RP Groups:
Настройка PIMv6-SSM
PIMv6-SSM может работать с PIMv6-SM на маршрутизаторе многоадресной рассылки. По умолчанию PIMv6-SSM отключен.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Включение PIMv6-SSM
Switch(config)# ipv6 pim ssm default
Switch(config)# ipv6 pim ssm range ipv6acl
Шаг 3: Выход из режима “Global config”
Switch(config)# end