OcNOS DC : Key Features : Enhanced Security and Performance : PIM Source-Specific Multicast Configuration
PIM Source-Specific Multicast Configuration
Overview
PIM Source-Specific Multicast (SSM) is a multicast routing protocol that enhances the efficiency and security of multicast communication by enabling hosts to receive multicast traffic directly from specific sources. Here’s a detailed overview of how PIM SSM operates using a subset of PIM sparse mode and IGMPv3/MLDv2:
SSM utilizes PIM sparse mode (PIM-SM) to create a Shortest Path Tree (SPT) directly between multicast sources and receivers. Hosts signal their interest using IGMPv3 (IPv4) or MLDv2 (IPv6), specifying the source IP address to join multicast groups without requiring a Rendezvous Point (RP). This direct communication approach optimizes multicast efficiency by bypassing the RP and establishing efficient data paths tailored to specific source-receiver relationships, enhancing network performance and security in multicast environments.
PIM Source-Specific Multicast (SSM) thus enhances multicast communication by streamlining the process of delivering multicast traffic directly from sources to receivers, leveraging existing multicast protocols and minimizing network complexity.
Feature Characteristics
PIM SSM enables hosts to specify source IP addresses when joining multicast groups, facilitating direct communication paths and eliminating the need for a Rendezvous Point (RP). It leverages PIM sparse mode to establish efficient Shortest Path Trees (SPTs) between sources and receivers, ensuring optimized multicast traffic delivery. Hosts use IGMPv3 (IPv4) and MLDv2 (IPv6) for precise membership management, enhancing network security and efficiency by reducing unnecessary traffic and simplifying configuration. SSM supports scalable deployment alongside existing multicast infrastructure, promoting interoperability and streamlined network administration while optimizing resource utilization and improving overall network reliability.
Benefits
The benefits of PIM SSM:
Efficient Multicast Traffic Handling
Optimized Resource Utilization
Enhanced Security
Simplified Configuration and Management
Scalability and Compatibility
Improved Network Performance
Support for Diverse Applications.
PIM-SSM Configuration
The required steps to configure PIM-SSM are the following:
Enable IP multicast on each PIM router (see Enabling IP Multicast Routing)
Enable PIM-SM on the desired interfaces (see Enable PIM-SM on an Interface)
Configure PIM-SSM on router.
All multicast group states are dynamically maintained as the result of IGMP Report/Leave and PIM Join/Prune messages.
Topology
The following figure displays the network topology used in these examples.
PIM-SSM Configuration Topology
Enable IP Multicast Routing on all Routers
1. Enter the config mode.
R1(config)#configure terminal
2. Enable the IP Multicast routing.
(config)#ip multicast-routing
3. Enable the IPv6 Multicast routing.
(config)#ipv6 multicast-routing
4. To commit the changes and exit.
(config)#commit
(config)#exit
Enable PIM SSM Default on all Routers
1. Enter the config mode.
R1(config)#configure terminal
2. Enable the PIM SSM for IPv4.
(config)# ip pim ssm default
3. Enable the PIM SSM for IPv6.
(config)# ipv6 pim ssm default
4. To commit the changes exit.
(config)#commit
(config)#exit
Enable PIM-SSM configuration on Router A
In the following sample configuration, both eth1 and eth2 are enabled for PIM-SSM on the router.
1. Enter the config mode.
R1(config)#configure terminal
2. Enable PIM-SSM configuration on router A, configure Interface eth1 and eth2.
(config)#interface eth1
(config-if)#ip address 10.1.1.1/24
(config-if)#ipv6 address 001::1/64
(config-if)#ip pim sparse-mode
(config-if)#ipv6 pim sparse-mode
(config-if)#ip igmp version 3
(config-if)#ipv6 mld version 2
(config-if)#exit
(config)#interface eth2
(config-if)#ip address 100.1.1.1/24
(config-if)#ipv6 address 2001::1/24
(config-if)#ip pim sparse-mode
(config-if)#ipv6 pim sparse-mode
(config-if)#ip igmp version 3
(config-if)#ipv6 mld version 2
3. To commit the changes and exit.
(config)#commit
(config)#exit
Enable PIM-SSM configuration on Router B
In the following sample configuration, both eth1 and eth2 are enabled for PIM-SSM on the router.
1. To enter the config mode, execute the following command.
R1(config)#configure terminal
2. Enable PIM-SSM configuration on router B, configure Interface eth2 and eth1.
(config)#interface eth2
(config-if)#ip address 10.1.1.2/24
(config-if)#ipv6 address 3001::2/64
(config-if)#ip pim sparse-mode
(config-if)#ipv6 pim sparse-mode
(config-if)#ip igmp version 3
(config-if)#ipv6 mld version 2
(config-if)#exit
(config)#interface eth1
(config-if)#ip address 11.1.1.1/24
(config-if)#ipv6 address 4001::1/24
(config-if)#ip pim sparse-mode
(config-if)#ipv6 pim sparse-mode
(config-if)#ip igmp version 3
(config-if)#ipv6 mld version 2
3. To commit the changes and commit.
(config)#commit
(config)#exit
Enable PIM-SSM configuration on Router C
In the following sample configuration, both eth1 and eth2 are enabled for PIM-SSM on the router.
1. To enter the config mode, execute the following command
R1(config)#configure terminal
2. Enable PIM-SSM configuration on router C, configure Interface eth2 and eth1.
(config)#interface eth2
(config-if)#ip address 11.1.1.2/24
(config-if)#ipv6 address 4001::2/64
(config-if)#ip pim sparse-mode
(config-if)#ipv6 pim sparse-mode
(config-if)#ip igmp version 3
(config-if)#ipv6 mld version 2
(config-if)#exit
(config)#interface eth1
(config-if)#ip address 101.1.1.1/24
(config-if)#ipv6 address 5001::1/24
(config-if)#ip pim sparse-mode
(config-if)#ipv6 pim sparse-mode
(config-if)#ip igmp version 3
(config-if)#ipv6 mld version 2
3. To commit the changes and commit.
(config)#commit
(config)#exit
Validation
Enter the commands listed in this section to confirm the previous configurations.
Interface Details
The show ip pim interface command displays the interface details for Router_C, and shows that Router_C is the Designated Router on Subnet 1.
Router_C#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
 
