Source Specific Multicast (SSM) Configuration


R1 Configuration:

interface GigabitEthernet0/0
 ip address 172.16.2.1 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

!         
interface GigabitEthernet0/1
 ip address 172.16.4.1 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

interface GigabitEthernet0/2
 ip address 192.168.50.1 255.255.255.0
 ip pim sparse-mode
 ip igmp join-group 232.3.3.3 source 10.10.2.2
 ip igmp version 3

router ospf 10
 network 192.168.50.0 0.0.0.255 area 0

!
ip multicast-routing 
ip pim ssm defaultCode language: JavaScript (javascript)


R2:

interface GigabitEthernet0/0
 ip address 172.16.2.2 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

!         
interface GigabitEthernet0/1
 ip address 172.16.3.1 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0
!
router ospf 10

!
ip multicast-routing 
ip pim ssm defaultCode language: JavaScript (javascript)


R3:

interface GigabitEthernet0/0
 ip address 172.16.4.2 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

!         
interface GigabitEthernet0/1
 ip address 172.16.5.1 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

router ospf 10

ip pim ssm default
ip multicast-routing Code language: JavaScript (javascript)


R4:

ip multicast-routing 
ip pim ssm default

interface GigabitEthernet0/0
 ip address 172.16.3.2 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

!         
interface GigabitEthernet0/1
 ip address 172.16.5.2 255.255.255.252
 ip pim sparse-mode
 ip ospf 10 area 0

!
interface GigabitEthernet0/2
 ip address 10.10.2.1 255.255.255.0
 ip pim sparse-mode

router ospf 10
 network 10.10.2.0 0.0.0.255 area 0Code language: PHP (php)



From unicast perspective, R1 have ECMP to the source (via R2 and R3):

R1#show ip route 10.10.2.2
Routing entry for 10.10.2.0/24
  Known via "ospf 10", distance 110, metric 3, type intra area
  Last update from 172.16.2.2 on GigabitEthernet0/0, 08:04:16 ago
  Routing Descriptor Blocks:
  * 172.16.4.2, from 172.16.3.2, 08:04:16 ago, via GigabitEthernet0/1
      Route metric is 3, traffic share count is 1
    172.16.2.2, from 172.16.3.2, 08:04:16 ago, via GigabitEthernet0/0
      Route metric is 3, traffic share count is 1Code language: PHP (php)


When checking the mroute state on the routers, we can see the (S,G) installed (10.10.2.2, 232.3.3.3):

R1#show ip igmp groups 
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
232.3.3.3        GigabitEthernet0/2       06:30:09  stopped   192.168.50.1    

R1#show ip mroute 
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(10.10.2.2, 232.3.3.3), 06:29:07/00:02:52, flags: sLTI
  Incoming interface: GigabitEthernet0/1, RPF nbr 172.16.4.2
  Outgoing interface list:
    GigabitEthernet0/2, Forward/Sparse, 06:29:07/00:02:52


But, we (S,G) not installed in R2:

R2#show ip mroute 232.3.3.3
Group 232.3.3.3 not foundCode language: CSS (css)


This is expected after checking the packet capture which was running on the p2p links, because (S,G) PIM Join was simply sent to R3 instead (but not received on R2):


Following capture on link between R1-R3:


As a result, the mroute status (10.10.2.2, 232.3.3.3) installed on R3:

R3#show ip mroute 232.3.3.3
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(10.10.2.2, 232.3.3.3), 06:36:01/00:03:13, flags: sT
  Incoming interface: GigabitEthernet0/1, RPF nbr 172.16.5.2
  Outgoing interface list:
    GigabitEthernet0/0, Forward/Sparse, 06:36:01/00:03:13


and finally PIM Join received by FHMR R4:

R4#show ip mroute 232.3.3.3
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       G - Received BGP C-Mroute, g - Sent BGP C-Mroute, 
       N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed, 
       Q - Received BGP S-A Route, q - Sent BGP S-A Route, 
       V - RD & Vector, v - Vector, p - PIM Joins on route, 
       x - VxLAN group
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(10.10.2.2, 232.3.3.3), 06:37:25/00:02:41, flags: sT
  Incoming interface: GigabitEthernet0/2, RPF nbr 0.0.0.0
  Outgoing interface list:
    GigabitEthernet0/1, Forward/Sparse, 06:37:25/00:02:41


Then, we started the multicast traffic from source and was received by “receiver”:

Source# ping 232.3.3.3 repeat 4
Type escape sequence to abort.
Sending 4, 100-byte ICMP Echos to 232.3.3.3, timeout is 2 seconds:

Reply to request 0 from 192.168.50.1, 4 ms
Reply to request 1 from 192.168.50.1, 2 ms
Reply to request 2 from 192.168.50.1, 4 ms
Reply to request 3 from 192.168.50.1, 3 msCode language: CSS (css)


Bilel Ameur

Enthusiastic Network Engineer specializing in Cisco ACI, passionate about solving challenges. A lifelong learner who loves gaining and sharing knowledge. Profile: https://www.linkedin.com/in/bilel-ameur-71116b2b5
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x