6.3. Настройка PIM-SM

Назначение

Protocol Independent Multicasting-Sparse Mode (PIM-SM) - это протокол мультикаст-маршрутизации, предназначенный для эффективной работы в глобальных вычислительных сетях (WAN) с малораспределенными группами. Он помогает географически разнесенным узлам сети экономить полосу пропускания и снижает трафик за счет одновременной доставки одного потока информации в несколько мест.

Описание

PIM-SM использует модель рассылки на мультикаст-группы с членством, инициируемым приемником. PIM-SM поддерживает как общие деревья (shared trees), так и деревья кратчайшего пути (SPT, Shortest Path trees) и использует механизмы динамического состояния для адаптации к изменяющимся условиям сети. PIM-SM использует протоколы маршрутизации для заполнения таблицы мультикаст-маршрутизации.

Реализация PIM-SM на коммутаторе основана на стандарте IETF RFC 4601.

В данной главе используются сокращения и термины из RFC 4601, указанные также в глоссарии.

Настройка

Общая настройка PIM SM

PIM-SM - это протокол с динамическим состоянием. Основное требование - включить PIM-SM на нужных интерфейсах и правильно настроить информацию RP, используя статические или динамические методы. Все состояния мультикаст-групп поддерживаются динамически в результате сообщений “IGMP Report”, “Leave”, “PIM Join”, “PIM Prune”.

В примерах ниже приведены примеры настройки PIM-SM для двух сценариев - со статическим RP и с димамическим RP.

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

image

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

Общая настройка PIM SM (статический RP)

В примере ниже приведена настройка коммутатора “Switch1” и коммутатора “Switch2” . Коммутатор “Switch1” является Rendezvous Point (RP), а все маршрутизаторы статически настроены на RP.

При настройке RP необходимо убедиться, что:

  • Каждый маршрутизатор включает оператор “IP PIM RP-адрес” (11.1.1.1), даже если к нему не подключен ни один источник или член группы.

  • В домене PIM существует только один RP-адрес для группового диапазона.

  • Все интерфейсы, на которых работает PIM-SM, должны иметь включенный режим sparse-mode.

Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Настройка портов, включение PIM-SM

На коммутаторе “Switch1”:

Switch1(config)# interface eth-0-1
Switch1(config-if)# no shutdown
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 11.1.1.1/24
Switch1(config-if)# ip pim sparse-mode
Switch1(config-if)# exit
Switch1(config)# interface eth-0-9
Switch1(config-if)# no shutdown
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 12.1.1.1/24
Switch1(config-if)# ip pim sparse-mode
Switch1(config-if)# exit

На коммутаторе “Switch2”:

Switch2(config)# interface eth-0-1
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 22.1.1.2/24
Switch2(config-if)# ip pim sparse-mode
Switch2(config-if)# exit
Switch2(config)# interface eth-0-9
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 12.1.1.2/24
Switch2(config-if)# ip pim sparse-mode
Switch2(config-if)# exit
Шаг 3: Создание статических маршрутов

На коммутаторе “Switch1”:

Switch1(config)# ip route 22.1.1.0/24 12.1.1.2

На коммутаторе “Switch2”:

Switch2(config)# ip route 11.1.1.0/24 12.1.1.1
Шаг 4: Настройка статических RP-адрес
Switch(config)# ip pim rp-address 11.1.1.1
Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка

Вывод IP PIM-SM RP mapping. IP-адрес 11.1.1.1, настроенный статически, является RP для всех мультикаст-групп 224.0.0.0/4:

Switch# show ip pim sparse-mode rp mapping
PIM group-to-RP mappings
Group(s): 224.0.0.0/4, Static
    RP: 11.1.1.1
         Uptime: 00:08:21

Вывод информации о порте:

Switch# show ip pim sparse-mode interface
Address          Interface VIFindex Ver/   Nbr    DR    DR         HoldTime
                                    Mode   Count  Prior