ROUTER C#show ipv6 pim interface
Total number of PIM interfaces:2
Interface VIFindex Ver/ Nbr DR
Mode Count Prior
eth2 0 v2/D 1 1
Address : fe80::eac5:7aff:fea8:7cb9
Global Address: 3001::1
eth1 1 v2/D 0 1
Address : fe80::eac5:7aff:fea8:7cc3
Global Address: 2001::1
 
ROUTER C#sh ipv6 pim neighbor
 
Total number of PIM neighbors:2
 
Neighbor Address Interface Uptime/Expires DR
Pri/Mode
fe80::eac5:7aff:fea8:7cb9 eth1 01:29:52/00:01:18 1 /
fe80::eac5:7aff:feb1:6b13 eth2 01:29:49/00:01:28 1 /
 
Validation on IP Multicast Routing Table
Note: The multicast routing table displays for an S,G entries.
The show ip pim mroute command displays the IP multicast routing table. In this table, the following fields are defined:
LHR#sh ip pim mroute
IP Multicast Routing Table
 
(*,*,RP) Entries: 0
G/prefix Entries: 0
(*,G) Entries: 0
(S,G) Entries: 1
(S,G,rpt) Entries: 1
FCR Entries: 0
 
(101.1.1.2, 239.1.1.1)
RPF nbr: 10.1.1.2
RPF idx: xe14
SPT bit: 1
Upstream State: JOINED
Local ..i.............................
Joined ................................
Asserted ................................
Outgoing ..o.............................
 
(101.1.1.2, 239.1.1.1, rpt)
RP: 0.0.0.0
RPF nbr: 0.0.0.0
RPF idx: None
Upstream State: RPT NOT JOINED
Local ................................
Pruned ................................
Outgoing ................................
 
LHR#sh ipv6 pim mroute
IPv6 Multicast Routing Table
 
(*,*,RP) Entries: 0
G/prefix Entries: 0
(*,G) Entries: 0
(S,G) Entries: 1
(S,G,rpt) Entries: 1
FCR Entries: 0
 
(5001::2, ff06::2)
RPF nbr: fe80::36ef:b6ff:fe94:3ddd
RPF idx: xe14
SPT bit: 0
Upstream State: JOINED
Local ..i.............................
Joined ................................
Asserted ................................
Outgoing ..o.............................
 
(5001::2, ff06::2, rpt)
RP: ::
RPF nbr: ::
RPF idx: None
Upstream State: RPT NOT JOINED
Local ................................
Pruned ................................
Outgoing ................................
 
The ip igmp group detail and ipv6 mld group detail shows the source included (SSM)
 
LHR#sh ip igmp groups
IGMP Instance wide G-Recs Count is: 1
IGMP Connected Group Membership
Group Address Interface Uptime Expires State Last Reporte
r
239.1.1.1 xe26 00:00:26 stopped Active 100.1.1.2
 
LHR#sh ip igmp groups detail
IGMP Instance wide G-Recs Count is: 1
IGMP Connected Group Membership Details
 
Flags: (M - SSM Mapping, R - Remote, L - Local,
SG - Static Group, SS - Static Source)
Interface: xe26
Group: 239.1.1.1
Flags: R
Uptime: 00:00:28
Group mode: Include ()
State: Active
Last reporter: 100.1.1.2
Group source list: (R - Remote, M - SSM Mapping, S - Static, L - Local)
 
Include Source List :
Source Address Uptime v3 Exp Fwd Flags
101.1.1.2 00:00:28 00:03:56 Yes R
 
LHR#sh ipv6 mld groups
MLD Connected Group Membership
Group Address Interface Uptime Expires S
tate Last Reporter
ff06::2 xe26 00:00:31 stopped A
ctive fe80::1
 
LHR#sh ipv6 mld groups detail
MLD Connected Group Membership Details
 
Flags: (M - SSM Mapping, R - Remote,
SG - Static Group, SS - Static Source)
Interface: xe26
Group: ff06::2
Flags: R
Uptime: 00:00:32
Group mode: Include ()
State: Active
Last reporter: fe80::1
Group source list: (R - Remote, M - SSM Mapping, S - Static )
 
Include Source List :
Source Address Uptime v2 Exp Fwd Flags
5001::2 00:00:32 00:03:49 Yes R