IP Multicast: PIM Configuration Guide, Cisco IOS XE Gibraltar 16.10.x
Bias-Free Language
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
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.
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
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
theipv6 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.
Before you begin
You must first enable IPv6 unicast routing on all interfaces of the device on which you want to enable IPv6 multicast routing
.
SUMMARY STEPS
enable
configure terminal
ipv6 multicast-routing [vrf vrf-name]
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
ipv6 multicast-routing [vrf vrf-name]
Example:
Device(config)# ipv6 multicast-routing
Enables multicast routing on all IPv6-enabled interfaces and enables multicast forwarding for PIM and MLD on all enabled
interfaces of the device.
IPv6 multicast routing is disabled by default when IPv6 unicast routing is enabled. IPv6 multicast-routing needs to be enabled
for IPv6 multicast routing to function.
Configuring PIM-SM and Displaying PIM-SM Information for a Group Range
Configures periodic join and prune announcement intervals for a specified interface.
Step 9
exit
Example:
Device(config-if)# exit
Enter this command twice to exit interface configuration mode and enter privileged EXEC mode.
Step 10
show ipv6 pim [vrf vrf-name]
join-prune statistic [interface-type]
Example:
Device# show ipv6 pim join-prune statistic
Displays the average join-prune aggregation for the most recently aggregated packets for each interface.
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.
SUMMARY STEPS
enable
clear ipv6 pim [vrf vrf-name]
traffic
show ipv6 pim [vrf vrf-name]
traffic
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
clear ipv6 pim [vrf vrf-name]
traffic
Example:
Device# clear ipv6 pim traffic
Resets the PIM traffic counters.
Step 3
show ipv6 pim [vrf vrf-name]
traffic
Example:
Device# show ipv6 pim traffic
Displays the PIM traffic counters.
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.
SUMMARY STEPS
enable
configure terminal
interface typenumber
no ipv6 pim
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
interface typenumber
Example:
Device(config)# interface FastEthernet 1/0
Specifies an interface type and number, and places the device in interface configuration mode.
Step 4
no ipv6 pim
Example:
Device(config-if)# no ipv6 pim
Turns off IPv6 PIM on a specified interface.
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.
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# 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.
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
Table 1. 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 .