11.1.1.1         eth-0-1   2        v2/S   0      1     11.1.1.1        105     
12.1.1.1         eth-0-9   0        v2/S   1      1     12.1.1.2        105

Вывод мультикаст-маршрутов PIM-SM на коммутаторе “Switch1”:

Switch1# show ip pim sparse-mode mroute detail
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
(*, 224.1.1.1) Uptime: 00:01:32
  RP: 11.1.1.1, RPF nbr: None, RPF idx: None
  Upstream:
   State: JOINED, SPT Switch: Enabled, JT: off
   Macro state: Join Desired,
  Downstream:
   eth-0-9:
     State: JOINED, ET Expiry: 179 secs, PPT: off
     Assert State: NO INFO, AT: off
      Winner: 0.0.0.0, Metric: 4294967295, Pref: 4294967295, RPT bit: on
     Macro state: Could Assert, Assert Track
  Join Olist:
   eth-0-9

Вывод мультикаст-маршрутов PIM-SM на коммутаторе “Switch2”:

Switch2# show ip pim sparse-mode mroute detail
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
(*, 224.1.1.1) Uptime: 00:00:43
  RP: 11.1.1.1, RPF nbr: 12.1.1.1, RPF idx: eth-0-9
  Upstream:
   State: JOINED, SPT Switch: Enabled, JT Expiry: 18 secs
   Macro state: Join Desired,
  Downstream:
   eth-0-1:
     State: NO INFO, ET: off, PPT: off
     Assert State: NO INFO, AT: off
      Winner: 0.0.0.0, Metric: 4294967295, Pref: 4294967295, RPT bit: on
     Macro state: Could Assert, Assert Track
  Local Olist:
   eth-0-1

Общая настройка PIM SM (динамический RP)

Статическая конфигурация RP подходит для небольшого стабильного домена PIM, однако непрактична для работы в больших сетях. В таких сетях сетевому администратору в случае сбоя RP, возможно, придется изменить статические конфигурации на всех маршрутизаторах PIM.

Еще одна причина выбора динамической конфигурации — повышенный трафик маршрутизации, приводящий к изменению RP.

Для динамического хранения информации RP на коммутаторе используется механизм BSR.

Для динамической настройки RP в соответствии с представленной конфигурацией сети, порт “eth-0-1” коммутатора “Switch1” и порт “eth-0-9” коммутатора “Switch2” настраиваются как кандидаты RP с помощью команды ip pim rp-candidate. Порт “eth-0-9” коммутатора “Switch2” также настроен как кандидат BSR. Поскольку ни один другой маршрутизатор не был настроен как кандидат BSR, коммутатор “Switch2” становится маршрутизатором BSR и отвечает за отправку информации о сопоставлении группы с RP всем остальным маршрутизаторам в этом домене PIM.

Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Настройка порта, включение PIM-SM

На коммутаторе “Switch1”:

Switch1(config)# interface eth-0-1
Switch1(config-if)# no shutdown
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 11.1.1.1/24
Switch1(config-if)# ip pim sparse-mode
Switch1(config-if)# exit
Switch1(config)# interface eth-0-9
Switch1(config-if)# no shutdown
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 12.1.1.1/24
Switch1(config-if)# ip pim sparse-mode
Switch1(config-if)# exit

На коммутаторе “Switch2”:

Switch2(config)# interface eth-0-1
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 22.1.1.2/24
Switch2(config-if)# ip pim sparse-mode
Switch2(config-if)# exit
Switch2(config)# interface eth-0-9
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 12.1.1.2/24
Switch2(config-if)# ip pim sparse-mode
Switch2(config-if)# exit
Шаг 3: Создание статических маршрутов

На коммутаторе “Switch1”:

Switch1(config)# ip route 22.1.1.0/24 12.1.1.2

На коммутаторе “Switch2”:

Switch2(config)# ip route 11.1.1.0/24 12.1.1.1
Шаг 4: Настройка RP-кандидата

