Title | Size | Downloads |
---|---|---|
04-PIM Configuration.pdf | 809.04 KB |
- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
04-PIM Configuration | 809.04 KB |
Introduction to Administrative Scoping in PIM-SM
SSM Model Implementation in PIM
PIM-DM Configuration Task List
Enabling State-Refresh Capability
Configuring State-Refresh Parameters
Configuring PIM-DM Graft Retry Period
PIM-SM Configuration Task List
Configuring Administrative Scoping
Configuring Multicast Source Registration
PIM-SSM Configuration Task List
Configuring the SSM Group Range
Configuring PIM Common Features
PIM Common Feature Configuration Task List
Configuring a Multicast Data Filter
Configuring Join/Prune Message Sizes
Displaying and Maintaining PIM
PIM-SM Non-Scoped Zone Configuration Example
PIM-SM Admin-Scope Zone Configuration Example
Troubleshooting PIM Configuration
Failure of Building a Multicast Distribution Tree Correctly
Multicast Data Abnormally Terminated on an Intermediate Router
RPs Unable to Join SPT in PIM-SM
RPT Establishment Failure or Source Registration Failure in PIM-SM
When configuring PIM, go to these sections for information you are interested in:
l Configuring PIM Common Features
l Displaying and Maintaining PIM
l Troubleshooting PIM Configuration
l The term “router” in this document refers to a router in a generic sense or a Layer 3 switch running the PIM protocol.
l Interface view mentioned in this chapter can be VLAN interface view or Layer 3 Ethernet interface view. Layer 3 Ethernet interfaces refer to Ethernet ports configured to operate in route mode. For how to switch the operating mode of an Ethernet port, refer to Ethernet Port Configuration in the Access Volume.
PIM Overview
Protocol Independent Multicast (PIM) provides IP multicast forwarding by leveraging static routes or unicast routing tables generated by any unicast routing protocol, such as routing information protocol (RIP), open shortest path first (OSPF), intermediate system to intermediate system (IS-IS), or border gateway protocol (BGP). Independent of the unicast routing protocols running on the device, multicast routing can be implemented as long as the corresponding multicast routing entries are created through unicast routes. PIM uses the reverse path forwarding (RPF) mechanism to implement multicast forwarding. When a multicast packet arrives on an interface of the device, it is subject to an RPF check. If the RPF check succeeds, the device creates the corresponding routing entry and forwards the packet; if the RPF check fails, the device discards the packet. For more information about RPF, refer to Multicast Routing and Forwarding Configuration in the IP Multicast Volume.
Based on the implementation mechanism, PIM falls into two modes:
l Protocol Independent Multicast–Dense Mode (PIM-DM), and
l Protocol Independent Multicast–Sparse Mode (PIM-SM).
To facilitate description, a network comprising PIM-capable routers is referred to as a “PIM domain” in this document.
Introduction to PIM-DM
PIM-DM is a type of dense mode multicast protocol. It uses the “push mode” for multicast forwarding, and is suitable for small-sized networks with densely distributed multicast members.
The basic implementation of PIM-DM is as follows:
l PIM-DM assumes that at least one multicast group member exists on each subnet of a network, and therefore multicast data is flooded to all nodes on the network. Then, branches without multicast forwarding are pruned from the forwarding tree, leaving only those branches that contain receivers. This “flood and prune” process takes place periodically, that is, pruned branches resume multicast forwarding when the pruned state times out and then data is re-flooded down these branches, and then are pruned again.
l When a new receiver on a previously pruned branch joins a multicast group, to reduce the join latency, PIM-DM uses a graft mechanism to resume data forwarding to that branch.
Generally speaking, the multicast forwarding path is a source tree, namely a forwarding tree with the multicast source as its “root” and multicast group members as its “leaves”. Because the source tree is the shortest path from the multicast source to the receivers, it is also called shortest path tree (SPT).
How PIM-DM Works
The working mechanism of PIM-DM is summarized as follows:
l Neighbor discovery
l SPT building
l Graft
Neighbor discovery
In a PIM domain, a PIM router discovers PIM neighbors, maintains PIM neighboring relationships with other routers, and builds and maintains SPTs by periodically multicasting hello messages to all other PIM routers (224.0.0.13).
Every PIM-enabled interface on a router sends hello messages periodically, and thus learns the PIM neighboring information pertinent to the interface.
SPT establishment
The process of building an SPT is the process of “flood and prune”.
1) In a PIM-DM domain, when a multicast source S sends multicast data to multicast group G, the multicast packet is first flooded throughout the domain: The router first performs RPF check on the multicast packet. If the packet passes the RPF check, the router creates an (S, G) entry and forwards the data to all downstream nodes in the network. In the flooding process, an (S, G) entry is created on all the routers in the PIM-DM domain.
2) Then, nodes without receivers downstream are pruned: A router having no receivers downstream sends a prune message to the upstream node to “tell” the upstream node to delete the corresponding interface from the outgoing interface list in the (S, G) entry and stop forwarding subsequent packets addressed to that multicast group down to this node.
l An (S, G) entry contains the multicast source address S, multicast group address G, outgoing interface list, and incoming interface.
l For a given multicast stream, the interface that receives the multicast stream is referred to as “upstream”, and the interfaces that forward the multicast stream are referred to as “downstream”.
A prune process is first initiated by a leaf router. As shown in Figure 1-1, a router without any receiver attached to it (the router connected with Host A, for example) sends a prune message, and this prune process goes on until only necessary branches are left in the PIM-DM domain. These branches constitute the SPT.
The “flood and prune” process takes place periodically. A pruned state timeout mechanism is provided. A pruned branch restarts multicast forwarding when the pruned state times out and then is pruned again when it no longer has any multicast receiver.
Pruning has a similar implementation in PIM-SM.
Graft
When a host attached to a pruned node joins a multicast group, to reduce the join latency, PIM-DM uses a graft mechanism to resume data forwarding to that branch. The process is as follows:
1) The node that needs to receive multicast data sends a graft message toward its upstream node, as a request to join the SPT again.
2) Upon receiving this graft message, the upstream node puts the interface on which the graft was received into the forwarding state and responds with a graft-ack message to the graft sender.
Assert
The assert mechanism is used to shutoff duplicate multicast flows onto the same multi-access network, where more than one multicast router exists, by electing a unique multicast forwarder on the multi-access network.
As shown in Figure 1-2, after Router A and Router B receive an (S, G) packet from the upstream node, they both forward the packet to the local subnet. As a result, the downstream node Router C receives two identical multicast packets, and both Router A and Router B, on their own local interface, receive a duplicate packet forwarded by the other. Upon detecting this condition, both routers send an assert message to all PIM routers (224.0.0.13) through the interface on which the packet was received. The assert message contains the following information: the multicast source address (S), the multicast group address (G), and the preference and metric of the unicast route to the source. By comparing these parameters, either Router A or Router B becomes the unique forwarder of the subsequent (S, G) packets on the multi-access subnet. The comparison process is as follows:
1) The router with a higher unicast route preference to the source wins;
2) If both routers have the same unicast route preference to the source, the router with a smaller metric to the source wins;
3) If there is a tie in route metric to the source, the router with a higher IP address of the local interface wins.
Introduction to PIM-SM
PIM-DM uses the “flood and prune” principle to build SPTs for multicast data distribution. Although an SPT has the shortest path, it is built with a low efficiency. Therefore the PIM-DM mode is not suitable for large- and medium-sized networks.
PIM-SM is a type of sparse mode multicast protocol. It uses the “pull mode” for multicast forwarding, and is suitable for large- and medium-sized networks with sparsely and widely distributed multicast group members.
The basic implementation of PIM-SM is as follows:
l PIM-SM assumes that no hosts need to receive multicast data. In the PIM-SM mode, routers must specifically request a particular multicast stream before the data is forwarded to them. The core task for PIM-SM to implement multicast forwarding is to build and maintain rendezvous point trees (RPTs). An RPT is rooted at a router in the PIM domain as the common node, or rendezvous point (RP), through which the multicast data travels along the RPT and reaches the receivers.
l When a receiver is interested in the multicast data addressed to a specific multicast group, the router connected to this receiver sends a join message to the RP corresponding to that multicast group. The path along which the message goes hop by hop to the RP forms a branch of the RPT.
l When a multicast source sends multicast streams to a multicast group, the source-side designated router (DR) first registers the multicast source with the RP by sending register messages to the RP by unicast until it receives a register-stop message from the RP. The arrival of a register message at the RP triggers the establishment of an SPT. Then, the multicast source sends subsequent multicast packets along the SPT to the RP. Upon reaching the RP, the multicast packet is duplicated and delivered to the receivers along the RPT.
Multicast traffic is duplicated only where the distribution tree branches, and this process automatically repeats until the multicast traffic reaches the receivers.
How PIM-SM Works
The working mechanism of PIM-SM is summarized as follows:
l Neighbor discovery
l DR election
l RP discovery
l RPT building
l Multicast source registration
l Switchover to SPT
l Assert
Neighbor discovery
PIM-SM uses a similar neighbor discovery mechanism as PIM-DM does. For details, refer to Neighbor discovery.
DR election
PIM-SM also uses hello messages to elect a DR for a multi-access network (such as Ethernet). The elected DR will be the only multicast forwarder on this multi-access network.
A DR must be elected in a multi-access network, no matter this network connects to multicast sources or to receivers. The DR at the receiver side sends join messages to the RP; the DR at the multicast source side sends register messages to the RP.
l A DR is elected on a multi-access subnet by means of comparison of the priorities and IP addresses carried in hello messages. An elected DR is substantially meaningful to PIM-SM. PIM-DM itself does not require a DR. However, if IGMPv1 runs on any multi-access network in a PIM-DM domain, a DR must be elected to act as the IGMPv1 querier on that multi-access network.
l IGMP must be enabled on a device that acts as a receiver-side DR before receivers attached to this device can join multicast groups through this DR.
For details about IGMP, refer to IGMP Configuration in the IP Multicast Volume.
As shown in Figure 1-3, the DR election process is as follows:
2) Routers on the multi-access network send hello messages to one another. The hello messages contain the router priority for DR election. The router with the highest DR priority will become the DR.
3) In the case of a tie in the router priority, or if any router in the network does not support carrying the DR-election priority in hello messages, the router with the highest IP address will win the DR election.
When the DR fails, a timeout in receiving hello message triggers a new DR election process among the other routers.
RP discovery
The RP is the core of a PIM-SM domain. For a small-sized, simple network, one RP is enough for forwarding information throughout the network, and the position of the RP can be statically specified on each router in the PIM-SM domain. In most cases, however, a PIM-SM network covers a wide area and a huge amount of multicast traffic needs to be forwarded through the RP. To lessen the RP burden and optimize the topological structure of the RPT, multiple candidate RPs (C-RPs) can be configured in a PIM-SM domain, among which an RP is dynamically elected through the bootstrap mechanism. Each elected RP serves a different multicast group range. For this purpose, a bootstrap router (BSR) must be configured. The BSR serves as the administrative core of the PIM-SM domain. A PIM-SM domain can have only one BSR, but can have multiple candidate-BSRs (C-BSRs). Once the BSR fails, a new BSR is automatically elected from the C-BSRs to avoid service interruption.
l An RP can serve multiple multicast groups or all multicast groups. Only one RP can serve a given multicast group at a time.
l A device can serve as a C-RP and a C-BSR at the same time.
As shown in Figure 1-4, each C-RP periodically unicasts its advertisement messages (C-RP-Adv messages) to the BSR. A C-RP-Adv message contains the address of the advertising C-RP and the multicast group range it serves. The BSR collects these advertisement messages and chooses the appropriate C-RP information for each multicast group to form an RP-set, which is a database of mappings between multicast groups and RPs. The BSR then encapsulates the RP-set in the bootstrap messages it periodically originates and floods the bootstrap messages to the entire PIM-SM domain.
Based on the information in the RP-sets, all routers in the network can calculate the location of the corresponding RPs based on the following rules:
1) The C-RP with the highest priority wins.
2) If all the C-RPs have the same priority, their hash values are calculated through the hashing algorithm. The C-RP with the largest hash value wins.
3) If all the C-RPs have the same priority and hash value, the C-RP with the highest IP address wins.
The hashing algorithm used for RP calculation is: Value (G, M, Ci) = (1103515245 * ( (1103515245 * (G & M) + 12345) XOR Ci) + 12345) mod 231. The table below gives the meanings of the values in this algorithm.
Table 1-1 Values in the hashing algorithm
Value |
Description |
Value |
Hash value |
G |
IP address of the multicast group |
M |
Hash mask length |
Ci |
IP address of the C-RP |
& |
Logical operator of “and” |
XOR |
Logical operator of “exclusive-or” |
Mod |
Modulo operator, which gives the remainder of an integer division |
RPT establishment
Figure 1-5 RPT establishment in a PIM-SM domain
As shown in Figure 1-5, the process of building an RPT is as follows:
1) When a receiver joins multicast group G, it uses an IGMP message to inform the directly connected DR.
2) Upon getting the receiver information, the DR sends a join message, which is hop by hop forwarded to the RP corresponding to the multicast group.
3) The routers along the path from the DR to the RP form an RPT branch. Each router on this branch generates a (*, G) entry in its forwarding table. The * means any multicast source. The RP is the root, while the DRs are the leaves, of the RPT.
The multicast data addressed to the multicast group G flows through the RP, reaches the corresponding DR along the established RPT, and finally is delivered to the receiver.
When a receiver is no longer interested in the multicast data addressed to multicast group G, the directly connected DR sends a prune message, which goes hop by hop along the RPT to the RP. Upon receiving the prune message, the upstream node deletes the interface connected with this downstream node from the outgoing interface list and checks whether it itself has receivers for that multicast group. If not, the router continues to forward the prune message to its upstream router.
Multicast source registration
The purpose of multicast source registration is to inform the RP about the existence of the multicast source.
Figure 1-6 Multicast source registration
As shown in Figure 1-6, the multicast source registers with the RP as follows:
1) When the multicast source S sends the first multicast packet to multicast group G, the DR directly connected with the multicast source, upon receiving the multicast packet, encapsulates the packet in a PIM register message, and sends the message to the corresponding RP by unicast.
2) When the RP receives the register message, it extracts the multicast packet from the register message and forwards the multicast packet down the RPT, and sends an (S, G) join message hop by hop toward the multicast source. Thus, the routers along the path from the RP to the multicast source constitute an SPT branch. Each router on this branch generates an (S, G) entry in its forwarding table. The DR at the multicast source side is the root, while the RP is the leaf, of the SPT.
3) The subsequent multicast data from the multicast source travels along the established SPT to the RP, and then the RP forwards the data along the RPT to the receivers. When the multicast traffic arrives at the RP along the SPT, the RP sends a register-stop message to the source-side DR by unicast to stop the source registration process.
The RP is configured to initiate an SPT switchover as described in this section. Otherwise, the DR at the multicast source side keeps encapsulating multicast data in register messages and the registration process will not stop unless no outgoing interfaces exist in the (S, G) entry on the RP.
Switchover to SPT
In a PIM-SM domain, a multicast group corresponds to one RP and RPT. Before the SPT switchover takes place, the DR at the multicast source side encapsulates all multicast data destined to the multicast group in register messages and sends these messages to the RP. Upon receiving these register messages, the RP abstracts the multicast data and sends the multicast data down the RPT to the DRs at the receiver side. The RP acts as a transfer station for all multicast packets. The whole process involves three issues:
l The DR at the source side and the RP need to implement complicated encapsulation and decapsulation of multicast packets.
l Multicast packets are delivered along a path that may not be the shortest one.
l When the multicast traffic increases, a great burden is added to the RP, increasing the risk of failure.
To solve the issues, PIM-SM allows an RP or the DR at the receiver side to initiate an SPT switchover process:
1) The RP initiates an SPT switchover process
Upon receiving the first multicast packet, the RP sends an (S, G) join message hop by hop toward the multicast source to establish an SPT between the DR at the source side and the RP. The subsequent multicast data from the multicast source travels along the established SPT to the RP.
For details about the SPT switchover initiated by the RP, refer to Multicast source registration.
2) The receiver-side DR initiates an SPT switchover process
Upon receiving the first multicast packet, the receiver-side DR initiates an SPT switchover process, as follows:
l First, the receiver-side DR sends an (S, G) join message hop by hop toward the multicast source. When the join message reaches the source-side DR, all the routers on the path have installed the (S, G) entry in their forwarding table, and thus an SPT branch is established.
l Upon receiving multicast packets traveling along the SPT, the receiver-side DR drops the multicast packets transmitted along the RPT and sends an RP-bit prune message hop by hop to the RP. Upon receiving this prune message, the RP sends a prune message toward the multicast source (suppose only one receiver exists), thus to implement the SPT switchover.
l Finally, multicast data is directly sent from the source to the receivers along the SPT.
PIM-SM builds SPTs through SPT switchover more economically than PIM-DM does through the “flood and prune” mechanism.
Assert
PIM-SM uses a similar assert mechanism as PIM-DM does. For details, refer to Assert.
Introduction to Administrative Scoping in PIM-SM
Division of PIM-SM domains
Typically, a PIM-SM domain contains only one BSR, which is responsible for advertising RP-set information within the entire PIM-SM domain. The information for all multicast groups is forwarded within the network scope administered by the BSR. We call this non-scoped BSR mechanism.
To implement refined management, a PIM-SM domain can be divided into one global scope zone and multiple administratively scoped zones (admin-scope zones). We call this administrative scoping mechanism.
The administrative scoping mechanism effectively releases stress on the management in a single-BSR domain and enables provision of zone-specific services using private group addresses.
Admin-scope zones are divided specific to multicast groups. The boundary of the admin-scope zone is formed by zone border routers (ZBRs). Each admin-scope zone maintains one BSR, which serves multicast groups within a specific range. Multicast protocol packets, such as assert messages and bootstrap messages, for a specific group range cannot cross the admin-scope zone boundary. Multicast group ranges served by different admin-scope zones can be overlapped. A multicast group is valid only within its local admin-scope zone, functioning as a private group address.
The global scope zone maintains a BSR, which serves the multicast groups that do not belong to any admin-scope zone.
Relationship between admin-scope zones and the global scope zone
The global scope zone and each admin-scope zone have their own C-RPs and BSRs. These devices are effective only in their respective admin-scope zones. Namely, BSR election and RP election are implemented independently within each admin-scope zone. Each admin-scope zone has its own boundary. The multicast information cannot cross this border in either direction. A better understanding of the global scope zone and admin-scope zones should be based on two aspects: geographical space and group address range.
Geographical space
Admin-scope zones are logical zones specific to particular multicast groups, and each admin-scope zone must be geographically independent of every other one, as shown in Figure 1-7.
Figure 1-7 Relationship between admin-scope zones and the global scope zone in geographic space
Admin-scope zones are geographically separated from one another. Namely, a router must not serve different admin-scope zones. In other words, different admin-scope zones contain different routers, whereas the global scope zone covers all routers in the PIM-SM domain.
In terms of multicast group address ranges
Each admin-scope zone serves specific multicast groups. Usually, these addresses have no intersections; however, they may overlap one another.
Figure 1-8 Relationship between admin-scope zones and the global scope zone in group address ranges
In Figure 1-8, the group address ranges of admin-scope 1 and 2 have no intersection, whereas the group address range of admin-scope 3 is a subset of the address range of admin-scope 1. The group address range of the global scope zone covers all the group addresses other than those of all the admin-scope zones. That is, the group address range of the global scope zone is G-G1-G2. In other words, there is a supplementary relationship between the global scope zone and all the admin-scope zones in terms of group address ranges.
SSM Model Implementation in PIM
The source-specific multicast (SSM) model and the any-source multicast (ASM) model are two opposite models. Presently, the ASM model includes the PIM-DM and PIM-SM modes. The SSM model can be implemented by leveraging part of the PIM-SM technique.
The SSM model provides a solution for source-specific multicast. It maintains the relationships between hosts and routers through IGMPv3.
In actual application, part of the PIM-SM technique is adopted to implement the SSM model. In the SSM model, receivers know exactly where a multicast source is located by means of advertisements, consultancy, and so on. Therefore, no RP is needed, no RPT is required, there is no source registration process, and there is no need of using the multicast source discovery protocol (MSDP) for discovering sources in other PIM domains.
Compared with the ASM model, the SSM model only needs the support of IGMPv3 and some subsets of PIM-SM. The operation mechanism of PIM-SSM can be summarized as follows:
l Neighbor discovery
l DR election
l SPT building
Neighbor discovery
PIM-SSM uses the same neighbor discovery mechanism as in PIM-DM and PIM-SM. Refer to Neighbor discovery.
DR election
PIM-SSM uses the same DR election mechanism as in PIM-SM. Refer to DR election.
Construction of SPT
Whether to build an RPT for PIM-SM or an SPT for PIM-SSM depends on whether the multicast group the receiver is to join falls in the SSM group range (SSM group range reserved by IANA is 232.0.0.0/8).
Figure 1-9 SPT establishment in PIM-SSM
As shown in Figure 1-9, Host B and Host C are multicast information receivers. They send IGMPv3 report messages to the respective DRs to express their interest in the information of the specific multicast source S.
Upon receiving a report message, the DR first checks whether the group address in this message falls in the SSM group range:
l If so, the DR sends a subscribe message for channel subscription hop by hop toward the multicast source S. An (S, G) entry is created on all routers on the path from the DR to the source. Thus, an SPT is built in the network, with the source S as its root and receivers as its leaves. This SPT is the transmission channel in PIM-SSM.
l If not, the PIM-SM process is followed: the DR needs to send a (*, G) join message to the RP, and a multicast source registration process is needed.
In PIM-SSM, the “channel” concept is used to refer to a multicast group, and the “channel subscription” concept is used to refer to a join message.
Protocols and Standards
PIM-related specifications are as follows:
l RFC 4601: Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification (Revised)
l RFC 3973: Protocol Independent Multicast-Dense Mode (PIM-DM): Protocol Specification(Revised)
l RFC 4607: Source-Specific Multicast for IP
l RFC 5059: Bootstrap Router (BSR) Mechanism for Protocol Independent Multicast (PIM)
l Draft-ietf-ssm-overview-05: An Overview of Source-Specific Multicast (SSM)
Configuring PIM-DM
PIM-DM Configuration Task List
Complete these tasks to configure PIM-DM:
Task |
Remarks |
Required |
|
Optional |
|
Optional |
|
Optional |
|
Optional |
Configuration Prerequisites
Before configuring PIM-DM, complete the following task:
l Configure any unicast routing protocol so that all devices in the domain are interoperable at the network layer.
Before configuring PIM-DM, prepare the following data:
l The interval between state-refresh messages
l Minimum time to wait before receiving a new refresh message
l TTL value of state-refresh messages
Enabling PIM-DM
With PIM-DM enabled, a router sends hello messages periodically to discover PIM neighbors and processes messages from the PIM neighbors. When deploying a PIM-DM domain, you are recommended to enable PIM-DM on all non-border interfaces of the routers.
Follow these steps to enable PIM-DM globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IP multicast routing |
multicast routing-enable |
Required Disable by default |
Enter interface view |
interface interface-type interface-number |
— |
Enable PIM-DM |
pim dm |
Required Disabled by default |
PIM-DM does not work with multicast groups in the SSM group grange.
For details about the multicast routing-enable command, see Multicast Routing and Forwarding Commands in the IP Multicast Volume.
Enabling State-Refresh Capability
A multi-access subnet can have the state-refresh capability only if the state-refresh capability is enabled on all PIM routers on the subnet.
Follow these steps to enable the state-refresh capability:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Enable state-refresh |
pim state-refresh-capable |
Optional Enabled by default |
Configuring State-Refresh Parameters
To avoid the resource-consuming reflooding of unwanted traffic caused by timeout of pruned interfaces, the router directly connected with the multicast source periodically sends an (S, G) state-refresh message, which is forwarded hop by hop along the initial multicast flooding path of the PIM-DM domain, to refresh the prune timer state of all the routers on the path.
A router may receive multiple state-refresh messages within a short time, of which some may be duplicated messages. To keep a router from receiving such duplicated messages, you can configure the time the router must wait before receiving the next state-refresh message. If a new state-refresh message is received within the waiting time, the router will discard it; if this timer times out, the router will accept a new state-refresh message, refresh its own PIM-DM state, and reset the waiting timer.
The TTL value of a state-refresh message decrements by 1 whenever it passes a router before it is forwarded to the downstream node until the TTL value comes down to 0. In a small network, a state-refresh message may cycle in the network. To effectively control the propagation scope of state-refresh messages, you need to configure an appropriate TTL value based on the network size.
It is recommended to perform the following configurations on all routers in the PIM domain.
Follow these steps to configure state-refresh parameters:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the interval between state-refresh messages |
state-refresh-interval interval |
Optional 60 seconds by default |
Configure the time to wait before receiving a new state-refresh message |
state-refresh-rate-limit interval |
Optional 30 seconds by default |
Configure the TTL value of state-refresh messages |
state-refresh-ttl ttl-value |
Optional 255 by default |
Configuring PIM-DM Graft Retry Period
In PIM-DM, graft is the only type of message that uses the acknowledgment mechanism. In a PIM-DM domain, if a router does not receive a graft-ack message from the upstream router within the specified time after it sends a graft message, the router keeps sending new graft messages at a configurable interval, namely graft retry period, until it receives a graft-ack from the upstream router.
Follow these steps to configure graft retry period:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Configure graft retry period |
pim timer graft-retry interval |
Optional 3 seconds by default |
For the configuration of other timers in PIM-DM, refer to Configuring PIM Common Timers.
Configuring PIM-SM
PIM-SM Configuration Task List
Complete these tasks to configure PIM-SM:
Task |
Remarks |
|
Required |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Configuring C-BSRs for each admin-scope zone and the global-scope zone |
Optional |
|
Optional |
||
Optional |
||
Optional |
Configuration Prerequisites
Before configuring PIM-SM, complete the following task:
l Configure any unicast routing protocol so that all devices in the domain are interoperable at the network layer.
Before configuring PIM-SM, prepare the following data:
l The IP address of a static RP and an ACL rule defining the range of multicast groups to be served by the static RP
l C-RP priority and an ACL rule defining the range of multicast groups to be served by each C-RP
l A legal C-RP address range and an ACL rule defining the range of multicast groups to be served
l C-RP-Adv interval
l C-RP timeout
l C-BSR priority
l Hash mask length
l An ACL rule defining a legal BSR address range
l BS period
l BS timeout
l An ACL rule for register message filtering
l Register suppression time
l Register probe time
l The ACL rule, and sequencing rule for an disabling SPT switchover
Enabling PIM-SM
With PIM-SM enabled, a router sends hello messages periodically to discover PIM neighbors and processes messages from the PIM neighbors. When deploying a PIM-SM domain, you are recommended to enable PIM-SM on all non-border interfaces of the routers.
Follow these steps to enable PIM-SM:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IP multicast routing |
multicast routing-enable |
Required Disable by default |
Enter interface view |
interface interface-type interface-number |
— |
Enable PIM-SM |
pim sm |
Required Disabled by default |
For details about the multicast routing-enable command, see Multicast Routing and Forwarding Commands in the IP Multicast Volume.
Configuring an RP
An RP can be manually configured or dynamically elected through the BSR mechanism. For a large PIM network, static RP configuration is a tedious job. Generally, static RP configuration is just a backup means for the dynamic RP election mechanism to enhance the robustness and operation manageability of a multicast network.
Configuring a static RP
If there is only one dynamic RP in a network, manually configuring a static RP can avoid communication interruption due to single-point failures and avoid frequent message exchange between C-RPs and the BSR.
Perform this configuration on all the routers in the PIM-SM domain.
Follow these steps to configure a static RP:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure a static RP |
static-rp rp-address [ acl-number ] [ preferred ] |
Required No static RP by default |
To enable a static RP to work normally, you must perform this configuration on all the routers in the PIM-SM domain and specify the same RP address.
Configuring a C-RP
In a PIM-SM domain, you can configure routers that intend to become the RP as C-RPs. The BSR collects the C-RP information by receiving the C-RP-Adv messages from C-RPs or auto-RP announcements from other routers and organizes the information into an RP-set, which is flooded throughout the entire network. Then, the other routers in the network calculate the mappings between specific group ranges and the corresponding RPs based on the RP-set. We recommend that you configure C-RPs on backbone routers.
To guard against C-RP spoofing, you need to configure a legal C-RP address range and the range of multicast groups to be served on the BSR. In addition, because every C-BSR has a chance to become the BSR, you need to configure the same filtering policy on all C-BSRs in the PIM-SM domain.
Follow these steps to configure a C-RP:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure an interface to be a C-RP |
c-rp interface-type interface-number [ group-policy acl-number | priority priority | holdtime hold-interval | advertisement-interval adv-interval ] * |
Required No C-RPs are configured by default. |
Configure a legal C-RP address range and the range of multicast groups to be served |
crp-policy acl-number |
Optional No restrictions by default |
l When configuring a C-RP, ensure a relatively large bandwidth between this C-RP and the other devices in the PIM-SM domain.
l An RP can serve multiple multicast groups or all multicast groups. Only one RP can forward multicast traffic for a multicast group at a moment.
Enabling auto-RP
Auto-RP announcement and discovery messages are addressed to the multicast group addresses 224.0.1.39 and 224.0.1.40 respectively. With auto-RP enabled on a device, the device can receive these two types of messages and record the RP information carried in such messages.
Follow these steps to enable auto-RP:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Enable auto-RP |
auto-rp enable |
Required Disabled by default |
Configuring C-RP timers globally
To enable the BSR to distribute the RP-set information within the PIM-SM domain, C-RPs must periodically send C-RP-Adv messages to the BSR. The BSR learns the RP-set information from the received messages, and encapsulates its own IP address together with the RP-set information in its bootstrap messages. The BSR then floods the bootstrap messages to all PIM routers (224.0.0.13) in the network.
Each C-RP encapsulates a timeout value in its C-RP-Adv messages. Upon receiving a C_RP-Adv message, the BSR obtains this timeout value and starts a C-RP timeout timer. If the BSR fails to hear a subsequent C-RP-Adv message from the C-RP within the timeout interval, the BSR assumes the C-RP to have expired or become unreachable.
The C-RP timers need to be configured on C-RP routers.
Follow these steps to configure C-RP timers globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the C-RP-Adv interval |
c-rp advertisement-interval interval |
Optional 60 seconds by default |
Configure C-RP timeout time |
c-rp holdtime interval |
Optional 150 seconds by default |
For the configuration of other timers in PIM-SM, refer to Configuring PIM Common Timers.
Configuring a BSR
Configuring a C-BSR
C-BSRs should be configured on routers in the backbone network. When configuring a router as a C-BSR, be sure to specify a PIM-SM-enabled interface on the router. The BSR election process is summarized as follows:
l Initially, every C-BSR assumes itself to be the BSR of this PIM-SM domain, and uses its interface IP address as the BSR address to send bootstrap messages.
l When a C-BSR receives the bootstrap message of another C-BSR, it first compares its own priority with the other C-BSR’s priority carried in message. The C-BSR with a higher priority wins. If there is a tie in the priority, the C-BSR with a higher IP address wins. The loser uses the winner’s BSR address to replace its own BSR address and no longer assumes itself to be the BSR, while the winner retains its own BSR address and continues assuming itself to be the BSR.
Configuring a legal range of BSR addresses enables filtering of bootstrap messages based on the address range, thus to prevent a maliciously configured host from masquerading as a BSR. The same configuration needs to be made on all routers in the PIM-SM domain. The following are typical BSR spoofing cases and the corresponding preventive measures:
1) Some maliciously configured hosts can forge bootstrap messages to fool routers and change RP mappings. Such attacks often occur on border routers. Because a BSR is inside the network whereas hosts are outside the network, you can protect a BSR against attacks from external hosts by enabling the border routers to perform neighbor checks and RPF checks on bootstrap messages and discard unwanted messages.
2) When a router in the network is controlled by an attacker or when an illegal router is present in the network, the attacker can configure this router as a C-BSR and make it win BSR election to control the right of advertising RP information in the network. After being configured as a C-BSR, a router automatically floods the network with bootstrap messages. As a bootstrap message has a TTL value of 1, the whole network will not be affected as long as the neighbor router discards these bootstrap messages. Therefore, with a legal BSR address range configured on all routers in the entire network, all these routers will discard bootstrap messages from out of the legal address range.
The above-mentioned preventive measures can partially protect the security of BSRs in a network. However, if a legal BSR is controlled by an attacker, the above-mentioned problem will still occur.
Follow these steps to configure a C-BSR:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure an interface as a C-BSR |
c-bsr interface-type interface-number [ hash-length [ priority ] ] |
Required No C-BSRs are configured by default. |
Configure a legal BSR address range |
bsr-policy acl-number |
Optional No restrictions on BSR address range by default |
l Since a large amount of information needs to be exchanged between a BSR and the other devices in the PIM-SM domain, a relatively large bandwidth should be provided between the C-BSRs and the other devices in the PIM-SM domain.
l For C-BSRs interconnected via a Generic Routing Encapsulation (GRE) tunnel, multicast static routes need to be configured to ensure that the next hop to a C-BSR is a GRE interface. For more information about multicast static routes, refer to Multicast Routing and Forwarding Configuration in the IP Multicast Volume.
Configuring a PIM domain border
As the administrative core of a PIM-SM domain, the BSR sends the collected RP-Set information in the form of bootstrap messages to all routers in the PIM-SM domain.
A PIM domain border is a bootstrap message boundary. Each BSR has its specific service scope. A number of PIM domain border interfaces partition a network into different PIM-SM domains. Bootstrap messages cannot cross a domain border in either direction
Perform the following configuration on routers that can become a PIM domain border.
Follow these steps to configure a PIM domain border:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Configure a PIM domain border |
pim bsr-boundary |
Required By default, no PIM domain border is configured. |
Configuring global C-BSR parameters
In each PIM-SM domain, a unique BSR is elected from C-BSRs. The C-RPs in the PIM-SM domain send advertisement messages to the BSR. The BSR summarizes the advertisement messages to form an RP-set and advertises it to all routers in the PIM-SM domain. All the routers use the same Hash algorithm to get the RP address corresponding to specific multicast groups.
Perform the following configuration on C-BSR routers.
Follow these steps to configure C-BSR parameters:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the Hash mask length |
c-bsr hash-length hash-length |
Optional 30 by default |
Configure the C-BSR priority |
c-bsr priority priority |
Optional By default, the C-BSR priority is 0. |
About the Hash mask length and C-BSR priority:
l You can configure these parameters at three levels: global configuration level, global scope zone level, and admin-scope zone level.
l The value of these parameters configured at the global scope zone level or admin-scope zone level have preference over the global values.
l If you do not configure these parameters at the global scope zone level or admin-scope zone level, the corresponding global values will be used.
For configuration of C-BSR parameters for an admin-scope zone and global scope zone, see Configuring C-BSRs for each admin-scope zone and the global-scope zone.
Configuring C-BSR timers
The BSR election winner multicasts its own IP address and RP-Set information through bootstrap messages within the entire zone it serves. The BSR floods bootstrap messages throughout the network at the interval of BS (BSR state) period. Any C-BSR that receives a bootstrap message retains the RP-set for the length of BS timeout, during which no BSR election takes place. If the BSR state times out and no bootstrap message is received from the BSR, a new BSR election process is triggered among the C-BSRs.
Perform the following configuration on C-BSR routers.
Follow these steps to configure C-BSR timers:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the BS period |
c-bsr interval interval |
Optional For the default value, see the note below. |
Configure the BS timeout |
c-bsr holdtime interval |
Optional For the default value, see the note below. |
About the BS period:
l By default, the BS period is determined by this formula: BS period = (BS timeout – 10) / 2. The default BS timeout is 130 seconds, so the default BS period = (130 – 10) / 2 = 60 (seconds).
l If this parameter is manually configured, the system will use the configured value.
About the BS timeout:
l By default, the BS timeout value is determined by this formula: BS timeout = BS period × 2 + 10. The default BS period is 60 seconds, so the default BS timeout = 60 × 2 + 10 = 130 (seconds).
l If this parameter is manually configured, the system will use the configured value.
In configuration, make sure that the BS period value is smaller than the BS timeout value.
Configuring Administrative Scoping
Enabling administrative scoping
Before configuring an admin-scope zone, you must enable administrative scoping first.
Perform the following configuration on all routers in the PIM-SM domain.
Follow these steps to enable administrative scoping:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Enable administrative scoping |
c-bsr admin-scope |
Required Disabled by default |
Configuring an admin-scope zone boundary
The boundary of each admin-scope zone is formed by ZBRs. Each admin-scope zone maintains a BSR, which serves a specific multicast group range. Multicast protocol packets (such as assert messages and bootstrap messages) that belong to this range cannot cross the admin-scope zone boundary.
Perform the following configuration on routers that can become a ZBR.
Follow these steps to configure an admin-scope zone boundary:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Configure a multicast forwarding boundary |
multicast boundary group-address { mask | mask-length } |
Required By default, no multicast forwarding boundary is configured. |
For details about the multicast boundary command, see Multicast Routing and Forwarding Commands in the IP Multicast Volume.
Configuring C-BSRs for each admin-scope zone and the global-scope zone
In a network with administrative scoping enabled, group-range-specific BSRs are elected from C-BSRs. C-RPs in the network send advertisement messages to the specific BSR. The BSR summarizes the advertisement messages to form an RP-set and advertises it to all routers in the specific admin-scope zone. All the routers use the same Hash algorithm to get the RP address corresponding to the specific multicast group.
Configure C-BSRs for each admin-scope zone and the global-scope zone.
1) Configure C-BSRs for each admin-scope zone
Perform the following configuration on the routers that will work as C-BSRs in admin-scope zones.
Follow these steps to configure a C-BSR for an admin-scope zone:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure a C-BSR for an admin-scope zone |
c-bsr group group-address { mask | mask-length } [ hash-length hash-length | priority priority ] * |
Required No C-BSRs are configured for an admin-scope zone by default. |
2) Configure C-BSRs for the global-scope zone
Perform the following configuration on the routers that will work as C-BSRs in the global-scope zone.
Follow these steps to configure a C-BSR for the global-scope zone:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure a C-BSR for the global-scope zone |
c-bsr global [ hash-length hash-length | priority priority ] * |
Required No C-BSRs are configured for the global-scope zone by default. |
About the Hash mask length and C-BSR priority:
l You can configure these parameters at three levels: global configuration level, global scope zone level, and admin-scope zone level.
l The value of these parameters configured at the global scope zone level or admin-scope zone level have preference over the global values.
l If you do not configure these parameters at the global scope zone level or admin-scope zone level, the corresponding global values will be used.
For configuration of global C-BSR parameters, see Configuring global C-BSR parameters.
Configuring Multicast Source Registration
In view of information integrity of register messages in the transmission process, you can configure the device to calculate the checksum based on the entire register messages. However, to reduce the workload of encapsulating data in register messages and for the sake of interoperability, this method of checksum calculation is not recommended.
When receivers stop receiving multicast data addressed to a certain multicast group through the RP (that is, the RP stops serving the receivers of that multicast group), or when the RP formally starts receiving multicast data from the multicast source, the RP sends a register-stop message to the source-side DR. Upon receiving this message, the DR stops sending register messages encapsulated with multicast data and starts a register-stop timer. When the register-stop timer expires, the DR sends a null register message (a register message without encapsulated multicast data) to the RP. If the DR receives a register-stop message during the register probe time, it will reset its register-stop timer; otherwise, the DR starts sending register messages with encapsulated data again when the register-stop timer expires.
The register-stop timer is set to a random value chosen uniformly from the interval (0.5 times register_suppression_time, 1.5 times register_suppression_time) minus register_probe_time.
Configure a filtering rule for register messages on all C-RP routers and configure them to calculate the checksum based on the entire register messages. Configure the register suppression time and the register probe time on all routers that may become source-side DRs.
Follow these steps to configure register-related parameters:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure a filtering rule for register messages |
register-policy acl-number |
Optional No register filtering rule by default |
Configure the device to calculate the checksum based on the entire register messages |
register-whole-checksum |
Optional By default, the checksum is calculated based on the header of register messages |
Configure the register suppression time |
register-suppression-timeout interval |
Optional 60 seconds by default |
Configure the register probe time |
probe-interval interval |
Optional 5 seconds by default |
Disabling SPT Switchover
If an S3610/S5510 series routing switch acts as an RP or the receiver-side DR, it initiates an STP switchover process (by default) upon receiving the first multicast packet along the RPT. You can disable the switchover from RPT to SPT.
Follow these steps to disable SPT switchover:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Apply the ACL for disabling an SPT switchover |
spt-switch-threshold infinity [ group-policy acl-number [ order order-value] ] |
Optional By default, the device switches to the SPT immediately after it receives the first multicast packet. |
Configuring PIM-SSM
The PIM-SSM model needs the support of IGMPv3. Therefore, be sure to enable IGMPv3 on PIM routers with multicast receivers.
PIM-SSM Configuration Task List
Complete these tasks to configure PIM-SSM:
Task |
Remarks |
Required |
|
Optional |
|
Optional |
Configuration Prerequisites
Before configuring PIM-SSM, complete the following task:
l Configure any unicast routing protocol so that all devices in the domain are interoperable at the network layer.
Before configuring PIM-SSM, prepare the following data:
Enabling PIM-SM
The SSM model is implemented based on some subsets of PIM-SM. Therefore, a router is PIM-SSM capable after you enable PIM-SM on it.
When deploying a PIM-SM domain, you are recommended to enable PIM-SM on non-border interfaces of the routers.
Follow these steps to enable PIM-SM globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IP multicast routing |
multicast routing-enable |
Required Disable by default |
Enter interface view |
interface interface-type interface-number |
— |
Enable PIM-SM |
pim sm |
Required Disabled by default |
For details about the multicast routing-enable command, see Multicast Routing and Forwarding Commands in the IP Multicast Volume.
Configuring the SSM Group Range
As for whether the information from a multicast source is delivered to the receivers based on the PIM-SSM model or the PIM-SM model, this depends on whether the group address in the (S, G) channel subscribed by the receivers falls in the SSM group range. All PIM-SM-enabled interfaces assume that multicast groups within this address range are using the PIM-SSM model.
Perform the following configuration on all routers in the PIM-SM domain.
Follow these steps to configure an SSM multicast group range:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the SSM group range |
ssm-policy acl-number |
Optional 232.0.0.0/8 by default |
l Make sure that the same SSM group range is configured on all routers in the entire domain. Otherwise, multicast information cannot be delivered through the SSM model.
l When a member of a multicast group in the SSM group range sends an IGMPv1 or IGMPv2 report message, the device does not trigger a (*, G) join.
Configuring PIM Common Features
For the functions or parameters that can be configured in both PIM view and interface view described in this section:
l Configurations performed in PIM view are effective to all interfaces, while configurations performed in interface view are effective to the current interface only.
l If the same function or parameter is configured in both PIM view and interface view, the configuration made in interface view has preference over the configuration made in PIM view, regardless of the configuration sequence.
PIM Common Feature Configuration Task List
Complete these tasks to configure PIM common features:
Task |
Remarks |
Optional |
|
Optional |
|
Optional |
|
Optional |
Configuration Prerequisites
Before configuring PIM common features, complete the following tasks:
l Configure any unicast routing protocol so that all devices in the domain are interoperable at the network layer.
l Configure PIM-DM, or PIM-SM, or PIM-SSM.
Before configuring PIM common features, prepare the following data:
l An ACL rule for filtering multicast data
l An ACL rule defining a legal source address range for hello messages
l Priority for DR election (global value/interface level value)
l PIM neighbor timeout time (global value/interface value)
l Prune delay (global value/interface level value)
l Prune override interval (global value/interface level value)
l Hello interval (global value/interface level value)
l Maximum delay between hello message (interface level value)
l Assert timeout time (global value/interface value)
l Join/prune interval (global value/interface level value)
l Join/prune timeout (global value/interface value)
l Multicast source lifetime
l Maximum size of join/prune messages
l Maximum number of (S, G) entries in a join/prune message
Configuring a Multicast Data Filter
No matter in a PIM-DM domain or a PIM-SM domain, routers can check passing-by multicast data based on the configured filtering rules and determine whether to continue forwarding the multicast data. In other words, PIM routers can act as multicast data filters. These filters can help implement traffic control on one hand, and control the information available to receivers downstream to enhance data security on the other hand.
Follow these steps to configure a multicast data filter:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure a multicast group filter |
source-policy acl-number |
Required No multicast data filter by default |
l Generally, a smaller distance from the filter to the multicast source results in a more remarkable filtering effect.
l This filter works not only on independent multicast data but also on multicast data encapsulated in register messages.
Configuring PIM Hello Options
No matter in a PIM-DM domain or a PIM-SM domain, the hello messages sent among routers contain many configurable options, including:
l DR_Priority (for PIM-SM only): priority for DR election. The device with the highest priority wins the DR election. You can configure this parameter on all the routers in a multi-access network directly connected to multicast sources or receivers.
l Holdtime: the timeout time of PIM neighbor reachability state. When this timer times out, if the router has received no hello message from a neighbor, it assumes that this neighbor has expired or become unreachable.
l LAN_Prune_Delay: the delay of prune messages on a multi-access network. This option consists of LAN-delay (namely, prune delay), override-interval, and neighbor tracking flag. If the LAN-delay or override-interval values of different PIM routers on a multi-access subnet are different, the largest value will take effect. If you want to enable neighbor tracking, the neighbor tracking feature should be enabled on all PIM routers on a multi-access subnet.
The LAN-delay setting will cause the upstream routers to delay processing received prune messages. If the LAN-delay setting is too small, it may cause the upstream router to stop forwarding multicast packets before a downstream router sends a prune override message. Therefore, be cautious when configuring this parameter.
The override-interval sets the length of time a downstream router is allowed to wait before sending a prune override message. When a router receives a prune message from a downstream router, it does not perform the prune action immediately; instead, it maintains the current forwarding state for a period of LAN-delay plus override-interval. If the downstream router needs to continue receiving multicast data, it must send a prune override message within the prune override interval; otherwise, the upstream route will perform the prune action when the period of LAN-delay plus override-interval time out.
A hello message sent from a PIM router contains a generation ID option. The generation ID is a random value for the interface on which the hello message is sent. Normally, the generation ID of a PIM router does not change unless the status of the router changes (for example, when PIM is just enabled on the interface or the device is restarted). When the router starts or restarts sending hello messages, it generates a new generation ID. If a PIM router finds that the generation ID in a hello message from the upstream router has changed, it assumes that the status of the upstream neighbor is lost or the upstream neighbor has changed. In this case, it triggers a join message for state update.
If you disable join suppression (namely, enable neighbor tracking), the join suppression feature should be disabled on all PIM routers on a multi-access subnet; otherwise, the upstream router will fail to explicitly track which downstream routers are joined to it.
Configuring hello options globally
Follow these steps to configure hello options globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the priority for DR election |
hello-option dr-priority priority |
Optional 1 by default |
Configure PIM neighbor timeout time |
hello-option holdtime interval |
Optional 105 seconds by default |
Configure the prune delay time (LAN-delay) |
hello-option lan-delay interval |
Optional 500 milliseconds by default |
Configure the prune override interval |
hello-option override-interval interval |
Optional 2,500 milliseconds by default |
Disable join suppression |
hello-option neighbor-tracking |
Required Enabled by default |
Configuring hello options on an interface
Follow these steps to configure hello options on an interface:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Configure the priority for DR election |
pim hello-option dr-priority priority |
Optional 1 by default |
Configure PIM neighbor timeout time |
pim hello-option holdtime interval |
Optional 105 seconds by default |
Configure the prune delay time (LAN-delay) |
pim hello-option lan-delay interval |
Optional 500 milliseconds by default |
Configure the prune override interval |
pim hello-option override-interval interval |
Optional 2,500 milliseconds by default |
Disable join suppression |
pim hello-option neighbor-tracking |
Required Enabled by default |
Configure the interface to reject hello messages without a generation ID |
pim require-genid |
Required By default, hello messages without Generation_ID are accepted |
Configuring PIM Common Timers
Upon receiving a hello message, a PIM router waits a random period, which is smaller than the maximum delay between hello messages, before sending out a hello message. This avoids collisions that occur when multiple PIM routers send hello messages simultaneously.
A PIM router periodically sends join/prune messages to its upstream for state update. A join/prune message contains the join/prune timeout time. The upstream router sets a join/prune timeout timer for each pruned downstream interface.
Any router that has lost assert election will prune its downstream interface and maintain the assert state for a period of time. When the assert state times out, the assert losers will resume multicast forwarding.
When a router fails to receive subsequent multicast data from multicast source S, the router does not immediately delete the corresponding (S, G) entry; instead, it maintains the (S, G) entry for a period of time, namely the multicast source lifetime, before deleting the (S, G) entry.
Configuring PIM common timers globally
Follow these steps to configure PIM common timers globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the hello interval |
timer hello interval |
Optional 30 seconds by default |
Configure the join/prune interval |
timer join-prune interval |
Optional 60 seconds by default |
Configure the join/prune timeout time |
holdtime join-prune interval |
Optional 210 seconds by default |
Configure assert timeout time |
holdtime assert interval |
Optional 180 seconds by default |
Configure the multicast source lifetime |
source-lifetime interval |
Optional 210 seconds by default |
Configuring PIM common timers on an interface
Follow these steps to configure PIM common timers on an interface:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Configure the hello interval |
pim timer hello interval |
Optional 30 seconds by default |
Configure the maximum delay between hello messages |
pim triggered-hello-delay interval |
Optional 5 seconds by default |
Configure the join/prune interval |
pim timer join-prune interval |
Optional 60 seconds by default |
Configure the join/prune timeout time |
pim holdtime join-prune interval |
Optional 210 seconds by default |
Configure assert timeout time |
pim holdtime assert interval |
Optional 180 seconds by default |
If there are no special networking requirements, we recommend that you use the default settings.
Configuring Join/Prune Message Sizes
A larger join/prune message size will result in loss of a larger amount of information when a message is lost; with a reduced join/message size, the loss of a single message will bring relatively minor impact.
By controlling the maximum number of (S, G) entries in a join/prune message, you can effectively reduce the number of (S, G) entries sent per unit of time.
Follow these steps to configure join/prune message sizes:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter PIM view |
pim |
— |
Configure the maximum size of a join/prune message |
jp-pkt-size packet-size |
Optional 8,100 bytes by default |
Configure the maximum number of (S, G) entries in a join/prune message |
jp-queue-size queue-size |
Optional 1,020 by default |
Displaying and Maintaining PIM
To do... |
Use the command... |
Remarks |
View the BSR information in the PIM-SM domain and locally configured C-RP information in effect |
display pim bsr-info |
Available in any view |
View the information of unicast routes used by PIM |
display pim claimed-route [ source-address ] |
Available in any view |
View the number of PIM control messages |
display pim control-message counters [ message-type { probe | register | register-stop } | [ interface interface-type interface-number | message-type { assert | bsr | crp | graft | graft-ack | hello | join-prune | state-refresh } ] * ] |
Available in any view |
View the information about unacknowledged graft messages |
display pim grafts |
Available in any view |
View the PIM information on an interface or all interfaces |
display pim interface [ interface-type interface-number ] [ verbose ] |
Available in any view |
View the information of join/prune messages to send |
display pim join-prune mode { sm [ flags flag-value ] | ssm } [ interface interface-type interface-number | neighbor neighbor-address ] * [ verbose ] |
Available in any view |
View PIM neighboring information |
display pim neighbor [ interface interface-type interface-number | neighbor-address | verbose ] * |
Available in any view |
View the content of the PIM routing table |
display pim routing-table [ group-address [ mask { mask-length | mask } ] | source-address [ mask { mask-length | mask } ] | incoming-interface [ interface-type interface-number | register ] | outgoing-interface { include | exclude | match } { interface-type interface-number | register } | mode mode-type | flags flag-value | fsm ] * |
Available in any view |
View the RP information |
display pim rp-info [ group-address ] |
Available in any view |
Reset PIM control message counters |
reset pim control-message counters [ interface interface-type interface-number ] |
Available in user view |
PIM Configuration Examples
PIM-DM Configuration Example
Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form stub networks, and one or more receiver hosts exist in each stub network. The entire PIM domain operates in the dense mode.
l Host A and Host C are multicast receivers in two stub networks.
l Switch D connects to the network that comprises the multicast source (Source) through VLAN-interface 300.
l Switch A connects to stub network N1 through VLAN-interface 100, and to Switch D through VLAN-interface 103.
l Switch B and Switch C connect to stub network N2 through their respective VLAN-interface 200, and to Switch D through VLAN-interface 101 and VLAN-interface 102 respectively.
l IGMPv2 is to run between Switch A and N1, and between Switch B/Switch C and N2.
Network diagram
Figure 1-10 Network diagram for PIM-DM configuration
Device |
Interface |
IP address |
Device |
Interface |
IP address |
Switch A |
Vlan-int100 |
10.110.1.1/24 |
Switch D |
Vlan-int300 |
10.110.5.1/24 |
|
Vlan-int103 |
192.168.1.1/24 |
|
Vlan-int103 |
192.168.1.2/24 |
Switch B |
Vlan-int200 |
10.110.2.1/24 |
|
Vlan-int101 |
192.168.2.2/24 |
|
Vlan-int101 |
192.168.2.1/24 |
|
Vlan-int102 |
192.168.3.2/24 |
Switch C |
Vlan-int200 |
10.110.2.2/24 |
|
|
|
|
Vlan-int102 |
192.168.3.1/24 |
|
|
|
Configuration procedure
1) Configure IP addresses and unicast routing
Configure the IP address and subnet mask for each interface as per Figure 1-10. Detailed configuration steps are omitted here.
Configure the OSPF protocol for interoperation among the switches in the PIM-DM domain. Ensure the network-layer interoperation in the PIM-DM domain and enable dynamic update of routing information among the switches through a unicast routing protocol. Detailed configuration steps are omitted here.
2) Enable IP multicast routing, and enable PIM-DM and IGMP
# Enable IP multicast routing on Switch A, enable PIM-DM on each interface, and enable IGMP on VLAN-interface 100, which connects Switch A to the stub network.
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 103
[SwitchA-Vlan-interface103] pim dm
[SwitchA-Vlan-interface103] quit
The configuration on Switch B and Switch C is similar to that on Switch A.
# Enable IP multicast routing on Switch D, and enable PIM-DM on each interface.
<SwitchD> system-view
[SwitchD] multicast routing-enable
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] pim dm
[SwitchD-Vlan-interface300] quit
[SwitchD] interface vlan-interface 103
[SwitchD-Vlan-interface103] pim dm
[SwitchD-Vlan-interface103] quit
[SwitchD] interface vlan-interface 101
[SwitchD-Vlan-interface101] pim dm
[SwitchD-Vlan-interface101] quit
[SwitchD] interface vlan-interface 102
[SwitchD-Vlan-interface102] pim dm
[SwitchD-Vlan-interface102] quit
3) Verify the configuration
Use the display pim interface command to view the PIM configuration and running status on each interface. For example:
# View the PIM configuration information on Switch D.
[SwitchD] display pim interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan300 0 30 1 10.110.5.1 (local)
Vlan103 1 30 1 192.168.1.2 (local)
Vlan101 1 30 1 192.168.2.2 (local)
Vlan102 1 30 1 192.168.3.2 (local)
Carry out the display pim neighbor command to view the PIM neighboring relationships among the switches. For example:
# View the PIM neighboring relationships on Switch D.
[SwitchD] display pim neighbor
Total Number of Neighbors = 3
Neighbor Interface Uptime Expires Dr-Priority
192.168.1.1 Vlan103 00:02:22 00:01:27 1
192.168.2.1 Vlan101 00:00:22 00:01:29 3
192.168.3.1 Vlan102 00:00:23 00:01:31 5
Assume that Host A needs to receive the information addressed to multicast group G (225.1.1.1). After multicast source S (10.110.5.100/24) sends multicast packets to the multicast group G, an SPT is established through traffic flooding. Switches on the SPT path (Switch A and Switch D) have their (S, G) entries. Host A sends an IGMP report to Switch A to join the multicast group G, and a (*, G) entry is generated on Switch A. You can use the display pim routing-table command to view the PIM routing table information on each switch. For example:
# View the PIM routing table information on Switch A.
[SwitchA] display pim routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, 225.1.1.1)
Protocol: pim-dm, Flag: WC
UpTime: 00:04:25
Upstream interface: NULL
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: igmp, UpTime: 00:04:25, Expires: never
(10.110.5.100, 225.1.1.1)
Protocol: pim-dm, Flag: ACT
UpTime: 00:06:14
Upstream interface: Vlan-interface103,
Upstream neighbor: 192.168.1.2
RPF prime neighbor: 192.168.1.2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: pim-dm, UpTime: 00:04:25, Expires: never
The information on Switch B and Switch C is similar to that on Switch A.
# View the PIM routing table information on Switch D.
[SwitchD] display pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.5.100, 225.1.1.1)
Protocol: pim-dm, Flag: LOC ACT
UpTime: 00:03:27
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 3
1: Vlan-interface103
Protocol: pim-dm, UpTime: 00:03:27, Expires: never
2: Vlan-interface101
Protocol: pim-dm, UpTime: 00:03:27, Expires: never
3: Vlan-interface102
Protocol: pim-dm, UpTime: 00:03:27, Expires: never
PIM-SM Non-Scoped Zone Configuration Example
Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form stub networks, and one or more receiver hosts exist in each stub network. The entire PIM-SM domain contains only one BSR.
l Host A and Host C are multicast receivers in two stub networks.
l Switch D connects to the network that comprises the multicast source (Source) through VLAN-interface 300.
l Switch A connects to stub network N1 through VLAN-interface 100, and to Switch D and Switch E through VLAN-interface 101 and VLAN-interface 102 respectively.
l Switch B and Switch C connect to stub network N2 through their respective VLAN-interface 200, and to Switch E through VLAN-interface 103 and VLAN-interface 104 respectively.
l Vlan-interface 105 on Switch D and Vlan-interface 102 on Switch E act as C-BSRs and C-RPs; the C-BSR on Switch E has a higher priority; the multicast group range served by the C-RP is 225.1.1.0/24; modify the hash mask length to map a certain number of consecutive group addresses within the range to the two C-RPs.
l IGMPv2 is to run between Switch A and N1, and between Switch B/Switch C and N2.
Network diagram
Figure 1-11 Network diagram for PIM-SM non- scoped zone configuration
Device |
Interface |
IP address |
Device |
Interface |
IP address |
Switch A |
Vlan-int100 |
10.110.1.1/24 |
Switch D |
Vlan-int300 |
10.110.5.1/24 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Vlan-int101 |
192.168.1.2/24 |
|
Vlan-int102 |
192.168.9.1/24 |
|
Vlan-int105 |
192.168.4.2/24 |
Switch B |
Vlan-int200 |
10.110.2.1/24 |
Switch E |
Vlan-int104 |
192.168.3.2/24 |
|
Vlan-int103 |
192.168.2.1/24 |
|
Vlan-int103 |
192.168.2.2/24 |
Switch C |
Vlan-int200 |
10.110.2.2/24 |
|
Vlan-int102 |
192.168.9.2/24 |
|
Vlan-int104 |
192.168.3.1/24 |
|
Vlan-int105 |
192.168.4.1/24 |
Configuration procedure
1) Configure IP addresses and unicast routing
Configure the IP address and subnet mask for each interface as per Figure 1-11. Detailed configuration steps are omitted here.
Configure the OSPF protocol for interoperation among the switches in the PIM-SM domain. Ensure the network-layer interoperation in the PIM-SM domain and enable dynamic update of routing information among the switches through a unicast routing protocol. Detailed configuration steps are omitted here.
2) Enable IP multicast routing, and enable PIM-SM and IGMP
# Enable IP multicast routing on Switch A, enable PIM-SM on each interface, and enable IGMP on VLAN-interface 100, which connects Switch A to the stub network.
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim sm
[SwitchA-Vlan-interface102] quit
The configuration on Switch B and Switch C is similar to that on Switch A. The configuration on Switch D and Switch E is also similar to that on Switch A except that it is not necessary to enable IGMP on the corresponding interfaces on these two switches.
3) Configure a C-BSR and a C-RP
# On Switch D, configure the service scope of RP, specify a C-BSR and a C-RP, and set the hash mask length to 32 and the priority of the C-BSR to 10.
<SwitchD> system-view
[SwitchD] acl number 2005
[SwitchD-acl-basic-2005] rule permit source 225.1.1.0 0.0.0.255
[SwitchD-acl-basic-2005] quit
[SwitchD] pim
[SwitchD-pim] c-bsr vlan-interface 105 32 10
[SwitchD-pim] c-rp vlan-interface 105 group-policy 2005
[SwitchD-pim] quit
# On Switch E, configure the service scope of RP advertisements, specify a C-BSR and a C-RP; and set the hash mask length to 32 and the priority of the C-BSR to 20.
<SwitchE> system-view
[SwitchE] acl number 2005
[SwitchE-acl-basic-2005] rule permit source 225.1.1.0 0.0.0.255
[SwitchE-acl-basic-2005] quit
[SwitchE] pim
[SwitchE-pim] c-bsr vlan-interface 102 32 20
[SwitchE-pim] c-rp vlan-interface 102 group-policy 2005
[SwitchE-pim] quit
4) Verify the configuration
Carry out the display pim interface command to view the PIM configuration and running status on each interface. For example:
# View the PIM configuration information on Switch A.
[SwitchA] display pim interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan100 0 30 1 10.110.1.1 (local)
Vlan101 1 30 1 192.168.1.2
Vlan102 1 30 1 192.168.9.2
To view the BSR election information and the locally configured C-RP information in effect on a switch, use the display pim bsr-info command. For example:
# View the BSR information and the locally configured C-RP information in effect on Switch A.
[SwitchA] display pim bsr-info
Elected BSR Address: 192.168.9.2
Priority: 20
Hash mask length: 32
State: Accept Preferred
Scope: Not scoped
Uptime: 00:40:40
Expires: 00:01:42
# View the BSR information and the locally configured C-RP information in effect on Switch D.
[SwitchD] display pim bsr-info
Elected BSR Address: 192.168.9.2
Priority: 20
Hash mask length: 32
State: Accept Preferred
Scope: Not scoped
Uptime: 00:05:26
Expires: 00:01:45
Candidate BSR Address: 192.168.4.2
Priority: 10
Hash mask length: 32
State: Candidate
Scope: Not scoped
Candidate RP: 192.168.4.2(Vlan-interface105)
Priority: 0
HoldTime: 150
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:34
# View the BSR information and the locally configured C-RP information in effect on Switch E.
[SwitchE] display pim bsr-info
Elected BSR Address: 192.168.9.2
Priority: 20
Hash mask length: 32
State: Elected
Scope: Not scoped
Uptime: 00:01:18
Next BSR message scheduled at: 00:01:52
Candidate BSR Address: 192.168.9.2
Priority: 20
Hash mask length: 32
State: Elected
Scope: Not scoped
Candidate RP: 192.168.9.2(Vlan-interface102)
Priority: 0
HoldTime: 150
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:48
To view the RP information discovered on a switch, use the display pim rp-info command. For example:
# View the RP information on Switch A.
[SwitchA] display pim rp-info
PIM-SM BSR RP information:
Group/MaskLen: 225.1.1.0/24
RP: 192.168.4.2
Priority: 0
HoldTime: 150
Uptime: 00:51:45
Expires: 00:02:22
RP: 192.168.9.2
Priority: 0
HoldTime: 150
Uptime: 00:51:45
Expires: 00:02:22
Assume that Host A needs to receive information addressed to the multicast group G (225.1.1.0). The RP corresponding to the multicast group G is Switch E as a result of hash calculation, so an RPT will be built between Switch A and Switch E. When the multicast source S (10.110.5.100/24) registers with the RP, an SPT will be built between Switch D and Switch E. Upon receiving multicast data, Switch A immediately switches from the RPT to the SPT. Switches on the RPT path (Switch A and Switch E) have a (*, G) entry, while switches on the SPT path (Switch A and Switch D) have an (S, G) entry. You can use the display pim routing-table command to view the PIM routing table information on the switches. For example:
# View the PIM routing table information on Switch A.
[SwitchA] display pim routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, 225.1.1.0)
RP: 192.168.9.2
Protocol: pim-sm, Flag: WC
UpTime: 00:13:46
Upstream interface: Vlan-interface102
Upstream neighbor: 192.168.9.2
RPF prime neighbor: 192.168.9.2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: igmp, UpTime: 00:13:46, Expires: 00:03:06
(10.110.5.100, 225.1.1.0)
RP: 192.168.9.2
Protocol: pim-sm, Flag: SPT ACT
UpTime: 00:00:42
Upstream interface: Vlan-interface101
Upstream neighbor: 192.168.1.2
RPF prime neighbor: 192.168.1.2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: pim-sm, UpTime: 00:00:42, Expires: 00:03:06
The information on Switch B and Switch C is similar to that on Switch A.
# View the PIM routing table information on Switch D.
[SwitchD] display pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.5.100, 225.1.1.0)
RP: 192.168.9.2
Protocol: pim-sm, Flag: SPT LOC ACT
UpTime: 00:00:42
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface105
Protocol: pim-sm, UpTime: 00:00:42, Expires: 00:02:26
# View the PIM routing table information on Switch E.
[SwitchE] display pim routing-table
Total 1 (*, G) entry; 0 (S, G) entry
(*, 225.1.1.0)
RP: 192.168.9.2 (local)
Protocol: pim-sm, Flag: WC
UpTime: 00:13:16
Upstream interface: Register
Upstream neighbor: 192.168.4.2
RPF prime neighbor: 192.168.4.2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface102
Protocol: pim-sm, UpTime: 00:13:16, Expires: 00:03:22
PIM-SM Admin-Scope Zone Configuration Example
Network requirements
l Receivers receive VOD information through multicast. The entire PIM-SM domain is divided into admin-scope zone 1, admin-scope zone 2, and the global zone. Switch B, Switch C, and Switch D are ZBRs of these three domains respectively.
l Source 1 and Source 2 send different multicast information to multicast group 239.1.1.1. Host A receives the multicast information from only Source 1, while Host B receives the multicast information from only Source 2. Source 3 sends multicast information to multicast group 224.1.1.1. Host C is a multicast receiver for this multicast group.
l VLAN-interface 101 of Switch B acts as a C-BSR and C-RP of admin-scope zone 1, which serve the multicast group range 239.0.0.0/8. VLAN-interface 104 of Switch D acts as a C-BSR and C-RP of admin-scope zone 2, which also serve the multicast group range 239.0.0.0/8. Both VLAN-interface 109 of Switch F and VLAN-interface 110 of Switch H act as C-BSRs and C-RPs of the global scope zone, which serve all the multicast groups other than those in the 239.0.0.0/8 range. Switch F has a higher priority.
l IGMPv2 is required between Switch A, Switch E, Switch I and their respective receivers.
Network diagram
Figure 1-12 Network diagram for PIM-SM admin-scope zone configuration
Device |
Interface |
IP address |
Device |
Interface |
IP address |
Switch A |
Vlan-int100 |
192.168.1.1/24 |
Switch D |
Vlan-int104 |
10.110.4.2/24 |
|
Vlan-int101 |
10.110.1.1/24 |
|
Vlan-int108 |
10.110.7.1/24 |
Switch B |
Vlan-int200 |
192.168.2.1/24 |
|
Vlan-int107 |
10.110.8.1/24 |
|
Vlan-int101 |
10.110.1.2/24 |
Switch E |
Vlan-int400 |
192.168.4.1/24 |
|
Vlan-int103 |
10.110.2.1/24 |
|
Vlan-int105 |
10.110.5.2/24 |
|
Vlan-int102 |
10.110.3.1/24 |
|
Vlan-int108 |
10.110.7.2/24 |
Switch C |
Vlan-int300 |
192.168.3.1/24 |
Switch F |
Vlan-int109 |
10.110.9.1/24 |
|
Vlan-int104 |
10.110.4.1/24 |
|
Vlan-int107 |
10.110.8.2/24 |
|
Vlan-int105 |
10.110.5.1/24 |
|
Vlan-int102 |
10.110.3.2/24 |
|
Vlan-int103 |
10.110.2.2/24 |
Switch G |
Vlan-int500 |
192.168.5.1/24 |
|
Vlan-int106 |
10.110.6.1/24 |
|
Vlan-int109 |
10.110.9.2/24 |
Switch H |
Vlan-int110 |
10.110.10.1/24 |
Source 1 |
— |
192.168.2.10/24 |
|
Vlan-int106 |
10.110.6.2/24 |
Source 2 |
— |
192.168.3.10/24 |
Switch I |
Vlan-int600 |
192.168.6.1/24 |
Source 3 |
— |
192.168.5.10/24 |
|
Vlan-int110 |
10.110.10.2/24 |
|
|
|
Configuration procedure
1) Configure IP addresses and unicast routing
Configure the IP address and subnet mask for each interface as per Figure 1-12. The detailed configuration steps are omitted here.
Configure OSPF for interoperation among the switches in the PIM-SM domain. Ensure the network-layer interoperation among the switches in the PIM-SM domain and enable dynamic update of routing information among the switches through a unicast routing protocol. Detailed configuration steps are omitted here.
2) Enable IP multicast routing and administrative scoping, and enable PIM-SM and IGMP
# Enable IP multicast routing and administrative scoping on Switch A, enable PIM-SM on each interface, and enable IGMP on the host-side interface VLAN-interface 100.
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] pim
[SwitchA-pim] c-bsr admin-scope
[SwitchA-pim] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
The configuration on Switch E and Switch I is similar to the configuration on Switch A.
# On Switch B, enable IP multicast routing and administrative scoping, and enable PIM-SM on each interface.
<SwitchB> system-view
[SwitchB] multicast routing-enable
[SwitchB] pim
[SwitchB-pim] c-bsr admin-scope
[SwitchB-pim] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] pim sm
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] pim sm
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] pim sm
[SwitchB-Vlan-interface102] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] pim sm
[SwitchB-Vlan-interface103] quit
The configuration on Switch C, Switch D, Switch F, Switch G, and Switch H is similar to the configuration on Switch B. The specific configuration steps are omitted here.
3) Configure an admin-scope zone boundary
# On Switch B, configure VLAN-interface 102 and VLAN-interface 103 to be the boundary of admin-scope zone 1.
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] multicast boundary 239.0.0.0 8
[SwitchB-Vlan-interface102] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] multicast boundary 239.0.0.0 8
[SwitchB-Vlan-interface103] quit
# On Switch C, configure VLAN-interface 103 and VLAN-interface 106 to be the boundary of admin-scope zone 2.
<SwitchC> system-view
[SwitchC] interface vlan-interface 103
[SwitchC-Vlan-interface103] multicast boundary 239.0.0.0 8
[SwitchC-Vlan-interface103] quit
[SwitchC] interface vlan-interface 106
[SwitchC-Vlan-interface106] multicast boundary 239.0.0.0 8
[SwitchC-Vlan-interface106] quit
# On Switch D, configure VLAN-interface 107 to be the boundary of admin-scope zone 2.
<SwitchD> system-view
[SwitchD] interface vlan-interface 107
[SwitchD-Vlan-interface107] multicast boundary 239.0.0.0 8
[SwitchD-Vlan-interface107] quit
4) Configure C-BSRs and C-RPs
# On Switch B, configure the service scope of RP advertisements and configure VLAN-interface 101 as a C-BSR and C-RP of admin-scope zone 1.
[SwitchB] acl number 2001
[SwitchB-acl-basic-2001] rule permit source 239.0.0.0 0.255.255.255
[SwitchB-acl-basic-2001] quit
[SwitchB] pim
[SwitchB-pim] c-bsr group 239.0.0.0 8
[SwitchB-pim] c-bsr vlan-interface 101
[SwitchB-pim] c-rp vlan-interface 101 group-policy 2001
[SwitchB-pim] quit
# On Switch D, configure the service scope of RP advertisements and configure VLAN-interface 104 as a C-BSR and C-RP of admin-scope zone 2.
[SwitchD] acl number 2001
[SwitchD-acl-basic-2001] rule permit source 239.0.0.0 0.255.255.255
[SwitchD-acl-basic-2001] quit
[SwitchD] pim
[SwitchD-pim] c-bsr group 239.0.0.0 8
[SwitchD-pim] c-bsr vlan-interface 104
[SwitchD-pim] c-rp vlan-interface 104 group-policy 2001
[SwitchD-pim] quit
# On Switch F, configure VLAN-interface 109 as a C-BSR and C-RP in the global scope zone.
<SwitchF> system-view
[SwitchF] pim
[SwitchF-pim] c-bsr global
[SwitchF-pim] c-bsr vlan-interface 109
[SwitchF-pim] c-rp vlan-interface 109
[SwitchF-pim] quit
5) Verify the configuration
To view the BSR election information and the C-RP information on a switch, use the display pim bsr-info command. For example:
# View the BSR information and the locally configured C-RP information on Switch B.
[SwitchB] display pim bsr-info
Elected BSR Address: 10.110.9.1
Priority: 0
Hash mask length: 30
State: Accept Preferred
Scope: Global
Uptime: 00:01:45
Expires: 00:01:25
Elected BSR Address: 10.110.1.2
Priority: 0
Hash mask length: 30
State: Elected
Scope: 239.0.0.0/8
Uptime: 00:04:54
Next BSR message scheduled at: 00:00:06
Candidate BSR Address: 10.110.1.2
Priority: 0
Hash mask length: 30
State: Elected
Scope: 239.0.0.0/8
Candidate RP: 10.110.1.2(Vlan-interface101)
Priority: 0
HoldTime: 150
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:15
# View the BSR information and the locally configured C-RP information on Switch D.
[SwitchD] display pim bsr-info
Elected BSR Address: 10.110.9.1
Priority: 0
Hash mask length: 30
State: Accept Preferred
Scope: Global
Uptime: 00:01:45
Expires: 00:01:25
Elected BSR Address: 10.110.4.2
Priority: 0
Hash mask length: 30
State: Elected
Scope: 239.0.0.0/8
Uptime: 00:03:48
Next BSR message scheduled at: 00:01:12
Candidate BSR Address: 10.110.4.2
Priority: 0
Hash mask length: 30
State: Elected
Scope: 239.0.0.0/8
Candidate RP: 10.110.4.2(Vlan-interface104)
Priority: 0
HoldTime: 150
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:10
# View the BSR information and the locally configured C-RP information on Switch F.
[SwitchF] display pim bsr-info
Elected BSR Address: 10.110.9.1
Priority: 0
Hash mask length: 30
State: Elected
Scope: Global
Uptime: 00:11:11
Next BSR message scheduled at: 00:00:49
Candidate BSR Address: 10.110.9.1
Priority: 0
Hash mask length: 30
State: Elected
Scope: Global
Candidate RP: 10.110.9.1(Vlan-interface109)
Priority: 0
HoldTime: 150
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:55
To view the RP information learned on a switch, use the display pim rp-info command. For example:
# View the RP information on Switch B.
[SwitchB] display pim rp-info
PIM-SM BSR RP information:
Group/MaskLen: 224.0.0.0/4
RP: 10.110.9.1
Priority: 0
HoldTime: 150
Uptime: 00:03:39
Expires: 00:01:51
Group/MaskLen: 239.0.0.0/8
RP: 10.110.1.2 (local)
Priority: 0
HoldTime: 150
Uptime: 00:07:44
Expires: 00:01:51
# View the RP information on Switch D.
[SwitchD] display pim rp-info
PIM-SM BSR RP information:
Group/MaskLen: 224.0.0.0/4
RP: 10.110.9.1
Priority: 0
HoldTime: 150
Uptime: 00:03:42
Expires: 00:01:48
Group/MaskLen: 239.0.0.0/8
RP: 10.110.4.2 (local)
Priority: 0
HoldTime: 150
Uptime: 00:06:54
Expires: 00:02:41
# View the RP information on Switch F.
[SwitchF] display pim rp-info
PIM-SM BSR RP information:
Group/MaskLen: 224.0.0.0/4
RP: 10.110.9.1 (local)
Priority: 0
HoldTime: 150
Uptime: 00:00:32
Expires: 00:01:58
PIM-SSM Configuration Example
Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form stub networks, and one or more receiver hosts exist in each stub network. The entire PIM domain operates in the SSM mode.
l Host A and Host C are multicast receivers in two stub networks.
l Switch D connects to the network that comprises the multicast source (Source) through VLAN-interface 300.
l Switch A connects to stub network N1 through VLAN-interface 100, and to Switch D and Switch E through VLAN-interface 101 and VLAN-interface 102 respectively.
l Switch B and Switch C connect to stub network N2 through their respective VLAN-interface 200, and to Switch E through VLAN-interface 103 and VLAN-interface 104 respectively.
l Switch E connects to Switch A, Switch B, Switch C and Switch D.
l The SSM group range is 232.1.1.0/24.
l IGMPv3 is to run between Switch A and N1, and between Switch B/Switch C and N2.
Network diagram
Figure 1-13 Network diagram for PIM-SSM configuration
Device |
Interface |
IP address |
Device |
Interface |
IP address |
Switch A |
Vlan-int100 |
10.110.1.1/24 |
Switch D |
Vlan-int300 |
10.110.5.1/24 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Vlan-int101 |
192.168.1.2/24 |
|
Vlan-int102 |
192.168.9.1/24 |
|
Vlan-int105 |
192.168.4.2/24 |
Switch B |
Vlan-int200 |
10.110.2.1/24 |
Switch E |
Vlan-int104 |
192.168.3.2/24 |
|
Vlan-int103 |
192.168.2.1/24 |
|
Vlan-int103 |
192.168.2.2/24 |
Switch C |
Vlan-int200 |
10.110.2.2/24 |
|
Vlan-int102 |
192.168.9.2/24 |
|
Vlan-int104 |
192.168.3.1/24 |
|
Vlan-int105 |
192.168.4.1/24 |
Configuration procedure
1) Configure IP addresses and unicast routing
Configure the IP address and subnet mask for each interface as per Figure 1-13. Detailed configuration steps are omitted here.
Configure the OSPF protocol for interoperation among the switches in the PIM-SM domain. Ensure the network-layer interoperation in the PIM-SM domain and enable dynamic update of routing information among the switches through a unicast routing protocol. Detailed configuration steps are omitted here.
2) Enable IP multicast routing, and enable PIM-SM and IGMP
# Enable IP multicast routing on Switch A, enable PIM-SM on each interface, and run IGMPv3 on VLAN-interface 100, which connects Switch A to the stub network.
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] igmp version 3
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim sm
[SwitchA-Vlan-interface102] quit
The configuration on Switch B and Switch C is similar to that on Switch A. The configuration on Switch D and Switch E is also similar to that on Switch A except that it is not necessary to enable IGMP on the corresponding interfaces on these two switches.
3) Configure the SSM group range
# Configure the SSM group range to be 232.1.1.0/24 one Switch A.
[SwitchA] acl number 2000
[SwitchA-acl-basic-2000] rule permit source 232.1.1.0 0.0.0.255
[SwitchA-acl-basic-2000] quit
[SwitchA] pim
[SwitchA-pim] ssm-policy 2000
[SwitchA-pim] quit
The configuration on Switch B, Switch C, Switch D and Switch E is similar to that on Switch A.
4) Verify the configuration
Carry out the display pim interface command to view the PIM configuration and running status on each interface. For example:
# View the PIM configuration information on Switch A.
[SwitchA] display pim interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan100 0 30 1 10.110.1.1 (local)
Vlan101 1 30 1 192.168.1.2
Vlan102 1 30 1 192.168.9.2
Assume that Host A needs to receive the information a specific multicast source S (10.110.5.100/24) sends to multicast group G (232.1.1.1). Switch A builds an SPT toward the multicast source. Switches on the SPT path (Switch A and Switch D) have generated an (S, G) entry, while Switch E, which is not on the SPT path, does not have multicast routing entries. You can use the display pim routing-table command to view the PIM routing table information on each switch. For example:
# View the PIM routing table information on Switch A.
[SwitchA] display pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.5.100, 232.1.1.1)
Protocol: pim-ssm, Flag:
UpTime: 00:13:25
Upstream interface: Vlan-interface101
Upstream neighbor: 192.168.1.2
RPF prime neighbor: 192.168.1.2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: igmp, UpTime: 00:13:25, Expires: 00:03:25
The information on Switch B and Switch C is similar to that on Switch A.
# View the PIM routing table information on Switch D.
[SwitchD] display pim routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.5.100, 232.1.1.1)
Protocol: pim-ssm, Flag: LOC
UpTime: 00:12:05
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface105
Protocol: pim-ssm, UpTime: 00:12:05, Expires: 00:03:25
Troubleshooting PIM Configuration
Failure of Building a Multicast Distribution Tree Correctly
Symptom
None of the routers in the network (including routers directly connected with multicast sources and receivers) has multicast forwarding entries. That is, a multicast distribution tree cannot be built correctly and clients cannot receive multicast data.
Analysis
l When PIM-DM runs on the entire network, multicast data is flooded from the first hop router connected with the multicast source to the last hop router connected with the clients. When the multicast data is flooded to a router, no matter which router is, it creates (S, G) entries only if it has a route to the multicast source. If the router does not have a route to the multicast source, or if PIM-DM is not enabled on the router’s RPF interface to the multicast source, the router cannot create (S, G) entries.
l When PIM-SM runs on the entire network, and when a router is to join the SPT, the router creates (S, G) entries only if it has a route to the multicast source. If the router does not have a router to the multicast source, or if PIM-DM is not enabled on the router’s RPF interface to the multicast source, the router cannot create (S, G) entries.
l When a multicast router receives a multicast packet, it searches the existing unicast routing table for the optimal route to the RPF check object. The outgoing interface of this route will act as the RPF interface and the next hop will be taken as the RPF neighbor. The RPF interface completely relies on the existing unicast route, and is independent of PIM. The RPF interface must be PIM-enabled, and the RPF neighbor must also be a PIM neighbor. If PIM is not enabled on the router where the RPF interface or the RPF neighbor resides, the establishment of a multicast distribution tree will surely fail, causing abnormal multicast forwarding.
l Because a hello message does not carry the PIM mode information, a router running PIM is unable to know what PIM mode its PIM neighbor is running. If different PIM modes are enabled on the RPF interface and on the corresponding interface of the RPF neighbor router, the establishment of a multicast distribution tree will surely fail, causing abnormal multicast forwarding.
l The same PIM mode must run on the entire network. Otherwise, the establishment of a multicast distribution tree will surely fail, causing abnormal multicast forwarding.
Solution
1) Check unicast routes. Use the display ip routing-table command to check whether a unicast route exists from the receiver host to the multicast source.
2) Check that PIM is enabled on the interfaces, especially on the RPF interface. Use the display pim interface command to view the PIM information on each interface. If PIM is not enabled on the interface, use the pim dm or pim sm command to enable PIM-DM or PIM-SM.
3) Check that the RPF neighbor is a PIM neighbor. Use the display pim neighbor command to view the PIM neighbor information.
4) Check that PIM and IGMP are enabled on the interfaces directly connecting to the multicast source and to the receivers.
5) Check that the same PIM mode is enabled on related interfaces. Use the display pim interface verbose command to check whether the same PIM mode is enabled on the RPF interface and the corresponding interface of the RPF neighbor router.
6) Check that the same PIM mode is enabled on all the routers in the entire network. Make sure that the same PIM mode is enabled on all the routers: PIM-SM on all routers, or PIM-DM on all routers. In the case of PIM-SM, also check that the BSR and RP configurations are correct.
Multicast Data Abnormally Terminated on an Intermediate Router
Symptom
An intermediate router can receive multicast data successfully, but the data cannot reach the last hop router. An interface on the intermediate router receives data but no corresponding (S, G) entry is created in the PIM routing table.
Analysis
l If a multicast forwarding boundary has been configured through the multicast boundary command, any multicast packet will be kept from crossing the boundary, and therefore no routing entry can be created in the PIM routing table.
l In addition, the source-policy command is used to filter received multicast packets. If the multicast data fails to pass the ACL rule defined in this command, PIM cannot create the route entry, either.
Solution
1) Check the multicast forwarding boundary configuration. Use the display current-configuration command to check the multicast forwarding boundary settings. Use the multicast boundary command to change the multicast forwarding boundary settings.
2) Check the multicast filter configuration. Use the display current-configuration command to check the multicast filter configuration. Change the ACL rule defined in the source-policy command so that the source/group address of the multicast data can pass ACL filtering.
RPs Unable to Join SPT in PIM-SM
Symptom
An RPT cannot be established correctly, or the RPs cannot join the SPT to the multicast source.
Analysis
l As the core of a PIM-SM domain, the RPs serve specific multicast groups. Multiple RPs can coexist in a network. Make sure that the RP information on all routers is exactly the same, and a specific group is mapped to the same RP. Otherwise, multicast forwarding will fail.
l If the static RP mechanism is used, the same static RP command must be executed on all the routers in the entire network. Otherwise, multicast forwarding will fail.
Solution
1) Check that a route is available to the RP. Carry out the display ip routing-table command to check whether a route is available on each router to the RP.
2) Check the dynamic RP information. Use the display pim rp-info command to check whether the RP information is consistent on all routers.
3) Check the configuration of static RPs. Use the display pim rp-info command to check whether the same static RP address has been configured on all the routers in the entire network.
RPT Establishment Failure or Source Registration Failure in PIM-SM
Symptom
C-RPs cannot unicast advertise messages to the BSR. The BSR does not advertise bootstrap messages containing C-RP information and has no unicast route to any C-RP. An RPT cannot be established correctly, or the DR cannot perform source register with the RP.
Analysis
l The C-RPs periodically send C-RP-Adv messages to the BSR by unicast. If a C-RP has no unicast route to the BSR, the BSR cannot receive C-RP-Adv messages from that C-RP and the bootstrap message of the BSR will not contain the information of that C-RP.
l In addition, if the BSR does not have a unicast router to a C-RP, it will discard the C-RP-Adv messages from that C-RP, and therefore the bootstrap messages of the BSR will not contain the information of that C-RP.
l The RP is the core of a PIM-SM domain. Make sure that the RP information on all routers is exactly the same, a specific group G is mapped to the same RP, and unicast routes are available to the RP.
Solution
1) Check whether routes to C-RPs and the BSR are available. Carry out the display ip routing-table command to check whether routes are available on each router to the RP and the BSR, and whether a route is available between the RP and the BSR. Make sure that each C-RP has a unicast route to the BSR, the BSR has a unicast route to each C-RP, and all the routers in the entire network have a unicast route to the RP.
2) Check the RP and BSR information. PIM-SM needs the support of the RP and BSR. Use the display pim bsr-info command to check whether the BSR information is available on each router, and then use the display pim rp-info command to check whether the RP information is correct.
3) View PIM neighboring relationships. Use the display pim neighbor command to check whether the normal PIM neighboring relationships have been established among the routers.