- 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
- Tunneling to Connect Non-IP Multicast Areas
- BFD Support for Multicast (PIM)
- HSRP Aware PIM
- VRRP Aware PIM
- Verifying IP Multicast Operation
- Monitoring and Maintaining IP Multicast
- Multicast User Authentication and Profile Support
- IPv6 Multicast: Bootstrap Router
- 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 PIM Passive Mode
- IPv6 Multicast: Routable Address Hello Option
- MTR in VRF
IPv6 Multicast: PIM Sparse
Mode
IPv6 multicast provides support for intradomain multicast routing using PIM sparse mode (PIM-SM). PIM-SM uses unicast routing to provide reverse-path information for multicast tree building, but it is not dependent on any particular unicast routing protocol.
- Finding Feature Information
- Information About IPv6 Multicast PIM Sparse Mode
- How to Configure IPv6 Multicast PIM Sparse Mode
- Configuration Examples for IPv6 Multicast PIM Sparse Mode
- Additional References
- Feature Information for IPv6 Multicast PIM Sparse Mode
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.
Information About IPv6 Multicast PIM Sparse Mode
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-Sparse Mode
IPv6 multicast provides support for intradomain multicast routing using PIM-SM. PIM-SM uses unicast routing to provide reverse-path information for multicast tree building, but it is not dependent on any particular unicast routing protocol.
PIM-SM is used in a multicast network when relatively few devices are involved in each multicast and these devices do not forward multicast packets for a group, unless there is an explicit request for the traffic. PIM-SM distributes information about active sources by forwarding data packets on the shared tree. PIM-SM initially uses shared trees, which requires the use of an RP.
Requests are accomplished via PIM joins, which are sent hop by hop toward the root node of the tree. The root node of a tree in PIM-SM is the RP in the case of a shared tree or the first-hop device that is directly connected to the multicast source in the case of a shortest path tree (SPT). The RP keeps track of multicast groups and the hosts that send multicast packets are registered with the RP by that host’s first-hop device.
As a PIM join travels up the tree, devices along the path set up multicast forwarding state so that the requested multicast traffic will be forwarded back down the tree. When multicast traffic is no longer needed, a device sends a PIM prune up the tree toward the root node to prune (or remove) the unnecessary traffic. As this PIM prune travels hop by hop up the tree, each device updates its forwarding state appropriately. Ultimately, the forwarding state associated with a multicast group or source is removed.
A multicast data sender sends data destined for a multicast group. The designated router (DR) of the sender takes those data packets, unicast-encapsulates them, and sends them directly to the RP. The RP receives these encapsulated data packets, de-encapsulates them, and forwards them onto the shared tree. The packets then follow the (*, G) multicast tree state in the devices on the RP tree, being replicated wherever the RP tree branches, and eventually reaching all the receivers for that multicast group. The process of encapsulating data packets to the RP is called registering, and the encapsulation packets are called PIM register packets.
- Designated Router
- Rendezvous Point
- PIM Shared Tree and Source Tree (Shortest-Path Tree)
- Reverse Path Forwarding
Designated Router
Cisco devices use PIM-SM to forward multicast traffic and follow an election process to select a designated device when there is more than one device on a LAN segment.
The designated router (DR) is responsible for sending PIM register and PIM join and prune messages toward the RP to inform it about active sources and host group membership.
If there are multiple PIM-SM devices on a LAN, a DR must be elected to avoid duplicating multicast traffic for connected hosts. The PIM device with the highest IPv6 address becomes the DR for the LAN unless you choose to force the DR election by use of the ipv6 pim dr-priority command. This command allows you to specify the DR priority of each device on the LAN segment (default priority = 1) so that the device with the highest priority will be elected as the DR. If all devices on the LAN segment have the same priority, then the highest IPv6 address is again used as the tiebreaker.
The figure below illustrates what happens on a multiaccess segment. Device A and Device B are connected to a common multiaccess Ethernet segment with Host A as an active receiver for Group A. Only Device A, operating as the DR, sends joins to the RP to construct the shared tree for Group A. If Device B was also permitted to send (*, G) joins to the RP, parallel paths would be created and Host A would receive duplicate multicast traffic. Once Host A begins to source multicast traffic to the group, the DR’s responsibility is to send register messages to the RP. If both devices were assigned the responsibility, the RP would receive duplicate multicast packets and result in wastage of bandwidth.
If the DR should fail, the PIM-SM provides a way to detect the failure of Device A and elect a failover DR. If the DR (Device A) became inoperable, Device B would detect this situation when its neighbor adjacency with Device A timed out. Because Device B has been hearing MLD membership reports from Host A, it already has MLD state for Group A on this interface and would immediately send a join to the RP when it became the new DR. This step reestablishes traffic flow down a new branch of the shared tree via Device B. Additionally, if Host A were sourcing traffic, Device B would initiate a new register process immediately after receiving the next multicast packet from Host A. This action would trigger the RP to join the SPT to Host A via a new branch through Device B.
Tip | Two PIM devices are neighbors if there is a direct connection between them. To display your PIM neighbors, use the show ipv6 pim neighbor command in privileged EXEC mode. |
Note | The DR election process is required only on multiaccess LANs. |
Rendezvous Point
IPv6 PIM provides embedded RP support. Embedded RP support allows the device to learn RP information using the multicast group destination address instead of the statically configured RP. For devices that are the RP, the device must be statically configured as the RP.
The device searches for embedded RP group addresses in MLD reports or PIM messages and data packets. On finding such an address, the device learns the RP for the group from the address itself. It then uses this learned RP for all protocol activity for the group. For devices that are the RP, the device is advertised as an embedded RP must be configured as the RP.
To select a static RP over an embedded RP, the specific embedded RP group range or mask must be configured in the access list of the static RP. When PIM is configured in sparse mode, you must also choose one or more devices to operate as an RP. An RP is a single common root placed at a chosen point of a shared distribution tree and is configured statically in each box.
PIM DRs forward data from directly connected multicast sources to the RP for distribution down the shared tree. Data is forwarded to the RP in one of two ways:
-
Data is encapsulated in register packets and unicast directly to the RP by the first-hop device operating as the DR.
-
If the RP has itself joined the source tree, it is multicast-forwarded per the RPF forwarding algorithm described in the PIM-Sparse Mode section.
The RP address is used by first-hop devices to send PIM register messages on behalf of a host sending a packet to the group. The RP address is also used by last-hop devices to send PIM join and prune messages to the RP to inform it about group membership. You must configure the RP address on all devices (including the RP device).
A PIM device can be an RP for more than one group. Only one RP address can be used at a time within a PIM domain for a certain group. The conditions specified by the access list determine for which groups the device is an RP.
IPv6 multicast supports the PIM accept register feature, which is the ability to perform PIM-SM register message filtering at the RP. The user can match an access list or compare the AS path for the registered source with the AS path specified in a route map.
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.
Note | To do a RPF check, use the show ipv6 rpf hostname or show ipv6 rpf vrf vrf_name hostname command. |
How to Configure IPv6 Multicast PIM Sparse Mode
Enabling IPv6 Multicast Routing
IPv6 multicast uses MLD version 2. This version of MLD 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.
You must first enable IPv6 unicast routing on all interfaces of the device on which you want to enable IPv6 multicast routing .
1.
enable
2.
configure
terminal
3.
ipv6
multicast-routing
[vrf
vrf-name]
DETAILED STEPS
Configuring PIM-SM and Displaying PIM-SM Information for a Group Range
1.
enable
2.
configure
terminal
3.
ipv6
pim
[vrf
vrf-name]
rp-address
ipv6-address [group-access-list] [bidir]
4.
end
5.
show
ipv6
pim
[vrf
vrf-name]
interface [state-on] [state-off] [type
number]
6.
show
ipv6
pim
[vrf
vrf-name]
group-map [group-name |
group-address] | [group-range |
group-mask] [info-source {bsr |
default |
embedded-rp |
static}]
7.
show
ipv6
pim
[vrf
vrf-name]
neighbor [detail] [interface-type
interface-number |
count]
8.
show
ipv6
pim
[vrf
vrf-name]
range-list[config] [rp-address |
rp-name]
9.
show
ipv6
pim
[vrf
vrf-name]
tunnel [interface-type
interface-number]
10.
debug
ipv6
pim
[group-name |
group-address |
interface
interface-type |
bsr |
group |
mvpn |
neighbor]
DETAILED STEPS
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
Turning Off IPv6 PIM on a Specified Interface
A user might want only specified interfaces to perform IPv6 multicast and will therefore want to turn off PIM on a specified interface.
1.
enable
2.
configure
terminal
3.
interface
type
number
4.
no
ipv6
pim
DETAILED STEPS
Configuration Examples for IPv6 Multicast PIM Sparse Mode
Example: Enabling IPv6 Multicast Routing
The following example enables multicast routing on all interfaces and also enables multicast forwarding for PIM and MLD on all enabled interfaces of the device.
Device> enable Device# configure terminal Device(config)# ipv6 multicast-routing
Example: Configuring PIM
The following example shows how to configure a device to use PIM-SM using 2001:DB8::1 as the RP. It sets the SPT threshold to infinity to prevent switchover to the source tree when a source starts sending traffic and sets a filter on all sources that do not have a local multicast BGP prefix.
Device(config)# ipv6 multicast-routing Device(config)# ipv6 pim rp-address 2001:DB8::1 Device(config)# ipv6 pim spt-threshold infinity Device(config)# ipv6 pim accept-register route-map reg-filter
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: Displaying PIM-SM Information for a Group Range
This example displays information about interfaces configured for PIM:
Device# show ipv6 pim interface state-on Interface PIM Nbr Hello DR Count Intvl Prior Ethernet0 on 0 30 1 Address:FE80::208:20FF:FE08:D7FF DR :this system POS1/0 on 0 30 1 Address:FE80::208:20FF:FE08:D554 DR :this system POS4/0 on 1 30 1 Address:FE80::208:20FF:FE08:D554 DR :FE80::250:E2FF:FE8B:4C80 POS4/1 on 0 30 1 Address:FE80::208:20FF:FE08:D554 DR :this system Loopback0 on 0 30 1 Address:FE80::208:20FF:FE08:D554 DR :this system
This example displays an IPv6 multicast group mapping table:
Device# show ipv6 pim group-map FF33::/32* SSM Info source:Static Uptime:00:08:32, Groups:0 FF34::/32* SSM Info source:Static Uptime:00:09:42, Groups:0
This example displays information about IPv6 multicast range lists:
Device# show ipv6 pim range-list config SSM Exp:never Learnt from ::: FF33::/32 Up:00:26:33 FF34::/32 Up:00:26:33 FF35::/32 Up:00:26:33 FF36::/32 Up:00:26:33 FF37::/32 Up:00:26:33 FF38::/32 Up:00:26:33 FF39::/32 Up:00:26:33 FF3A::/32 Up:00:26:33 FF3B::/32 Up:00:26:33 FF3C::/32 Up:00:26:33 FF3D::/32 Up:00:26:33 FF3E::/32 Up:00:26:33 FF3F::/32 Up:00:26:33 config SM RP:40::1:1:1 Exp:never Learnt from ::: FF13::/64 Up:00:03:50 config SM RP:40::1:1:3 Exp:never Learnt from ::: FF09::/64 Up:00:03:50
Example: Configuring PIM Options
The following example sets the DR priority, the PIM hello interval, and the periodic join and prune announcement interval on Ethernet interface 0/0.
Device(config)# interface Ethernet0/0 Device(config)# ipv6 pim hello-interval 60 Device(config)# ipv6 pim dr-priority 3
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 Sparse Mode
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv6 Multicast: PIM Accept Register |
12.0(26)S 12.3(4)T 12.2(25)S 12.2(25)SG 12.2(33)SRA 12.2(33)SXH 12.4 12.4(2)T Cisco IOS XE Release 2.1 15.0(1)S |
The PIM accept register feature is the ability to perform PIM-SM register message filtering at the RP. The following commands were introduced or modified: ipv6 pim accept-register. |
IPv6 Multicast: PIM Embedded RP Support |
12.3(4)T 12.4 12.2(40)SG 15.0(2)SG 12.2(33)SRA 12.2(33)SXH |
Embedded RP support allows the router to learn RP information using the multicast group destination address instead of the statically configured RP. The following commands were introduced or modified: ipv6 pim, ipv6 pim rp embedded. |
IPv6 Multicast: PIM Sparse Mode |
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.4 15.0(1)S |
PIM-SM uses unicast routing to provide reverse-path information for multicast tree building. PIM-SM is used in a multicast network when relatively few routers are involved in each multicast and these routers do not forward multicast packets for a group, unless there is an explicit request for the 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. |