На коммутаторе “Switch1”:

Switch1(config)# ip pim rp-candidate eth-0-1

На коммутаторе “Switch2”:

Switch2(config)# ip pim rp-candidate eth-0-9
Switch2(config)# ip pim bsr-candidate eth-0-9

В качестве RP выбирается маршрутизатор с наивысшим приоритетом. Если два или более маршрутизаторов имеют одинаковый приоритет, для выбора RP используется хэш-функция механизма BSR, обеспечивающая выбор одного и того же RP маршрутизаторами одной группы в PIM-домене.

Команда ip pim rp-candidate IFNAME PRIORITY служит для изменения приоритета по умолчанию любого кандидата RP.

Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка

Команда show ip pim sparse-mode rp mapping отображает подробную информацию о сопоставлении группы и RP. В выводе отображается информация о кандидатах RP.

Для диапазона групп 224.0.0.0/4 есть два кандидата RP. Кандидат 11.1.1.1 имеет по умолчанию приоритет 192, тогда как кандидат 12.1.1.2 настроен на приоритет 2. Поскольку кандидат 12.1.1.2 имеет более высокий приоритет, он выбран в качестве RP для мультикаст-группы 224.0.0.0/24. В список групп будут включены только разрешающие фильтры.

На коммутаторе “Switch2”:

Switch2# show ip pim sparse-mode rp mapping
PIM group-to-RP mappings
This system is the bootstrap router (v2)
Group(s): 224.0.0.0/4
  RP: 12.1.1.2
    Info source: 12.1.1.2, via bootstrap, priority 2
         Uptime: 01:55:20, expires: 00:02:17
  RP: 11.1.1.1
    Info source: 11.1.1.1, via bootstrap, priority 192
         Uptime: 01:55:23, expires: 00:02:13

Вывод информации о RP для группы 224.1.1.1:

На коммутаторе “Switch2”:

Switch2# show ip pim sparse-mode rp-hash 224.1.1.1
    RP: 12.1.1.2
    Info source: 12.1.1.2, via bootstrap

После того, как информация о RP достигает всех PIM-маршрутизаторов в домене, они способны поддерживать все состояния маршрутизации при помощи сообщений “Join”/“Prune” от членов группы.

Отображения информации о деталях интерфейса и таблицы мультикаст-маршрутизации аналогично подглаве “Общая настройка PIM SM (статический RP)”.

Настройка BSR (Bootstrap-router)

Каждая мультикаст-группа PIM должна быть связана с IP-адресом RP. Этот адрес используется в качестве корня дерева распределения для конкретной группы, ветви которого распространяются на все узлы в домене, получающие трафик, отправленный в группу. Для того, чтобы информация от всех отправителей дошла до всех получателей, все маршрутизаторы в домене должны использовать одинаковое сопоставление групповых адресов с адресами RP. Чтобы определить RP для мультикаст-группы, PIM-маршрутизатор хранит базу сопоставлений группы и RP, называемую RP-набором.

Механизм Bootstrap Router (BSR) для класса протоколов мультикаст-маршрутизации в домене PIM использует концепцию RP в качестве средства для обнаружения приемниками источников, которые передают трафик в определенную мультикаст-группу. Механизм BSR - это один из способов, с помощью которого мультикаст-нмаршрутизатор может узнать набор сопоставлений группы и RP, необходимых для его работы.

Некоторые маршрутизаторы в домене PIM настроены как RP-кандидаты (C-RP). Подмножество C-RP в конечном итоге будет использоваться в качестве фактических RP для домена. RP, на с меньшим значением в поле приоритета, будет иметь более высокий приоритет.

