IPv6 Multicast PIM Sparse Mode
IPv6 Multicast: PIM Sparse Mode
Last Updated: July 17, 2012
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
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.
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.
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.
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.
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:
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:
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:
PIM uses both source trees and RP-rooted shared trees to forward datagrams; the RPF check is performed differently for each, as follows:
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 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.
Before You BeginSUMMARY STEPS
You must first enable IPv6 unicast routing on all interfaces of the device on which you want to enable IPv6 multicast routing .
Configuring PIM-SM and Displaying PIM-SM Information for a Group Range
Configuring PIM Options
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.
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.
Disabling Embedded RP Support in IPv6 PIM
A user might want to disable embedded RP support on an interface if all of the devices in the domain do not support embedded RP.
Configuration Examples for IPv6 Multicast PIM Sparse Mode
Example: Enabling 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
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
Feature Information for IPv6 Multicast PIM Sparse Mode
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
© 2012 Cisco Systems, Inc. All rights reserved.