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).


Показана настройка коммутаторов в соответствии с представленной конфигурацией сети.

image

Рис. 13.1 Конфигурация сети

Коммутатор “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.


В примере ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.

image

Рис. 13.2 Конфигурация сети

В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.

Шаг 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.


Ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети.

image

Рис. 13.3 Конфигурация сети


В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.

Шаг 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