Некоторые маршрутизаторы в домене PIM настроены как BSR-кандидаты (C-BSR). Один из этих C-BSR выбирается в качестве BSR (bootstrap-маршрутизатора) для домена, и все PIM-маршрутизаторы в домене узнают результат этих выборов через BSM (bootstrap messages). Выбирается C-BSR с наибольшим значением в поле приоритета. Затем C-RP сообщают о своих кандидатах BSR, который выбирает подмножество C-RP и рассылает соответствующие отображения RP-групп всем маршрутизаторам в домене через BSM.

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

image

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

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Настройка BSR-кандидата и RP-кандидата

На коммутаторе “Switch1”:

Switch1(config)# ip pim bsr-candidate eth-0-1

На коммутаторе “Switch2”:

Switch2(config)# ip pim bsr-candidate eth-0-1 10 25
Switch2(config)# ip pim rp-candidate eth-0-1 priority 0

Шаг 3: Настройка приоритета RP-кандидата

Switch(config)# ip pim rp-candidate eth-0-1 priority 0

Шаг 4: Настройка порта

Настройка приоритета DR и включение приема и отправки BSM пакетов:

Switch(config)# interface eth-0-1
Switch(config-if)# ip pim dr-priority 10
Switch(config-if)# ip pim unicast-bsm

Шаг 5: Выход из режима “Global config”

Switch(config-if)# end

Шаг 6: Проверка

Вывод состояния C-BSR на коммутаторе “Switch1”:

Switch1# show ip pim sparse-mode bsr-router
PIMv2 Bootstrap information
This system is the Bootstrap Router (BSR)
BSR address: 20.0.1.21
Uptime: 00:37:12, BSR Priority: 64, Hash mask length: 10
Next bootstrap message in 00:00:04
Role: Candidate BSR
State: Elected BSR

Вывод состояния C-BSR на коммутаторе “Switch2”:

Switch2# show ip pim sparse-mode bsr-router
PIMv2 Bootstrap information
BSR address: 20.0.1.21
Uptime: 00:02:39, BSR Priority: 64, Hash mask length: 10
Expires: 00:00:03
Role: Candidate BSR
State: Pending BSR
Switch2# show ip pim sparse-mode bsr-router
PIMv2 Bootstrap information
BSR address: 20.0.1.21
Uptime: 00:40:20, BSR Priority: 64, Hash mask length: 10
Expires: 00:02:07
Role: Candidate BSR
State: Candidate BSR

Вывод настроек RP на E-BSR:

Switch# sh ip pim sparse-mode rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): 224.0.0.0/4
RP: 20.0.1.11
Info source: 20.0.1.11, via bootstrap, priority 0
Uptime: 00:00:30, expires: 00:02:04

Вывод настроек RP на C-BSR:

Switch# show ip pim sparse-mode rp mapping
PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4
RP: 20.0.1.11
Info source: 20.0.1.21, via bootstrap, priority 0
Uptime: 00:00:12, expires: 00:02:18

Настройка функции PIM-SSM

Функция Source Specific Multicast - это расширение IP-мультикаста, при котором пакетный трафик направляется получателям только от тех источников многоадресной рассылки, к которым получатели присоединились. Для групп многоадресной рассылки, настроенных на SSM, создаются только деревья распределения многоадресной рассылки для конкретного источника (без общих деревьев).

PIM-SSM - это протокол маршрутизации, который поддерживает реализацию SSM и является производным от PIM Sparse Mode (PIM-SM).

PIM-SSM может работать с PIM-SM на маршрутизаторе многоадресной рассылки. По умолчанию PIM-SSM отключен.

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Включение SSM

Включение по умолчанию:

Switch(config)# ip pim ssm default

Включение PIM-SSM на коммутаторе, включение диапазона групп SSM в список доступа:

Switch(config)# ip pim ssm range ipacl

Примечание

Две приведенные выше команды являются альтернативными. Последняя конфигурация заменяет предыдущую.

Шаг 3: Выход из режима “Global config”

 Switch(config)# end

Шаг 4: Проверка

Switch# show running-config | include pim
ip pim ssm range ipacl