MSDP or Multicast Source Distribution Protocol allows multicast sources for a group to be known to all rendezvous points (RPs) in different domains. Each PIM-SM domain uses its own RP and MSDP connects source based trees to destination trees. MSDP uses TCP as control protocol and you will require end to end multicast routing protocol such as PIM. At boundries (Autonomous systems) we will filter RP announcements from other autonomous systems. Example:
Our example is very simple, two multicast domains with no RPF failure and end-to-end PIM sparse mode between R5 and R6. Multicast source is R7 (sending Ping to multicast group) and R8 as multicast member (IGMP join). R1 is Auto-RP MA and RP for AS135 and R2 is BSR for AS246. R1 and R2 communicate with MSDP language and deliver SA (Source Active) messages to each-others as peers, in this way each RP is infromed about active sources in different domain and can join its memebers to that multicast tree (S,G) to (*,G). To debug MSDP messages we can use “debug ip msdp peer” and “debug ip msdp routes”
Multicast path from source to member is:
R7 –> R5 –> R3 -> R1 –> R2 –> R4 –> R6 –> R8
R7#trace 10.10.68.8
1 10.10.57.5
2 10.10.35.3
3 10.10.13.1
4 10.10.12.2
5 10.10.24.4
6 10.10.46.6
7 10.10.68.8
Configuration
R7:
R7#ping
Protocol [ip]:
Target IP address: 224.69.69.69
Repeat count [1]: 10
Extended commands [n]: y
Interface [All]: ethernet0/0
Source address: 10.10.57.7
Sending 10, 100-byte ICMP Echos to 224.69.69.69, timeout is 2 seconds:
Packet sent with a source address of 10.10.57.7
..
R5:
ip multicast-routing
!
interface Ethernet0/0
ip address 10.10.35.5 255.255.255.0
ip pim sparse-mode
!
interface Ethernet0/3
ip address 10.10.57.5 255.255.255.0
ip pim sparse-mode
!
ip pim autorp listener
!
R3:
ip multicast-routing
!
interface FastEthernet0/0
ip address 10.10.35.3 255.255.255.0
ip pim sparse-mode
!
interface ATM2/0
ip address 10.10.13.3 255.255.255.0
ip pim sparse-mode
!
ip pim autorp listener
!
R1:
ip multicast-routing
!
interface Loopback0
ip address 10.10.1.1 255.255.255.255
ip pim sparse-mode
!
interface FastEthernet0/0
ip address 10.10.12.1 255.255.255.0
ip pim bsr-border
ip pim sparse-mode
ip multicast boundary 1
!
interface ATM2/0
ip address 10.10.13.1 255.255.255.0
ip pim sparse-mode
!
ip pim autorp listener
ip pim send-rp-announce Loopback0 scope 255
ip pim send-rp-discovery Loopback0 scope 255
ip msdp peer 10.10.12.2 connect-source FastEthernet0/0
!
access-list 1 deny 224.0.1.39
access-list 1 deny 224.0.1.40
access-list 1 permit any
!
R2:
ip multicast-routing
!
interface Loopback0
ip address 10.10.2.2 255.255.255.255
ip pim sparse-mode
!
interface Ethernet0/0
ip address 10.10.12.2 255.255.255.0
ip pim bsr-border
ip pim sparse-mode
ip multicast boundary 1
!
interface Serial1/0
ip address 10.10.24.2 255.255.255.0
ip pim sparse-mode
!
ip pim bsr-candidate Loopback0 0
ip pim rp-candidate Loopback0
ip msdp peer 10.10.12.1 connect-source Ethernet0/0
!
access-list 1 deny 224.0.1.39
access-list 1 deny 224.0.1.40
access-list 1 permit any
!
R4:
ip multicast-routing
!
interface Ethernet0/0
ip address 10.10.46.4 255.255.255.0
ip pim sparse-mode
!
interface Serial1/0
ip address 10.10.24.4 255.255.255.0
ip pim sparse-mode
!
R6:
ip multicast-routing
!
interface Ethernet0/0
ip address 10.10.46.6 255.255.255.0
ip pim sparse-mode
!
interface Ethernet0/3
ip address 10.10.68.6 255.255.255.0
ip pim sparse-mode
!
R8:
interface Ethernet0/0
ip address 10.10.68.8 255.255.255.0
ip igmp join-group 224.69.69.69
!
Verification
At this point, R8 joins multicast tree and R2 is aware of multicast source through MSDP SA messages from R1 and can responses are sent back from R8 to R7:
R7#ping
Protocol [ip]:
Target IP address: 224.69.69.69
Repeat count [1]: 10
Extended commands [n]: y
Interface [All]: ethernet0/0
Source address: 10.10.57.7
Sending 10, 100-byte ICMP Echos to 224.69.69.69, timeout is 2 seconds:
Packet sent with a source address of 10.10.57.7
..
Reply to request 3 from 10.10.68.8
Reply to request 4 from 10.10.68.8
Reply to request 5 from 10.10.68.8
Reply to request 6 from 10.10.68.8
Reply to request 7 from 10.10.68.8
Reply to request 8 from 10.10.68.8
Reply to request 9 from 10.10.68.8
R1#sh ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)
This system is an RP-mapping agent (Loopback0)
Group(s) 224.0.0.0/4
RP 10.10.1.1 (?), v2v1
Info source: 10.10.1.1 (?), elected via Auto-RP
Uptime: 17:03:06, expires: 00:02:52
R1#sh ip mroute
IP Multicast Routing Table
Flags: D – Dense, S – Sparse, B – Bidir Group, C – Connected,
L – Local, P – Pruned, T – SPT-bit set, J – Join SPT,
M – MSDP created entry,
A – Candidate for MSDP Advertisement
(*, 224.0.1.39), 17:04:10/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Loopback0, Forward/Sparse, 17:03:11/00:00:00
ATM2/0, Forward/Sparse, 17:04:10/00:00:00
(10.10.1.1, 224.0.1.39), 17:04:10/00:02:49, flags: LTA
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
ATM2/0, Forward/Sparse, 17:03:11/00:00:00
(*, 224.0.1.40), 17:06:10/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Loopback0, Forward/Sparse, 17:03:11/00:00:00
ATM2/0, Forward/Sparse, 17:06:10/00:00:00
(10.10.1.1, 224.0.1.40), 17:03:10/00:02:54, flags: LTA
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
ATM2/0, Forward/Sparse, 17:03:11/00:00:00
(*, 224.69.69.69), 00:01:50/stopped, RP 10.10.1.1, flags: SP
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
(10.10.57.7, 224.69.69.69), 00:01:50/00:01:54, flags: TA
Incoming interface: ATM2/0, RPF nbr 10.10.13.3
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:01:49/00:02:39
R1#sh ip msdp peer
MSDP Peer 10.10.12.2 (?), AS 246
Description:
Connection status:
State: Up, Resets: 0,
Connection source: FastEthernet0/0 (10.10.12.1)
Uptime(Downtime): 14:14:08, Messages sent/received: 922/854
Output messages discarded: 0
Connection and counters cleared 14:16:09 ago
SA Filtering:
Input (S,G) filter: none, route-map: none
Input RP filter: none, route-map: none
Output (S,G) filter: none, route-map: none
Output RP filter: none, route-map: none
SA-Requests:
Input filter: none
Peer ttl threshold: 0
SAs learned from this peer: 0
Input queue size: 0, Output queue size: 0
R2 Verification
R2#sh ip pim rp mapping
PIM Group-to-RP Mappings
This system is a candidate RP (v2)
This system is the Bootstrap Router (v2)
Group(s) 224.0.0.0/4
RP 10.10.2.2 (?), v2
Info source: 10.10.2.2 (?), via bootstrap, priority 0
holdtime 150 Uptime: 16:13:59, expires: 00:01:27
R2#sh ip msdp summary
MSDP Peer Status Summary
Peer Address AS State Uptime/ Reset SA Peer Name
Downtime Count Count
10.10.12.1 135 Up 14:15:47 0 1 ?
R2#sh ip mroute
(*, 224.0.1.40), 16:22:23/00:02:02, RP 0.0.0.0, flags: DPL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
(*, 224.69.69.69), 01:17:15/stopped, RP 10.10.2.2, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial1/0, Forward/Sparse, 01:17:15/00:03:03
(10.10.57.7, 224.69.69.69), 00:00:02/00:02:57, flags: M
Incoming interface: Ethernet0/0, RPF nbr 10.10.12.1
Outgoing interface list:
Serial1/0, Forward/Sparse, 00:00:02/00:03:28
R6 Verification
R6#sh ip mroute
(*, 224.0.1.40), 16:17:35/00:02:49, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 16:17:35/00:02:49
(*, 224.69.69.69), 01:13:28/stopped, RP 10.10.2.2, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 10.10.46.4
Outgoing interface list:
Ethernet0/3, Forward/Sparse, 01:13:28/00:02:30
(10.10.57.7, 224.69.69.69), 00:00:02/00:02:57, flags: JT
Incoming interface: Ethernet0/0, RPF nbr 10.10.46.4
Outgoing interface list:
Ethernet0/3, Forward/Sparse, 00:00:02/00:02:57
R6#sh ip pim rp mapping
PIM Group-to-RP Mappings
Group(s) 224.0.0.0/4
RP 10.10.2.2 (?), v2
Info source: 10.10.2.2 (?), via bootstrap, priority 0, holdtime 150
Uptime: 16:15:26, expires: 00:02:27
does R4 and R3 also have the S,G and also *,G for the current multicast source?tks
Yes all routers in the path have same mroute table except RP-specific-route which is per multicast domain.