Перейти к основному содержимому

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

PIM-SM — это протокол с мягким состоянием soft-state protocol. Необходимые шаги для настройки PIM-SM следующие:

  1. Включите IP multicast на каждом маршрутизаторе PIM (см. раздел Включение маршрутизации IP Multicast).
  2. Включите PIM-SM на нужных интерфейсах (см. раздел Включение PIM-SM на интерфейсе).
  3. Настройте RP статически (см. раздел Статическая настройка Rendezvous Point) или динамически (см. раздел Динамическая настройка Rendezvous Point с использованием метода Bootstrap Router) в зависимости от используемого метода.

Все состояния multicast-групп динамически поддерживаются в результате сообщений IGMP Report/Leave и PIM Join/Prune.

Этот раздел описывает шаги для настройки функции PIM-SM. Примеры конфигурации используются для двух соответствующих сценариев.

Топология

На следующем рисунке показана топология сети, используемая в этих примерах.

Image

Рисунок 3-34: Топология PIM-SM

Включение маршрутизации IP Multicast

Включите маршрутизацию IP multicast на всех маршрутизаторах PIM внутри домена PIM:

#configure terminalПерейти в режим конфигурации.
(config)#ip multicast-routingВключить маршрутизацию IP multicast.
(config)#exitВыйти из режима конфигурации.
Включение PIM-SM на интерфейсе

Включите PIM-SM на всех участвующих интерфейсах каждого маршрутизатора внутри домена PIM, на которых вы хотите запустить PIM. В следующем примере конфигурации PIM-SM включен на интерфейсах eth1 и eth2 маршрутизатора.

#configure terminalПерейти в режим конфигурации.
(config)#interface eth1Указать интерфейс (eth1) для настройки и перейти в режим интерфейса.
(config-if)#ip address 10.10.12.11/24Настроить IP-адрес для eth1.
(config-if)#ip pim sparse-modeВключить PIM sparse mode на интерфейсе.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth2Указать интерфейс (eth2) для настройки и перейти в режим интерфейса.
(config-if)#ip address 10.10.13.11/24Настроить IP-адрес для eth2.
(config-if)#ip pim sparse-modeВключить PIM sparse mode на интерфейсе.
(config-if)#exitВыйти из режима интерфейса.
Статическая настройка Rendezvous Point

Каждая PIM multicast-группа должна быть связана с IP-адресом Rendezvous Point (RP), который является маршрутизатором, находящимся в домене multicast-сети. Адрес RP используется как корень дерева распределения, специфичного для группы. Все узлы в домене, которые хотят получать трафик, отправленный в группу, знают адрес RP. Для того чтобы все отправители могли достичь всех получателей в группе, все маршрутизаторы в домене должны быть способны сопоставить адрес RP, настроенный для группы. В сети, использующей PIM-SM, может быть настроено несколько RP, каждый из которых обслуживает разные группы.

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

В статических конфигурациях RP отказоустойчивость RP недоступна.

При статической настройке RP выполните следующее:

  • На каждом маршрутизаторе включите команду ip pim rp-address A.B.C.D, даже если маршрутизатор не имеет источника или участника группы.
  • Назначьте только один адрес RP для multicast-группы в домене PIM.

Используя топологию, изображенную на рисунке 3-34, Switch_C является RP, и все маршрутизаторы статически настроены с информацией о RP. Host_1 и Host_2 присоединяются к группе 224.0.1.3 для всех источников. Они отправляют IGMP membership report в подсеть 1. Два маршрутизатора подключены к подсети 1: Switch_E и Switch_F; оба имеют приоритет DR по умолчанию на eth1.

Поскольку Switch_E имеет более высокий IP-адрес на интерфейсе eth1, он становится Designated Router и отвечает за отправку Join сообщений к RP (Switch_C).

Настройка статического RP
#configure terminalПерейти в режим конфигурации.
(config)#ip pim rp-address 10.10.1.5Статически настроить адрес RP для multicast-групп.
(config)#exitВыйти из режима конфигурации.

Пример конфигурации для Switch_D:

hostname Switch_D
!
interface eth0
!
interface eth1
ip pim sparse-mode
!
interface eth2
ip pim sparse-mode
!
interface lo
!
ip multicast-routing
ip pim rp-address 10.10.1.5
!
Проверка

Введите команды, указанные в этом разделе, чтобы подтвердить предыдущие настройки.

Детали RP

На Switch_D команда show ip pim rp mapping показывает, что 10.10.1.5 является RP для всех multicast-групп 224.0.0.0/4 и настроен статически. Все остальные маршрутизаторы будут иметь аналогичный вывод:

R-D#show ip pim rp mapping
PIM Group-to-RP Mappings Override RP cnt: 0
Group(s): 224.0.0.0/4, Static
RP: 10.10.1.5
Uptime: 00:59:57 R-D#

Override RP cnt: 0At На Switch_D используйте команду show ip pim rp-hash, чтобы отобразить выбранный RP для указанной группы (224.0.1.3):

Switch_D#show ip pim rp-hash 224.0.1.3
RP: 10.10.1.5

Детали интерфейса

Команда show ip pim interface отображает детали интерфейса для Switch_E и показывает, что Switch_E является Designated Router в подсети 1.

Switch_E#show ip pim interface
Address Interface VIFindex Ver/ Nbr DR DR
Mode Count Prior
192.168.1.10 eth1 0 v2/S 1 1 192.168.1.10
172.16.1.10 eth2 2 v2/S 1 1 172.16.1.10

Таблица маршрутизации IP Multicast

Примечание: Таблица маршрутизации multicast для RP маршрутизатора отличается от других маршрутизаторов. Команда show ip pim mroute отображает таблицу маршрутизации IP multicast. В этой таблице определены следующие поля:

(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
(*, 224.0.1.3)
RP: 10.10.1.5
RPF nbr: 172.16.1.2
RPF idx: eth2
Upstream State: JOINED
Local i...............................
Joined ................................
Asserted ................................ FCR:
R-E#

На Switch_E интерфейс eth2 является входящим интерфейсом для записи (, G), а eth1 находится в списке исходящих интерфейсов для записи (, G). Это означает, что через eth1 есть участник группы, а RP доступен через eth2.

Поскольку Switch_C является RP и корнем этого multicast-дерева, команда show ip pim mroute на Switch_C показывает RPF nbr как 0.0.0.0 и RPF idx как none.

R-C#show ip pim mroute
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
(*, 224.0.1.3)
RP: 10.10.1.5
RPF nbr: 0.0.0.0
RPF idx: None
Upstream State: JOINED
Local ................................
Joined j...............................
Asserted ................................ FCR:
R-C#
Динамическая настройка Rendezvous Point с использованием метода Bootstrap Router

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

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

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

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

В этом разделе приведены 2 примера, иллюстрирующие конфигурацию BSR для динамической настройки RP.

Пример 1

Для этого примера обратитесь к Рисунку 1 для топологии.

Чтобы динамически настроить RP, Switch_C на eth1 и Switch_D на eth1 настроены как Candidate RP с использованием команды ip pim rp-candidate. Switch_D на eth1 также настроен как Candidate BSR. Поскольку никакой другой роутер не настроен как Candidate BSR, Switch_D становится роутером BSR и отвечает за отправку информации о сопоставлениях группа-RP всем другим роутерам в этом домене PIM. Роутер с наивысшим приоритетом (настроенный с наименьшим значением приоритета) выбирается в качестве RP. Если два или более роутеров имеют одинаковый приоритет, используется хэш-функция в механизме BSR для выбора RP, чтобы гарантировать, что все роутеры в домене PIM имеют одинаковый RP для одной и той же группы.

Чтобы изменить приоритет по умолчанию для любого Candidate RP, используйте команду ip pim rp-candidate IFNAME PRIORITY. На Switch_D команда show ip pim rp mapping показывает, что Switch_C выбран в качестве RP для указанной группы.

Динамическая настройка RP для роутера C

#configure terminalПерейти в режим конфигурации.
(config)#ip pim rp-candidate eth1 priority 2Назначить этому роутеру статус Candidate RP, используя IP-адрес указанного интерфейса.

Динамическая настройка RP для роутера D

#configure terminalПерейти в режим конфигурации.
(config)#ip pim bsr-candidate eth1Назначить этому роутеру статус Candidate BSR, используя имя интерфейса.
(config)#ip pim rp-candidate eth1 priority 2Назначить этому роутеру статус Candidate RP, используя IP-адрес указанного интерфейса.

Следующий вывод показывает полную конфигурацию на Switch_C и Switch_D:

Switch_D#show running-config
!
interface eth0
!
interface eth1
ip pim sparse-mode
!
interface eth2
ip pim sparse-mode
!
interface lo
!
ip multicast-routing
ip pim bsr-candidate eth1
ip pim rp-candidate eth1 priority 2
!
Switch_C#show running-config interface eth0
!
interface eth1
ip pim sparse-mode
!
interface eth2
ip pim sparse-mode
!
interface lo
!
!
ip multicast-routing
ip pim rp-candidate eth1
Проверка

Этот раздел предоставляет шаги для проверки конфигурации RP.

Сопоставления PIM Group-to-RP

Команда show ip pim rp mapping отображает детали сопоставлений группа-RP и информацию о Candidate RP. Есть два Candidate RP для диапазона групп 224.0.0.0/4. Candidate RP 10.10.1.5 имеет приоритет по умолчанию 192, тогда как Candidate RP 172.16.1.2 настроен с приоритетом 2. Поскольку Candidate RP 172.16.1.2 имеет более высокий приоритет, он выбран в качестве RP для multicast-группы 224.0.0.0/4.

R-D#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): 224.0.0.0/4
RP: 172.16.1.2
Info source: 172.16.1.2, via bootstrap, priority 2
Uptime: 00:02:24, expires: 00:02:11
RP: 10.10.1.5
Info source: 10.10.1.5, via bootstrap, priority 2
Uptime: 00:02:26, expires: 00:02:06
Override RP cnt: 0
Group(s): 224.0.0.0/4, Static
RP: 10.10.1.5
Uptime: 00:55:25
R-D#

Детали RP

Чтобы отобразить информацию о роутере RP для определенной группы, используйте следующую команду. Этот вывод показывает, что 172.16.1.2 выбран в качестве RP для multicast-группы 224.0.1.3.

Switch_D#show ip pim rp-hash 224.0.1.3
Group(s): 224.0.0.0/4
RP: 172.16.1.2
Info source: 172.16.1.2, via bootstrap

После того как информация о RP достигает всех маршрутизаторов PIM в домене, различные конечные автоматы поддерживают все состояния маршрутизации в результате Join/Prune из членства в группе. Чтобы отобразить информацию о деталях интерфейса и таблице маршрутизации multicast, обратитесь к разделу Configuring Rendezvous Point Statically.

Пример 2

Для динамической настройки RP Switch_2 на eth1 настраивается как Candidate RP с использованием команды ip pim rpcandidate. Поскольку никакой другой маршрутизатор не настроен как C-RP, Switch_2 становится RP. Switch_1 на eth1 и Switch_2 на eth1 настроены как Candidate BSRs. Поскольку Switch_1 имеет более высокий приоритет, чем Switch_2, Switch_1 становится маршрутизатором BSR и отвечает за отправку информации о сопоставлении группы с RP всем другим маршрутизаторам в этом домене PIM. После того как информация о RP достигает всех маршрутизаторов PIM в домене, различные конечные автоматы поддерживают все состояния маршрутизации в результате Join/Prune из членства в группе. Чтобы отобразить информацию о деталях интерфейса и таблице маршрутизации multicast, обратитесь к разделу Configuring Rendezvous Point Statically.

Топология

На следующем рисунке показана топология сети, используемая в этом примере.

Image

Рисунок 3-35: Boostrap Router Топология

Конфигурация

Switch 1

#configure terminalПерейти в режим настройки.
(config)#ip pim bsr-candidate eth1Настроить eth1 Switch 1 как C-BSR. Приоритет по умолчанию — 64, поэтому указывать приоритет не обязательно.
(config)#exitВыйти из режима настройки.

Switch 2

#configure terminalПерейти в режим настройки.
(config)#ip pim bsr-candidate eth1 10 25Настроить eth1 Switch 2 как C-BSR с длиной маски хэша 10 и приоритетом 25.
(config)#ip pim rp-candidate eth1 priority 0Настроить интерфейс eth1 как C-RP с приоритетом 0.
(config)#exitВыйти из режима настройки.

Switch 2 Unicast BSM

Когда команда ip pim unicast-bsm настроена на интерфейсе, который является DR для сети, этот интерфейс отправляет хранящуюся копию BSM в unicast-режиме на новый или перезапускающийся маршрутизатор.

#configure terminalПерейти в режим настройки.
(config)#interface eth1Перейти в режим интерфейса для eth1.
(config-if)#ip pim dr-priority 10Настроить eth1 как DR.
(config-if)#ip pim unicast-bsmВключить отправку и получение Unicast BSM для обеспечения обратной совместимости.
(config-if)#exitВыйти из режима интерфейса.
Проверка
  1.   Проверьте состояние C-BSR на Switch 1.
#show ip pim bsr-router
PIMv2 Bootstrap information
This system is the Bootstrap Router (BSR)
BSR address: 20.0.1.21
Uptime:      00:01:39, BSR Priority: 64, Hash mask length: 10
Next bootstrap message in 00:00:53
Role: Candidate BSR
State: Elected BSR
#
  1.   Проверьте состояние C-BSR на Switch 2.

Начальное состояние C-BSR - P-BSR перед переходом к C-BSR. Два состояния показаны в выводах команды show ip pim bsr-router ниже.

#show ip pim 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
#show ip pim 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
Candidate RP: 20.0.1.11(eth2)
Advertisement interval 60 seconds
Next C-RP advertisement in 00:00:02
Backoff cnt 1
  1.   Проверьте RP-set информацию на E-BSR.
#show ip pim 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:02:17, expires: 00:02:26
Override RP cnt: 0

4.      Проверьте RP-set информацию на C-BSR.

ARP1#show ip pim rp mapping
PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP  1.1.1.152 members :
4.4.4.5   7.7.7.1   23.23.23.1
Group(s): 224.0.0.0/4, Static
RP: 1.1.1.152
Uptime: 00:00:37
ARP1#
Конфигурация Anycast-RP

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

PRSP поддерживает Anycast-RP с использованием реализации PIM. В PIM Anycast-RP протокол Multicast Source Discovery Protocol (MSDP) не используется для обмена информацией об активных источниках. Вместо этого механизм Register в PIM расширяется, чтобы предоставить эту же функцию.

Следующий раздел описывает Anycast-RP в PIM-SM:

  1. Unicast IP-адрес используется в качестве адреса RP. Адрес статически настраивается и ассоциируется со всеми маршрутизаторами PIM в домене.
  2. Набор маршрутизаторов в домене выбирается для выполнения роли RP для этого адреса RP. Эти маршрутизаторы называются набором AnycastRP (AnycastRP set).
  3. Каждый маршрутизатор в наборе Anycast-RP настроен с адресом loopback. Адрес loopback настраивается на всех RP для интерфейса loopback, затем настраивается как адрес RP (статический RP) и инжектируется в OSPF с использованием команды redistribute connected. Реализация PIM-SM использует только первый не-loopback адрес, настроенный на интерфейсе loopback. Поэтому важно убедиться, что адрес Anycast-RP настроен на первом не-loopback адресе.
  4. Каждый маршрутизатор в наборе Anycast-RP также нуждается в отдельном IP-адресе, который используется для связи между RP.
  5. Адрес RP или префикс, включающий адрес RP, ввоюдятся в систему маршрутизации unicast внутри домена.
  6. Каждый маршрутизатор в наборе Anycast-RP настраивается с адресами всех других маршрутизаторов в наборе Anycast-RP. Это должно быть последовательно настроено на всех RP в наборе.
Топология

Image

Рисунок 3-36: Anycast RP топология

Host1 и Host3 действуют как хосты и источники для отправки пакетов join и мульткаст-данных; Host2 действует как хост. Настройка Anycast-RP

#configure terminalВойти в режим конфигурации.
(config)#interface loВойти в интерфейс loopback.
(config)#ip address 1.1.1.152/32 secondaryНастроить IP-адрес для loopback интерфейса.
(config)#exitВыйти из режима конфигурации.
(config)#ip pim rp-address 1.1.1.152Настроить статический RP с адресом loopback.
(config)#ip pim anycast-rp 1.1.1.152 4.4.4.5Настроить адрес члена RP. В этом примере 4.4.4.5 — это член RP в ARP2. Это адрес, используемый для связи между всеми RP.
(config)#ip pim anycast-rp 1.1.1.152 7.7.7.1Настроить адрес члена RP. В этом примере 7.7.7.1 — это член RP в ARP3. Это адрес, используемый для связи между всеми RP.
(config)#ip pim anycast-rp 1.1.1.152 23.23.23.1Настроить адрес члена RP. В этом примере 23.23.23.1 — это член RP в ARP1. Это адрес, используемый для связи между всеми RP.
(config)#exitВыйти из режима конфигурации.

Отключение Anycast-RP

#configure terminalВойти в режим конфигурации.
(config)#no ip pim anycast-rp 1.1.1.152Отключить Anycast-RP.
(config)#no ip pim rp-address 1.1.1.152Отключить статический RP.
(config)#exitВыйти из режима конфигурации.
Проверка
#show ip pim rp mapping PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP 1.1.1.152 members:23.23.23.1
Group(s): 224.0.0.0/4, Static
RP: 1.1.1.152
Uptime: 00:00:13s

2.      Verify RP-mapping in ARP1 after disabling anycast-RP and RP-address.

ARP1#show ip pim rp mapping
PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP  1.1.1.152 members :
4.4.4.5   7.7.7.1   23.23.23.1
Group(s): 224.0.0.0/4, Static
RP: 1.1.1.152
Uptime: 00:00:37
ARP1#