- IP Multicast Technology Overview
- Configuring Basic IP Multicast
- Configuring Basic IP Multicast in IPv6 Networks
- Using MSDP to Interconnect Multiple PIM-SM Domains
- PIM Allow RP
- Configuring Source Specific Multicast
- Implementing Multicast Stub Routing
- Tunneling to Connect Non-IP Multicast Areas
- BFD Support for Multicast (PIM)
- HSRP Aware PIM
- VRRP Aware PIM
- Verifying IP Multicast Operation
- SNMP Traps for IP Multicast
- Monitoring and Maintaining IP Multicast
- IPv6 Multicast: PIM Sparse Mode
- IPv6 Multicast: Static Multicast Routing for IPv6
- IPv6 Multicast: PIM Source-Specific Multicast
- IPv6 Source Specific Multicast Mapping
- IPv6 Multicast: Explicit Tracking of Receivers
- IPv6 Bidirectional PIM
- IPv6 Multicast: Routable Address Hello Option
- Finding Feature Information
- Prerequisites for IPv6 Multicast: PIM Source-Specific Multicast
- Information About IPv6 Multicast: PIM Source-Specific Multicast
IPv6 Multicast: PIM Source-Specific Multicast
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for IPv6 Multicast: PIM Source-Specific Multicast
Information About IPv6 Multicast: PIM Source-Specific Multicast
IPv6 Multicast Routing Implementation
Cisco software supports the following protocols to implement IPv6 multicast routing:
-
MLD is used by IPv6 devices to discover multicast listeners (nodes that want to receive multicast packets destined for specific multicast addresses) on directly attached links. There are two versions of MLD: - IPv6 multicast for Cisco software uses both MLD version 2 and MLD version 1. MLD version 2 is fully backward-compatible with MLD version 1 (described in RFC 2710). Hosts that support only MLD version 1 will interoperate with a device running MLD version 2. Mixed LANs with both MLD version 1 and MLD version 2 hosts are likewise supported.
- PIM-SM is used between devices so that they can track which multicast packets to forward to each other and to their directly connected LANs.
- PIM in Source Specific Multicast (PIM-SSM) is similar to PIM-SM with the additional ability to report interest in receiving packets from specific source addresses (or from all but the specific source addresses) to an IP multicast address.
The figure below shows where MLD and PIM-SM operate within the IPv6 multicast environment.
Protocol Independent Multicast
Protocol Independent Multicast (PIM) is used between devices so that they can track which multicast packets to forward to each other and to their directly connected LANs. PIM works independently of the unicast routing protocol to perform send or receive multicast route updates like other protocols. Regardless of which unicast routing protocols are being used in the LAN to populate the unicast routing table, Cisco IOS PIM uses the existing unicast table content to perform the Reverse Path Forwarding (RPF) check instead of building and maintaining its own separate routing table.
You can configure IPv6 multicast to use either a PIM- Sparse Mode (SM) or PIM-Source Specific Multicast (SSM) operation, or you can use both PIM-SM and PIM-SSM together in your network.
PIM-Source Specific Multicast
PIM-SSM is the routing protocol that supports the implementation of SSM and is derived from PIM-SM. However, unlike PIM-SM where data from all multicast sources are sent when there is a PIM join, the SSM feature forwards datagram traffic to receivers from only those multicast sources that the receivers have explicitly joined, thus optimizing bandwidth utilization and denying unwanted Internet broadcast traffic. Further, instead of the use of RP and shared trees, SSM uses information found on source addresses for a multicast group. This information is provided by receivers through the source addresses relayed to the last-hop devices by MLD membership reports, resulting in shortest-path trees directly to the sources.
In SSM, delivery of datagrams is based on (S, G) channels. Traffic for one (S, G) channel consists of datagrams with an IPv6 unicast source address S and the multicast group address G as the IPv6 destination address. Systems will receive this traffic by becoming members of the (S, G) channel. Signaling is not required, but receivers must subscribe or unsubscribe to (S, G) channels to receive or not receive traffic from specific sources.
MLD version 2 is required for SSM to operate. MLD allows the host to provide source information. Before SSM will run with MLD, SSM must be supported in the Cisco IPv6 device, the host where the application is running, and the application itself.
PIM Shared Tree and Source Tree (Shortest-Path Tree)
By default, members of a group receive data from senders to the group across a single data distribution tree rooted at the RP. This type of distribution tree is called shared tree or rendezvous point tree (RPT), as illustrated in the figure below. Data from senders is delivered to the RP for distribution to group members joined to the shared tree.
If the data threshold warrants, leaf devices on the shared tree may initiate a switch to the data distribution tree rooted at the source. This type of distribution tree is called a shortest path tree or source tree. By default, the software switches to a source tree upon receiving the first data packet from a source.
The following process details the move from shared tree to source tree:
- Receiver joins a group; leaf Device C sends a join message toward the RP.
- RP puts the link to Device C in its outgoing interface list.
- Source sends the data; Device A encapsulates the data in the register and sends it to the RP.
- RP forwards the data down the shared tree to Device C and sends a join message toward the source. At this point, data may arrive twice at Device C, once encapsulated and once natively.
- When data arrives natively (unencapsulated) at the RP, the RP sends a register-stop message to Device A.
- By default, receipt of the first data packet prompts Device C to send a join message toward the source.
- When Device C receives data on (S, G), it sends a prune message for the source up the shared tree.
- RP deletes the link to Device C from the outgoing interface of (S, G).
- RP triggers a prune message toward the source.
Join and prune messages are sent for sources and RPs. They are sent hop-by-hop and are processed by each PIM device along the path to the source or RP. Register and register-stop messages are not sent hop-by-hop. They are sent by the designated router (DR) that is directly connected to a source and are received by the RP for the group.
Reverse Path Forwarding
Reverse-path forwarding is used for forwarding multicast datagrams. It functions as follows:
- If a device receives a datagram on an interface it uses to send unicast packets to the source, the packet has arrived on the RPF interface.
- If the packet arrives on the RPF interface, a device forwards the packet out the interfaces present in the outgoing interface list of a multicast routing table entry.
- If the packet does not arrive on the RPF interface, the packet is silently discarded to prevent loops.
PIM uses both source trees and RP-rooted shared trees to forward datagrams; the RPF check is performed differently for each, as follows:
- If a PIM device has source-tree state (that is, an (S, G) entry is present in the multicast routing table), the device performs the RPF check against the IPv6 address of the source of the multicast packet.
- If a PIM device has shared-tree state (and no explicit source-tree state), it performs the RPF check on the RP’s address (which is known when members join the group).
Sparse-mode PIM uses the RPF lookup function to determine where it needs to send joins and prunes. (S, G) joins (which are source-tree states) are sent toward the source. (*, G) joins (which are shared-tree states) are sent toward the RP.
How to Configure IPv6 Multicast: PIM Source-Specific Multicast
- Configuring PIM Options
- Resetting the PIM Traffic Counters
- Clearing the PIM Topology Table to Reset the MRIB Connection
Configuring PIM Options
1. enable
2. configure terminal
3. ipv6 pim [vrf vrf-name] spt-threshold infinity [group-list access-list-name]
4. ipv6 pim [vrf vrf-name] accept-register {list access-list | route-map map-name}
5. interface type number
6. ipv6 pim dr-priority value
7. ipv6 pim hello-interval seconds
8. ipv6 pim join-prune-interval seconds
9. exit
10. show ipv6 pim [vrf vrf-name] join-prune statistic [interface-type]
DETAILED STEPS
Resetting the PIM Traffic Counters
If PIM malfunctions, or in order to verify that the expected number of PIM packets are received and sent, clear PIM traffic counters. Once the traffic counters are cleared, you can verify that PIM is functioning correctly and that PIM packets are being received and sent correctly.
1. enable
2. clear ipv6 pim [vrf vrf-name] traffic
3. show ipv6 pim [vrf vrf-name] traffic
DETAILED STEPS
Clearing the PIM Topology Table to Reset the MRIB Connection
No configuration is necessary to use the MRIB. However, users may in certain situations want to clear the PIM topology table in order to reset the MRIB connection and verify MRIB information.
1. enable
2. clear ipv6 pim [vrf vrf-name] topology [group-name | group-address]
3. show ipv6 mrib [vrf vrf-name] client [filter] [name {client-name | client-name : client-id}]
4. show ipv6 mrib [vrf vrf-name] route [link-local| summary | [sourceaddress-or-name | *] [groupname-or-address [prefix-length]]]
5. show ipv6 pim [vrf vrf-name] topology [groupname-or-address [sourcename-or-address] | link-local | route-count [detail]]
6. debug ipv6 mrib [vrf vrf-name] client
7. debug ipv6 mrib [vrf vrf-name] io
8. debug ipv6 mrib proxy
9. debug ipv6 mrib [vrf vrf-name] route [group-name | group-address]
10. debug ipv6 mrib [vrf vrf-name] table
DETAILED STEPS
Configuration Examples for IPv6 Multicast: PIM Source-Specific Multicast
- Example: Displaying IPv6 PIM Topology Information
- Example: Configuring Join/Prune Aggregation
- Example: Displaying Information About PIM Traffic
Example: Displaying IPv6 PIM Topology Information
Device# show ipv6 pim topology IP PIM Multicast Topology Table Entry state:(*/S,G)[RPT/SPT] Protocol Uptime Info Entry flags:KAT - Keep Alive Timer, AA - Assume Alive, PA - Probe Alive, RA - Really Alive, LH - Last Hop, DSS - Don't Signal Sources, RR - Register Received, SR - Sending Registers, E - MSDP External, DCC - Don't Check Connected Interface state:Name, Uptime, Fwd, Info Interface flags:LI - Local Interest, LD - Local Dissinterest, II - Internal Interest, ID - Internal Dissinterest, LH - Last Hop, AS - Assert, AB - Admin Boundary (*,FF05::1) SM UP:02:26:56 JP:Join(now) Flags:LH RP:2001:DB8:1:1:2 RPF:Ethernet1/1,FE81::1 Ethernet0/1 02:26:56 fwd LI LH (2001:DB8:1:1:200,FF05::1) SM UP:00:00:07 JP:Null(never) Flags: RPF:Ethernet1/1,FE80::30:1:4 Ethernet1/1 00:00:07 off LI
Example: Configuring Join/Prune Aggregation
The following example shows how to provide the join/prune aggregation on Ethernet interface 0/0:
Device# show ipv6 pim join-prune statistic Ethernet0/0 PIM Average Join/Prune Aggregation for last (1K/10K/50K) packets Interface Transmitted Received Ethernet0/0 0 / 0 1 / 0
Example: Displaying Information About PIM Traffic
Device# show ipv6 pim traffic PIM Traffic Counters Elapsed time since counters cleared:00:05:29 Received Sent Valid PIM Packets 22 22 Hello 22 22 Join-Prune 0 0 Register 0 0 Register Stop 0 0 Assert 0 0 Bidir DF Election 0 0 Errors: Malformed Packets 0 Bad Checksums 0 Send Errors 0 Packet Sent on Loopback Errors 0 Packets Received on PIM-disabled Interface 0 Packets Received with Unknown PIM Version 0
Additional References
Related Documents
Related Topic |
Document Title |
---|---|
IPv6 addressing and connectivity |
IPv6 Configuration Guide |
Cisco IOS commands |
|
IP multicast commands |
|
IPv6 commands |
|
Cisco IOS IPv6 features |
Standards and RFCs
Standard/RFC |
Title |
---|---|
RFCs for IPv6 |
IPv6 RFCs |
MIBs
MIB |
MIBs Link |
---|---|
|
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |
Technical Assistance
Description |
Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
Feature Information for IPv6 Multicast: PIM Source-Specific Multicast
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv6 Multicast: PIM Source-Specific Multicast |
12.0(26)S 12.2(18)S 12.2(25)SG 12.2(33)SRA 12.3(2)T 12.4 12.4(2)T Cisco IOS XE Release 2.1 15.0(1)S |
PIM-SSM supports the implementation of SSM and is derived from PIM-SM. The SSM feature forwards datagram traffic to receivers from only those multicast sources that the receivers have explicitly joined, optimizing bandwidth utilization and denying unwanted Internet broadcast traffic. The following commands were introduced or modified: clear ipv6 pim topology, debug ipv6 pim, debug ipv6 pim neighbor, ipv6 pim, ipv6 pim dr-priority, ipv6 pim hello-interval, ipv6 pim rp-address , ipv6 pim spt-threshold infinity, show ipv6 mroute, show ipv6 pim group-map, show ipv6 pim interface, show ipv6 pim neighbor, show ipv6 pim range-list, show ipv6 pim topology, show ipv6 pim tunnel. |