In This Section: |
Protocol-Independent Multicast (PIM) can forward multicast packets with a unicast protocol. PIM efficiently routes multicast traffic for groups that span wide area (and inter-domain) networks. It works with all existing unicast routing protocols. PIM supports three modes: dense, sparse and Source-Specific Multicast (SSM). You can enable only one mode of PIM at a time.
Note - Due to an OS limitation, PIM supports only 31 interfaces. If more are configured, PIM runs only on the first 31 interfaces.
Dense mode is most useful when:
The PIM Dense Mode State Refresh option can be used in conjunction with dense mode to eliminate the periodic flood-and-prune of multicast data with no active receivers. All PIM routers must have State Refresh enabled to take advantage of this feature.
PIM Dense Mode builds multicast distribution trees that operate on a flood and prune principle. Multicast packets from a source are flooded throughout a PIM dense mode network. PIM routers that receive multicast packets and have no directly connected multicast group members or PIM neighbors send a prune message back up the source-based distribution tree toward the source of the packets. As a result, subsequent multicast packets are not flooded to pruned branches of the distribution tree. However, the pruned state in PIM dense mode times out approximately every three minutes and the entire PIM dense mode network is reflooded with multicast packets and prune messages. This reflooding of unwanted traffic throughout the PIM dense mode network consumes network bandwidth unnecessarily.
Use the PIM Dense Mode State Refresh feature to keep the pruned state in PIM dense mode from timing out by periodically forwarding a control message down the distribution tree. The control message refreshes the prune state on the outgoing interfaces of each router in the tree. This saves network bandwidth by greatly reducing the reflooding of unwanted multicast traffic to pruned branches of the PIM dense mode network.
Note - You must enable state refresh on all the PIM routers in the distribution tree to take advantage of this feature. |
Sparse mode is most useful when:
Source-Specific Multicast (SSM) is most useful when:
SSM is a version of PIM sparse-mode. It is used in conjunction with IGMP version 3 to request or block multicast traffic from specific sources. For example, when a host requests traffic for a multicast group from a specific source, SSM sends PIM join/prune messages towards the source.
The multicast group range 232/8 is reserved for SSM. When SSM is enabled, sparse-mode accepts only IGMPv3 reports for groups that fall within this range. Sparse-mode ignores IGMP v1 and v2 reports in this range. In addition, only shortest-path-tree (SPT) join/prune messages for these groups are accepted from neighboring routers. All other multicast groups are processed as in native sparse mode.
SSM does not need a rendezvous-point (RP). The presence of an RP for any of the SSM groups does not have any influence on the processing of join/prune messages.
To configure PIM in the Gaia Portal:
The Add Interface window opens.
Parameter |
Description |
---|---|
PIM Protocol |
The PIM mode to use. One of:
|
State Refresh |
In Dense Mode, use state refresh messages to delay timing out prune state of multicast traffic that has no active receivers. This helps suppress the flood-and-prune cycle inherent to dense mode. |
Parameter |
Description |
---|---|
Interface |
Select the interface on which to enable PIM |
Local Address |
Use the specified local address for all advertisements sent on the interface. This is useful on interfaces with multiple IP addresses (aliases). The local address must match one of the addresses configured on the interface. If a local address is specified with the virtual address option enabled, the local address must match a virtual address on the interface. Note - Each router must have at least one interface address with a subnet prefix shared by all neighboring PIM routers. If any neighboring routers select advertisement addresses that are not on a shared subnet, all messages from those neighbors are rejected. This is also true when the virtual address option is enabled.
|
Use Virtual Address |
Use the VRRP virtual IP address on this interface. If enabled, PIM runs on this interface only after the router becomes a VRRP master after a failover. When you enable virtual IP support for VRRP on a PIM interface, it creates the neighbor relationship with the virtual IP, if the router is a VRRP master. The master in the VRRP pair sends hello messages that include the virtual IP as the source address and processes PIM control messages from routers that neighbor the VRRP pair. Note - You cannot configure a local address or a virtual address when ClusterXL is enabled.
|
DR Priority |
The dr-priority advertised in the PIM hello messages sent on the interface. This is used for DR selection on a LAN. The router with the highest priority is selected as the designated router. To break a tie, the DR is selected on the basis of the highest IP address. If even one router does not advertise a dr-priority, the DR election is based on the IP address.
Note - To make sure that a PIM neighbor supports DR Priority, run this command: |
You can disable PIM on one or more interfaces configured on the Portal platform.
To disable PIM entirely, delete all PIM interfaces.
To configure PIM Dense Mode Advanced Options:
To configure PIM Simple Mode Advanced options:
The Advanced Options window opens.
The Shortest Path First Threshold: Add Multicast Group window opens.
Parameter |
Description |
---|---|
Hello interval |
Interval between which PIM hellos are sent on a multicast-capable interface. Hello messages are addressed to the All-PIM-Routers multicast group (224.0.0.13) so that PIM routers may discover neighbors on a multi-access network.
|
Data Interval |
The life-time of a new PIM forwarding entry. Subsequently, the life of the entry is extended in different ways based on the location of this router in the network. For example, in some cases the receipt of PIM control messages (e.g. periodic join/prune messages) extends the life of the entry and in others the presence of local senders of multicast traffic prevents the deletion of the entry.
|
Assert Interval |
If an assert battle on an upstream interface results in the selection of a PIM neighbor other than the unicast reverse-path-forwarding (RPF) neighbor towards the source of the data traffic (for which the assert battle was generated) as the designated forwarder on that interface, the winner is used as the upstream neighbor for all subsequent join/prune messages. This change is timed-out after expiry of the assert interval (measured in seconds).
|
Assert-rate Limit. |
The number of asserts to send per second. The router generates the Asserts when data from a source is detected on an interface other than the incoming interface (based on the unicast routing table) towards the source. These messages are rate-limited and the router must not originate more than a fixed number of assert messages per second. If the limit is set to 0, rate-limiting is disabled.
|
Join Prune Interval |
Interval between sending Join/Prune messages.
|
Join Prune Delay Interval |
The maximal interval from the time when the unicast Reverse Path Forwarding (RPF) neighbor (towards a source or the RP) changes, and a triggered Join/Prune message is sent.
|
Join Prune Suppress Interval |
Mean interval from the receipt of a Join/Prune with a higher Holdtime (with ties broken by higher network layer address) and allowing duplicate Join/Prunes to be sent again. Set this interval to 1.25 times the join/prune interval.
|
Parameter |
Description |
---|---|
Direct OSPF Kernel Static RIP BGP |
Compares the cost of protocols to find which router will forward multicast data packets on a multi-access LAN. These values are used in assert messages sent out on a LAN when a router detects data packets on an interface other than the incoming interface towards the source of the data. These values must be the same for all routers on a multi-access LAN that run the same protocol. Therefore, the default values were specially configured to match those of other implementations.
|
Parameter |
Description |
---|---|
State Refresh Interval |
For Dense Mode, the interval at which state refresh messages are sent for multicast traffic originated by directly-connected sources.
|
State Refresh TTL |
For Dense Mode, the time-to-live (TTL) placed in the state refresh messages originated for multicast traffic from directly-connected sources. You can use this value to limit the forwarding of state refresh messages in the network. In the absence of user configuration, it is derived from the multicast data.
|
Parameter |
Description |
---|---|
Register Suppression Interval |
The mean interval between receipt of a register-stop and the time when registers can be sent again. A lower value means more frequent register bursts at the rendezvous point. A higher value means a longer join latency for new receivers.
|
CRP Advertise Interval |
The interval between which candidate-rendezvous point routers send candidate-rendezvous point advertisements to the elected bootstrap router.
|
Parameter |
Description |
---|---|
Multicast Group |
The multicast group address to apply to the shortest path tree (spt) threshold.
|
Subnet mask |
Mask length.
|
Use Infinity |
Specifies that there is no spt switch. |
Use Integer |
The data rate threshold in Kbits/sec to start the spt switchover. When the data rate for a sparse-mode group is higher than the shortest-path-tree threshold at the last-hop router, an (S,G) entry is created and a join/prune message is sent toward the source. Setting this option builds a shortest-path tree from the source S to the last-hop router.
|
To configure this router as a Bootstrap router, Candidate Rendezvous Point and Static Rendezvous Point:
The Bootstrap and Rendezvous Point Settings window opens.
Parameter |
Description |
---|---|
Enable Bootstrap Router |
If enabled, this router is a candidate bootstrap router (C-BSR). All candidate RPs (C-RPs) send C-RP-Advertisements to the selected bootstrap router (BSR). The BSR then disseminates this information in bootstrap messages across the PIM domain. To prevent a single point of failure, configure more than one router in a domain as a candidate BSR.
|
Local Address |
Address used for the C-BSR state machine and the bootstrap messages. If PIM clustering is enabled, then this address must be configured and must match that of one of the PIM interfaces. If PIM clustering is not enabled, this address can be that of the PIM interfaces or an address configured on the loopback interface. If an address from the loopback interface is used, do not select an address in the 127/8 address range.
|
Local Preference |
The priority advertised in C-BSR messages. The candidate bootstrap router with the highest priority value is selected as the bootstrap router for the domain. The C-RP with the lowest priority has the highest preference. The highest priority value is 0.
|
Parameter |
Description |
---|---|
Enable Candidate RP |
Specifies that the platform is a candidate rendezvous point router. |
Local Address |
Address used for the C-RP state machine and in the C-RP-Advertisements sent to the elected bootstrap router. If PIM clustering is enabled, then this address must be configured and must match that of one of the PIM interfaces. If clustering is not enabled, this address can either be that of one of the PIM interfaces or an address configured on the loopback interface. If an address from the loopback interface is used, take care not select an address in the 127/8 address range.
|
Local Preference |
The priority of this C-RP. All PIM routers select the same RP for a multicast group address from the list of C-RPs received in the bootstrap messages from the elected BSR. The lower the Local Preference of the C-RP, the higher the priority.
|
Multicast Group |
The multicast group(s) for which this rendezvous point is responsible. Enter the group multicast IP address and mask length. Multicast group address
|
Subnet mask |
Mask length:
|
Parameter |
Description |
---|---|
Enable Static RP |
Enables or disables the static rendezvous point. |
Static Rendezvous Point |
A static rendezvous point. If an associated multicast group and prefix is not configured, the static-rp is considered to be responsible for all multicast groups (224.0.0.0/4). This needs to be consistent with the RP information at other routers in a multicast domain irrespective of the RP-dissemination mechanism (bootstrap or autoRP) used. Note - The static RP overrides the RP information received from other RP-dissemination mechanisms, such as bootstrap routers.
|
Multicast Group |
The multicast group(s) for which this rendezvous point is responsible. Enter the group multicast IP address and mask length. Multicast group address
|
Subnet mask |
Mask length:
|
Use the Gaia Clish commands in this section to configure PIM.
set pim mode {dense | sparse | ssm} set pim state-refresh <on | off> |
Parameter |
Description |
---|---|
|
The PIM mode to use. One of:
|
|
In Dense Mode, use state refresh messages to delay timing out prune state of multicast traffic that has no active receivers. This helps suppress the flood-and-prune cycle inherent to dense mode. |
After you set PIM to run dense mode, sparse mode or SSM, use the following commands to configure PIM for specific interfaces.
set pim interface <if_name> <on | off> virtual-address <on | off> local-address <ip_address> dr-priority <0-4294967295> | default |
Parameter |
Description |
---|---|
|
Whether to enable or disable PIM on a specified interface. |
|
Use the VRRP virtual IP address on this interface. If enabled, PIM runs on this interface only after the router transitions to become a VRRP master after a failover. When you enable virtual IP support for VRRP on a PIM interface, it establishes the neighbor relationship by using the virtual IP if the router is a VRRP master. The master in the VRRP pair sends hello messages that include the virtual IP as the source address and processes PIM control messages from routers that neighbor the VRRP pair. Note - You cannot configure a local address or a virtual address when ClusterXL is enabled.
|
|
Use the specified local address for all advertisements sent on the interface. This is useful on interfaces with multiple IP addresses (aliases). The local address must match one of the addresses configured on the interface. If a local address is specified while the virtual address option enabled, the local address must match a virtual address on the interface. Note - Each router must have at least one interface address with a subnet prefix shared by all neighboring PIM routers. If any neighboring routers choose advertisement addresses that do not appear to be on a shared subnet all messages from those neighbors will be rejected. This holds true even when the virtual address option is enabled.
|
|
The dr-priority advertised in the PIM hello messages sent on the interface. This is used for DR election on a LAN. The router with the highest priority is elected the designated router. To break a tie, the DR is selected on the basis of the highest IP address. If even one router does not advertise a dr-priority, the DR election is based on the IP address.
|
|
A value of 1. |
Use the following commands to configure parameters for sparse mode PIM only.
set pim
bootstrap-candidate <on | off>
bootstrap-candidate local-address <ip_address>
bootstrap-candidate priority <0-255> | default
candidate-rp <on | off>
candidate-rp local-address <ip_address>
candidate-rp priority <0-255> | default
candidate-rp multicast-group <
mcast_address>/<
mask_length>
<on | off>
static-rp off
static-rp rp-address <ip_address> < on | off>
static-rp rp-address <ip_address> multicast-group<
mcast_address>/<
mask_length>
<on | off>
register-suppress-interval <60-3600> | default
candidate-rp advertise-interval <1-3600> | default
spt-threshold multicast<
mcast_address>/<
mask_length>
threshold <0-1000000> <on | off>
spt-threshold multicast<
mcast_address>/<
mask_length>
threshold infinity <on | off>
Bootstrap and Rendezvous Point Settings
Parameter |
Description |
---|---|
|
If enabled, this router is a candidate bootstrap router (C-BSR). All candidate RPs (C-RPs) send C-RP-Advertisements to the elected bootstrap router (BSR). The BSR then disseminates this information in bootstrap messages across the PIM domain. To avoid a single point of failure, configure more than one router in a domain as a candidate BSR.
|
|
Address used for the C-BSR state machine and the bootstrap messages. If PIM clustering is enabled, then this address must be configured and must match that of one of the PIM interfaces. If PIM clustering is not enabled, this address can either be that of the PIM interfaces or an address configured on the loopback interface. If an address from the loopback interface is used, take care not select an address in the 127/8 address range.
|
|
The priority advertised in C-BSR messages. The candidate bootstrap router with the highest priority value is elected as the bootstrap router for the domain. The C-RP with the lowest priority has the highest preference. The highest priority value is 0.
|
|
Specifies a value of 0. |
Candidate Rendezvous Point
Parameter |
Description |
---|---|
|
Specifies that the platform is a candidate rendezvous point router.
|
|
Address used for the C-RP state machine and in the C-RP-Advertisements sent to the elected bootstrap router. If PIM clustering is enabled, then this address must be configured and must match that of one of the PIM interfaces. If clustering is not enabled, this address can either be that of one of the PIM interfaces or an address configured on the loopback interface. If an address from the loopback interface is used, take care not select an address in the 127/8 address range.
|
|
The priority of this C-RP. All PIM routers select the same RP for a multicast group address from the list of C-RPs received in the bootstrap messages from the elected BSR. The lower the Local Preference of the C-RP, the higher the priority.
|
|
A value of 0. |
Candidate Rendezvous Point
Parameter |
Description |
---|---|
|
The multicast address advertised in the candidate rendezvous point advertisements. Enter the group multicast IP address and mask length. If you do not specify a group multicast address, the candidate rendezvous point advertises itself as the rendezvous point for all multicast groups. Multicast group address:
|
Static Rendezvous Point
Parameter |
Description |
---|---|
|
Disables the static rendezvous point option. |
|
A static rendezvous point IP address. If an associated multicast group and prefix is not configured, the static-rp is considered to be responsible for all multicast groups (224.0.0.0/4). This needs to be consistent with the RP information at other routers in a multicast domain irrespective of the RP-dissemination mechanism (bootstrap or autoRP) used. Note - The static RP overrides the RP information received from other RP-dissemination mechanisms, such as bootstrap routers.
|
|
A static rendezvous point IP address.
Multicast group address:
Mask length:
|
Sparse Mode Timers
Parameter |
Description |
---|---|
|
The mean interval between receiving a register-stop and allowing registers to be sent again. A lower value means more frequent register bursts at the rendezvous point. A higher value means a longer join latency for new receivers.
|
|
A value of 60 seconds. |
|
The interval between which candidate-rendezvous point routers send candidate-rendezvous point advertisements to the elected bootstrap router.
|
|
A value of 60 seconds. |
Shortest Path First Threshold
Parameter |
Description |
---|---|
|
The interval between which candidate-rendezvous point routers send candidate-rendezvous point advertisements to the elected bootstrap router. Multicast group address
Mask length:
The data rate threshold in Kbits/sec to trigger the spt switchover. When the data rate for a sparse-mode group exceeds the shortest-path-tree threshold at the last-hop router, an (S,G) entry is created and a join/prune message is sent toward the source. Setting this option builds a shortest-path tree from the source S to the last-hop router.
|
|
Specifies that there is no spt switchover. Multicast group address:
Mask length:
|
Use these commands to change or restore default values for timers and assert ranks.
set pim
hello-interval <1-21845> | default
data-interval <11-3600> | default
assert-interval <1-3600> | default
assert-limit 0 | <10-10000> | default
jp-interval <1-3600> | default
jp-delay-interval <1-3600> | default
jp-suppress-interval <2-3600> | default
assert-rank protocol protocol name rank <0-255> | default
state-refresh-interval <1 – 255>
state-refresh-ttl <1 – 255>
General Timers
Parameter |
Description |
---|---|
|
Interval between which PIM hellos are sent on a multicast-capable interface. Hello messages are addressed to the All-PIM-Routers multicast group (224.0.0.13) so that PIM routers may discover neighbors on a multi-access network.
|
|
A value of 30. |
|
The life-time of a new PIM forwarding entry. Subsequently the life of the entry will be extended in different ways depending on the location of this router in the network. For example, in some cases the receipt of PIM control messages (e.g. periodic join/prune messages) will extend the life of the entry and in others the presence of local senders of multicast traffic will prevent the entry from being deleted.
|
|
A value of 210. |
|
If an assert battle on an upstream interface results in a PIM neighbor other than the unicast reverse-path-forwarding (RPF) neighbor towards the source of the data traffic (for which the assert battle was generated) getting elected as the designated forwarder on that interface, the winner is used as the upstream neighbor for all subsequent join/prune messages. This change is timed-out after expiry of the assert interval (measured in seconds).
|
|
A value of 180. |
|
The number of asserts to send per second. Asserts are generated by the router when data from a source is detected on an interface other than the incoming interface (based on the unicast routing table) towards the source. These messages are rate-limited and the router should not originate more than a fixed number of assert messages per second. If the limit is set to 0, rate-limiting is disabled.
|
|
A value of 10. |
|
Disables the limit placed on the number of asserts that can be sent per second. |
|
Interval between sending Join/Prune messages.
|
|
A value of 60. |
|
The maximal interval from the time when the unicast Reverse Path Forwarding (RPF) neighbor (towards a source or the RP) changes, and a triggered Join/Prune message is sent.
|
|
A value of 5. |
|
Mean interval from receiving a Join/Prune with a higher Holdtime (with ties broken by higher network layer address) and allowing duplicate Join/Prunes to be sent again. Set this interval to 1.25 times the join/prune interval.
|
|
A value of 75. |
Assert Ranks
|
Used to compare the cost of protocols in order to determine which router will forward multicast data packets on a multi-access LAN. These values are used in assert messages sent out on a LAN when a router detects data packets on an interface other than the incoming interface towards the source of the data. These values must be the same for all routers on a multi-access LAN that are running the same protocol. Hence, the default values have been specifically configured to match that of other implementations.
|
---|---|
|
Default assert-rank values for supported protocols that match other implementations.
|
State Refresh Parameters- Dense Mode
|
For Dense Mode, the interval at which state refresh messages are sent for multicast traffic originated by directly-connected sources.
|
---|---|
|
For Dense Mode, the time-to-live (TTL) placed in the state refresh messages originated for multicast traffic from directly-connected sources. This value can be used to limit the forwarding of state refresh messages in the network. In the absence of user configuration it is derived from the multicast data.
|
PIM expects packets to arrive on the reverse-path forwarding (RPF) interface - the interface used to reach the source of the multicast data. PIM also checks the RPF to learn which interface it should use to send join/prune messages. By default, PIM checks the unicast routing table to identify the RPF interface. Static multicast routes provide an alternative route table to use for the RPF check. If a static multicast route and a unicast route are available for a specific destination, PIM uses the static multicast route.
Static multicast routes let PIM be independent of unicast routing. This lets you deploy topologies in which multicast and unicast traffic flow over different paths. For example, in order to balance the traffic load, you can separate the HTTP traffic from the stock quotes traffic. You simply configure a static multicast route to the source network that specifies a next hop gateway address different from the next hop address (for the same source) in the unicast routing table.
Note - PIM is the only protocol that uses static multicast routes. |
You can configure static multicast routes through the Portal or through the CLI.
In Gaia Portal, you can add, delete, and edit static multicast routes.
To add a static multicast route:
The Add Destination Route window opens
To delete a static multicast route:
To edit a static multicast route:
The Edit Destination Route window opens.
In CLI, you can add, delete, and verify static multicast routes.
To add or delete a static multicast route:
Run this command:
set static-mroute {<
sender_IP>/<
mask> | default} nexthop gateway address <
gateway_IP> [priority <
priority_value>] {on | off}
Parameter |
Description |
---|---|
|
The address and the network mask of the multicast sender. |
|
The default gateway to use for FPF lookups. |
|
The IP address of the gateway router. |
|
Valid values are 1 through 8. Defines the order of priority in which the nexthop gateway is selected, when multiple nexthop gateways are configured. Lower priority value takes higher preference. If not priority is defined, the default value of 1 is assigned. If multiple gateways are configured with the same priority value, the one with the lower IP address takes higher preference. |
|
Installs the specified multicast static route in the routing table. |
|
Removes the specified multicast static route from the routing table. |
To verify static multicast routes:
Run this command: show static-mroute
To show static multicast routes configuration:
Run this command: show configuration static-mroute
To log information about PIM errors and events using the Portal:
To log information about PIM errors and events using the CLI:
See Configuring Trace Options - Gaia Clish.
Use these commands to monitor and troubleshoot PIM.
These commands apply to both dense-mode and sparse-mode PIM:
show pim interfaces interfaces <if_address> neighbors neighbor <ip_address> memory timers stats summary |
These commands apply only to sparse-mode PIM:
show pim bootstrap candidate-rp joins rps sarse-mode-stats group-rp-mapping <mcast_address> |
Dense Mode and Sparse Mode Parameters
Parameter |
Description |
---|---|
|
The interfaces that are running PIM, their status, and their mode. This command also displays the interface and its DR priority and the number of PIM neighbors on the interface. |
|
The IP address of each PIM neighbor and the interface on which the neighbor is present. This command also displays the neighbor’s DR priority, generation ID, holdtime and the time the neighbor is set to expire based on the holdtime received in the most recent hello message. |
|
Use this command to verify whether a PIM neighbor supports DR Priority. |
|
The number of different types of PIM packets received and transmitted and any associated errors. |
|
|
|
|
|
|
Sparse Mode Parameters
Parameter |
Description |
---|---|
|
The IP address and state of the Bootstrap router. |
|
The state of the Candidate Rendezvous Point state machine. |
|
PIM’s view of the join-prune (*, G and S, G) state, including RP for the group, incoming, and outgoing interface(s), interaction with the multicast forwarding cache and the presence of local members. To view the equivalent information for dense-mode PIM, use the show mfc cache command. |
|
The active RP-set, including the RP addresses, their type (or source of information about them) and the groups for which they are configured to act as RP. |
|
The RP selected for a particular group based on information from the active RP-set. |
|
Error statistics for multicast forwarding cache (MFC); Bootstrap Router (BSR) messages; Candidate Rendezvous Point (CRP) advertisements; and the Internet Group Management Protocol (IGMP). |
MFC Commands and Trace Options
To see multicast errors and events, run the show mfc
commands:
|
To trace the MFC errors and events, see Configuring Trace Options - Gaia Clish.