Протокол обнаружения источников многоадресной рассылки (MSDP) используется для обмена информацией об источниках мультикаста между разными PIM-доменами. MSDP-соединение обычно устанавливается между RP каждого домена.
Конфигурация RP1:
Настраиваем IP адреса на портах и включаем PIM
console(config)# interface gi0/1
console(config-if)# ip address 1.1.1.1 255.255.255.252
console(config-if)# ip pim
console(config)# interface gi0/2
console(config-if)# ip address 10.3.30.1 255.255.255.0
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
Настраиваем адрес RP, в качестве адреса RP на MSDP-пире указывается свой же адрес Loopback
console(config)# ip pim rp-address 2.2.2.2 232.0.0.0/24
Настройка маршрутизации, для анонсирования маршрутов до Loopback-адресов и до подсети сервера. PIM Domain 2 должен знать маршрут до адреса сервера.
Можно использовать статическую маршрутизацию, также любой поддерживаемый протокол динамической маршрутизации. Рекомендуется использование протокола BGP.
console(config)# router bgp 1
console(router-bgp)# bgp router-id 2.2.2.2
console(router-bgp)# address-family ipv4 unicast
console(router-bgp-af)# network 2.2.2.2 mask 255.255.255.255
console(router-bgp-af)# network 10.3.30.0 mask 255.255.255.0
console(router-bgp)# neighbor 1.1.1.2
console(router-bgp-nbr)# remote-as 1
Настройка протокола 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
Конфигурация RP2:
ip multicast-routing pim
!
hostname SW2
!
interface gigabitethernet1/0/1
ip address 1.1.1.2 255.255.255.252
ip pim
exit
!
interface gigabitethernet1/0/2
ip address 10.2.0.50 255.255.255.0
ip pim
exit
!
interface loopback 1
ip address 3.3.3.3 255.255.255.255
exit
!
ip pim rp-address 3.3.3.3 232.0.0.0/24
!
router bgp 1
bgp router-id 3.3.3.3
!
address-family ipv4 unicast
network 3.3.3.3 mask 255.255.255.255
exit
!
neighbor 1.1.1.1
remote-as 1
exit
exit
!
router msdp
connect-source 3.3.3.3
originator-ip 3.3.3.3
peer 2.2.2.2
connect-source 3.3.3.3
exit
exit
!
end
Посмотреть статус MSDP-пиров можно командой show ip msdp peers
RP2#show ip msdp peers
Keepalive timer period: 30 sec
Peer Timeout timer period: 75 sec
Source-Active timer period: 150 sec
MSDP Peer: 2.2.2.2
Connection status:
State: Established, Retries: 6
Source: 3.3.3.3
Mesh-group: 1
Uptime(Downtime): 00,02:35:19
Last state change: 00,02:35:19 ago
Last message received: 00,00:00:19 ago
SA active: 3, rpf fail: 0
TLV sent/received: 1113/1580
Keepalives: 1113/1154
SA messages: 0/426
SA request: 0/0
SA response: 0/0
Просмотр записей в кэше, полученных по MSDP:
RP2#show ip msdp source-active
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