Протокол обнаружения источников многоадресной рассылки (MSDP) используется для обмена информацией об источниках мультикаста между разными PIM-доменами. MSDP-соединение обычно устанавливается между RP каждого домена.
Конфигурация RP1:
- Настраиваем IP адреса на портах и включаем PIM
console(config)# interface gi0/1
...
console(config-if)# ip pim
- Настраиваем IP адрес на Loopback-интерфейсе, с него будет устанавливаться соседство MSDP.
console(config)# interface Loopback 1
console(config-if)# ip address 2.2.2.2 255.255.255.255
- Включаем PIM глобально
console(config)# ip multicast-routing pim
...
console(config)# ip pim rp-address 2.2.2.2 232.0.0.0/24
- Настройка маршрутизации, для анонсирования маршрутов до Loopback-адресов и до подсети сервера. PIM Domain 2 должен знать маршрут до адреса сервера.
Можно использовать статическую маршрутизацию, также любой поддерживаемый протокол динамической маршрутизации. Рекомендуется использование протокола BGP.
...
Настройка протокола MSDP:
- Создать процесс MSDP и переход в его режим конфигурации
console(config)# router msdp
- Назначить IP-адрес, который будет использован в качестве исходящего при соединении c MSDP-пиром
console(config-msdp)# connect-source 2.2.2.2
- Назначить IP-адрес, используемый в качестве адреса RP в исходящих сообщениях SA
console(config-msdp)# originator-ip 2.2.2.2
- Добавление в конфигурацию MSDP-пира и вход в режим его конфигурации
console(config-msdp)# peer 3.3.3.3
- Назначить IP-адрес, который будет использован в качестве исходящего при соединении c MSDP-пиром
console(config-peer)# connect-source 2.2.2.2
...
Group Address Source Address Peer Address Originator Uptime
--------------- --------------- --------------- --------------- --------------
232.0.0.3 10.3.30.2 2.2.2.2 2.2.2.2 00,00:06:38
232.0.0.4 10.3.30.2 2.2.2.2 2.2.2.2 00,00:06:38
232.0.0.5 10.3.30.2 2.2.2.2 2.2.2.2 00,00:06:38
После запроса клиентом мультикаст-групп и получения им мультикаста на RP2 получаем:
SW2#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, X - IGMP Proxy, s - SSM Group,
C - Connected, L - Local, R - RP-bit set, F - Register flag,
T - SPT-bit set, I - Received Source Specific Host Report
Timers: Uptime/Expires
(*, 232.0.0.3), uptime: 00:07:15, expires: never, RP 3.3.3.3, Flags: S
Incoming interface: Null, RPF neighbor 3.3.3.3
Outgoing interface list: gi1/0/2
(10.3.30.2, 232.0.0.3), uptime: 00:07:15, expires: 00:03:15, Flags: STR
Incoming interface: gi1/0/1, RPF neighbor 1.1.1.1
Outgoing interface list: gi1/0/2
Настройка SA Filter. Данный функционал позволяет отфильтровать in/out SA сообщения на MSDP-пире
- Создать правило фильтрации SA-сообщений
console(config-peer)# sa-filter { in | out } <sec_num> { permit | deny } [ rp-address <ip_addr_rp> | group-address <ip_addr_gr> | source-address <ip_addr_src> ]
- permit – разрешающее правило фильтрации
- deny – запрещающее правило фильтрации
- sec_num – номер секции правила
- ip_addr_rp – фильтрация по адресу RP
- ip_addr_gr – фильтрация по адресу группы
- ip_addr_src - фильтрация по адресу источника мультикаста
Пример, запретить входящие SA с групповым адресом 232.0.0.1
console(config-peer)# sa-filter in 1 deny group-address 232.0.0.1
Использование MESH-групп.
-Сообщения SA, полученные от пира в одной MESH-группе НЕ пересылаются другим пирам в этой же MESH-группе, но пересылаются всем остальным
-Сообщения SA, полученные от пира без MESH-группы пересылаются всем другим пирам.
Это уменьшает переполнение сообщений SA и простое переполнение одноранговых RPF.
Сообщения, полученные от пира, состоящего в MESH-группе не проходят проверку RPF и сразу добавляются в SA-кэш.
Добавить пир в MESH-группу:
console(config-peer)# mesh-group <name>
Диагностика протокола MSDP:
show ip msdp peers
show ip msdp source-active
show ip msdp summary
clear ip msdp counters
clear ip msdp peers