- Table of Contents
-
- 08-IP Multicast Configuration Guide
- 00-Preface
- 01-Multicast Overview
- 02-IGMP Snooping Configuration
- 03-PIM Snooping Configuration
- 04-Multicast VLAN Configuration
- 05-Multicast Routing and Forwarding Configuration
- 06-IGMP Configuration
- 07-PIM Configuration
- 08-MSDP Configuration
- 09-MBGP Configuration
- 10-Multicast VPN Configuration
- 11-MLD Snooping Configuration
- 12-IPv6 PIM Snooping Configuration
- 13-IPv6 Multicast VLAN Configuration
- 14-IPv6 Multicast Routing and Forwarding Configuration
- 15-MLD Configuration
- 16-IPv6 PIM Configuration
- 17-IPv6 MBGP Configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
16-IPv6 PIM Configuration | 758.43 KB |
Contents
IPv6 administrative scoping overview
IPv6 PIM-DM configuration task list
Enabling state-refresh capability
Configuring state refresh parameters
Configuring IPv6 PIM-DM graft retry period
IPv6 PIM-SM configuration task list
Configuring IPv6 administrative scoping
Configuring IPv6 multicast source registration
Configuring IPv6 administrative scoping
IPv6 PIM-SSM configuration task list
Configuring the IPv6 SSM group range
Configuring IPv6 PIM common features
IPv6 PIM common feature configuration task list
Configuring an IPv6 multicast data filter
Configuring a hello message filter
Configuring IPv6 PIM hello options
Configuring IPv6 PIM common timers
Configuring join/prune message sizes
Displaying and maintaining IPv6 PIM
IPv6 PIM configuration examples
IPv6 PIM-DM configuration example
IPv6 PIM-SM non-scoped zone configuration example
IPv6 PIM-SM admin-scoped zone configuration example
IPv6 PIM-SSM configuration example
A multicast distribution tree cannot be built correctly
IPv6 multicast data abnormally terminated on an intermediate router
RPS cannot join SPT in IPv6 PIM-SM
RPT establishment failure or source registration failure in IPv6 PIM-SM
Overview
Protocol Independent Multicast for IPv6 (IPv6 PIM) provides IPv6 multicast forwarding by leveraging IPv6 unicast static routes or IPv6 unicast routing tables generated by any IPv6 unicast routing protocol, such as RIPng, OSPFv3, IS-ISv6, or BGP4+. IPv6 PIM uses an IPv6 unicast routing table to perform reverse path forwarding (RPF) check to implement IPv6 multicast forwarding. Independent of the IPv6 unicast routing protocols running on the device, IPv6 multicast routing can be implemented as long as the corresponding IPv6 multicast routing entries are created through IPv6 unicast routes. IPv6 PIM uses the reverse path forwarding (RPF) mechanism to implement IPv6 multicast forwarding. When an IPv6 multicast packet arrives on an interface of the device, RPF check is performed on it. 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, see "Configuring IPv6 multicast routing and forwarding."
Based on the implementation mechanism, IPv6 PIM supports the following types:
· IPv6 Protocol Independent Multicast–Dense Mode (IPv6 PIM-DM)
· IPv6 Protocol Independent Multicast–Sparse Mode (IPv6 PIM-SM)
· IPv6 Bidirectional Protocol Independent Multicast (IPv6 BIDIR-PIM)
· IPv6 Protocol Independent Multicast Source-Specific Multicast (IPv6 PIM-SSM)
The term "router" in this document refers to both routers and Layer 3 switches.
|
NOTE: IPv6 BIDIR-PIM is not supported. |
IPv6 PIM-DM overview
IPv6 PIM-DM is a type of dense-mode IPv6 multicast protocol. It uses the push mode for IPv6 multicast forwarding, and is suitable for small-sized networks with densely distributed IPv6 multicast members.
The basic implementation of IPv6 PIM-DM is as follows:
· IPv6 PIM-DM assumes that at least one IPv6 multicast group member exists on each subnet of a network, and therefore IPv6 multicast data is flooded to all nodes on the network. Then, branches without IPv6 multicast forwarding are pruned from the forwarding tree, leaving only those branches that contain receivers. This flood-and-prune process takes place periodically. Pruned branches resume IPv6 multicast forwarding when the pruned state times out. Data is flooded again down these branches, and then the branches are pruned again.
· When a new receiver on a previously pruned branch joins an IPv6 multicast group, to reduce the join latency, IPv6 PIM-DM uses the graft mechanism to resume IPv6 multicast data forwarding to that branch.
In general, the IPv6 multicast forwarding path is a source tree, also known as a forwarding tree with the IPv6 multicast source as its "root" and IPv6 multicast group members as its "leaves." Because the source tree is the shortest path from the IPv6 multicast source to the receivers, it is also called shortest path tree (SPT).
The operating mechanism of IPv6 PIM-DM is summarized as follows:
· Neighbor discovery
· SPT establishment
· Graft
· Assert
Neighbor discovery
In an IPv6 PIM domain, a PIM router discovers IPv6 PIM neighbors, maintains IPv6 PIM neighboring relationships with other routers, and builds and maintains SPTs by periodically multicasting IPv6 PIM hello messages to all other IPv6 PIM routers on the local subnet.
|
NOTE: Every IPv6 PIM–enabled interface on a router sends hello messages periodically, and thus learns the IPv6 PIM neighboring information pertinent to the interface. |
SPT establishment
The process of constructing an SPT is the flood-and-prune process.
1. In an IPv6 PIM-DM domain, an IPv6 multicast source first floods IPv6 multicast packets when it sends IPv6 multicast data to IPv6 multicast group G. The packet undergoes an RPF check. If the packet passes the RPF check, the router creates an (S, G) entry and forwards the packet to all downstream nodes in the network. In the flooding process, an (S, G) entry is created on all the routers in the IPv6 PIM-DM domain.
2. Nodes without downstream receivers are pruned. A router that has no downstream receivers sends a prune message to the upstream node to notify 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 IPv6 multicast group down to this node.
|
NOTE: · An (S, G) entry contains the multicast source address S, IPv6 multicast group address G, outgoing interface list, and incoming interface. · For a given IPv6 multicast stream, the interface that receives the IPv6 multicast stream is called "upstream," and the interfaces that forward the IPv6 multicast stream are called "downstream." |
A leaf router first initiates a prune process. As shown in Figure 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 continues until only necessary branches remain in the IPv6 PIM-DM domain. These branches constitute the SPT.
Figure 1 SPT establishment in an IPv6 PIM-DM domain
The flood-and-prune process occurs periodically. A pruned state timeout mechanism exists. 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.
Graft
When a host attached to a pruned node joins an IPv6 multicast group, to reduce the join latency, IPv6 PIM-DM uses the graft mechanism to resume IPv6 multicast data forwarding to that branch. The process is as follows:
1. The node that needs to receive IPv6 multicast data sends a graft message toward its upstream node, as a request to join the SPT again.
2. After 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.
3. If the node that sent a graft message does not receive a graft-ack message from its upstream node, it keeps sending graft messages at a configurable interval until it receives an acknowledgment from its upstream node.
Assert
The assert mechanism shuts off duplicate IPv6 multicast flows onto the same multi-access network, where more than one multicast router exists, by electing a unique IPv6 multicast forwarder on the multi-access network.
As shown in Figure 2, after Router A and Router B receive an (S, G) IPv6 multicast packet from the upstream node, both of them 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 downstream interfaces, receive a duplicate IPv6 multicast packet that the other has forwarded. After detecting this condition, both routers send an assert message to all IPv6 PIM routers on the local subnet through the interface that received the packet. The assert message contains the multicast source address (S), the multicast group address (G), and the preference and metric of the IPv6 unicast route/IPv6 MBGP route/IPv6 multicast static route to the source. By comparing these parameters, either Router A or Router B becomes the unique forwarder of the subsequent (S, G) IPv6 multicast packets on the multi-access subnet. The comparison process is as follows:
1. The router with a higher preference to the source wins.
2. If both routers have the same preference to the source, the router with a smaller metric to the source wins.
3. If a tie exists in the route metric to the source, the router with a higher IPv6 link-local address on the downstream interface wins.
IPv6 PIM-SM overview
IPv6 PIM-DM uses the flood-and-prune principle to build SPTs for IPv6 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-sized and medium-sized networks.
IPv6 PIM-SM is a type of sparse mode IPv6 multicast protocol. It uses the pull mode for IPv6 multicast forwarding, and is suitable for large-sized and medium-sized networks with sparsely and widely distributed IPv6 multicast group members.
The basic implementation of IPv6 PIM-SM is as follows:
· IPv6 PIM-SM assumes that no hosts need to receive IPv6 multicast data. In the IPv6 PIM-SM mode, routers must specifically request a particular IPv6 multicast stream before the data is forwarded to them. The core task for IPv6 PIM-SM to implement IPv6 multicast forwarding will build and maintain rendezvous point trees (RPTs). An RPT is rooted at a router in the IPv6 PIM domain as the common node, or rendezvous point (RP), through which the IPv6 multicast data travels along the RPT and reaches the receivers.
· When a receiver is interested in the IPv6 multicast data addressed to a specific IPv6 multicast group, the router connected to this receiver sends a join message to the RP that corresponds to that IPv6 multicast group. The path along which the message goes hop by hop to the RP forms a branch of the RPT.
· When an IPv6 multicast source sends IPv6 multicast streams to an IPv6 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 IPv6 multicast source sends subsequent IPv6 multicast packets along the SPT to the RP. After reaching the RP, the IPv6 multicast packet is duplicated and delivered to the receivers along the RPT.
|
NOTE: IPv6 multicast traffic is duplicated only where the distribution tree branches, and this process automatically repeats until the IPv6 multicast traffic reaches the receivers. |
The operating mechanism of IPv6 PIM-SM is summarized as follows:
· Neighbor discovery
· DR election
· RP discovery
· Embedded RP
· RPT establishment
· IPv6 Multicast source registration
· Switchover to SPT
· Assert
Neighbor discovery
IPv6 PIM-SM uses the similar neighbor discovery mechanism as IPv6 PIM-DM does. For more information, see "Neighbor discovery."
DR election
IPv6 PIM-SM also uses hello messages to elect a DR for a multi-access network (such as a LAN). The elected DR will be the only IPv6 multicast forwarder on this multi-access network.
In the case of a multi-access network, a DR must be elected, no matter this network connects to IPv6 multicast sources or to receivers. The DR at the receiver side sends join messages to the RP; the DR at the IPv6 multicast source side sends register messages to the RP.
A DR is elected on a multi-access subnet by means of comparison of the priorities and IPv6 link-local addresses carried in hello messages.
MLD must be enabled on a device that acts as a receiver-side DR before receivers attached to this device can join IPv6 multicast groups through this DR. For more information about MLD, see "Configuring MLD."
As shown in Figure 3, the DR election process is as follows:
1. 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.
2. 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 IPv6 link-local address will win the DR election.
When the DR works abnormally, a timeout in receiving hello message triggers a new DR election process among the other routers.
RP discovery
The RP is the core of an IPv6 PIM-SM domain. For a small-sized, simple network, one RP is enough for forwarding IPv6 multicast information throughout the network, and the position of the RP can be statically specified on each router in the IPv6 PIM-SM domain. In most cases, however, an IPv6 PIM-SM network covers a wide area and a huge amount of IPv6 multicast traffic must be forwarded through the RP. To lessen the RP burden and optimize the topological structure of the RPT, you can configure multiple candidate RPs (C-RPs) in an IPv6 PIM-SM domain. Among them, an RP is dynamically elected through the bootstrap mechanism. Each elected RP provides services for a different multicast group range. For this purpose, you must configure a bootstrap router (BSR). The BSR serves as the administrative core of the IPv6 PIM-SM domain. An IPv6 PIM-SM domain can have only one BSR, but can have multiple candidate-BSRs (C-BSRs). If the BSR fails, a new BSR is automatically elected from the C-BSRs to avoid service interruption.
|
NOTE: · An RP can provide services for IPv6 multiple multicast groups or all IPv6 multicast groups. Only one RP can provide services for a given IPv6 multicast group at a time. · A device can serve as a C-RP and a C-BSR at the same time. |
As shown in Figure 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 IPv6 multicast group range to which it is designated. 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 IPv6 multicast groups and RPs. The BSR then encapsulates the RP-set in the bootstrap messages it periodically originates and floods the bootstrap messages (BSMs) to the entire IPv6 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 has 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".
Table 1 Values in the hashing algorithm
Value |
Description |
Value |
Hash value. |
G |
The digest from the exclusive-or (XOR) operation between the 32-bit segments of the IPv6 multicast group address. For example, if the IPv6 multicast address is FF0E:C20:1A3:63::101, G = 0xFF0E0C20 XOR 0x01A30063 XOR 0x00000000 XOR 0x00000101. |
M |
Hash mask length. |
Ci |
The digest from the exclusive-or (XOR) operation between the 32-bit segments of the C-RP IPv6 address. For example, if the IPv6 address of the C-RP is 3FFE:B00:C18:1::10, Ci = 0x3FFE0B00 XOR 0x0C180001 XOR 0x00000000 XOR 0x00000010. |
& |
Logical operator of "and." |
XOR |
Logical operator of "exclusive-or." |
mod |
Modulo operator, which gives the remainder of an integer division. |
Embedded RP
The embedded RP mechanism enables a router to resolve the RP address from an IPv6 multicast address so that the IPv6 multicast group is mapped to an RP. This RP can take the place of the statically configured RP or the RP dynamically calculated based on the BSR mechanism. The DR does not need to identify the RP address beforehand. The process is as follows.
· At the receiver side, the process is as follows:
a. A receiver host initiates an MLD report to announce its joining an IPv6 multicast group.
b. After receiving the MLD report, the receiver-side DR resolves the RP address embedded in the IPv6 multicast address, and sends a join message to the RP.
· At the IPv6 multicast source side, the process is as follows:
a. The IPv6 multicast source sends IPv6 multicast traffic to the IPv6 multicast group.
b. The source-side DR resolves the RP address embedded in the IPv6 multicast address, and sends a register message to the RP.
RPT establishment
Figure 5 RPT establishment in an IPv6 PIM-SM domain
As shown in Figure 5, the process of building an RPT is as follows:
1. When a receiver joins IPv6 multicast group G, it uses an MLD report message to inform the directly connected DR.
2. After getting the IPv6 multicast group G's receiver information, the DR sends a join message, which is forwarded hop by hop to the RP that corresponds 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 asterisk (*) means any IPv6 multicast source. The RP is the root, and the DRs are the leaves, of the RPT.
The IPv6 multicast data addressed to the IPv6 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 IPv6 multicast data addressed to a multicast group G, the directly connected DR sends a prune message, which goes hop by hop along the RPT to the RP. After receiving the prune message, the upstream node deletes the interface connected with this downstream node from the outgoing interface list and determines whether it has receivers for that IPv6 multicast group. If not, the router continues to forward the prune message to its upstream router.
Multicast source registration
The purpose of IPv6 multicast source registration will inform the RP about the existence of the IPv6 multicast source.
Figure 6 IPv6 multicast source registration
As shown in Figure 6, the IPv6 multicast source registers with the RP as follows:
1. When the IPv6 multicast source S sends the first IPv6 multicast packet to IPv6 multicast group G, the DR directly connected with the multicast source, after receiving the multicast packet, encapsulates the packet in a 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 IPv6 multicast packet down the RPT, and sends an (S, G) join message hop by hop toward the IPv6 multicast source. Thus, the routers along the path from the RP to the IPv6 multicast source form an SPT branch. Each router on this branch generates an (S, G) entry in its forwarding table. The source-side DR is the root, and the RP is the leaf, of the SPT.
3. The subsequent IPv6 multicast data from the IPv6 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 IPv6 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.
|
NOTE: The RP is configured to initiate a switchover to SPT as described in this section. Otherwise, the DR at the IPv6 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 an IPv6 PIM-SM domain, an IPv6 multicast group corresponds to one RP and one RPT. Before the switchover to SPT occurs, the DR at the IPv6 multicast source side encapsulates all multicast data destined to the multicast group in register messages and sends these messages to the RP. After receiving these register messages, the RP extracts 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 IPv6 multicast packets. The whole process involves the following issues:
· The DR at the source side and the RP need to implement complicated encapsulation and de-encapsulation of IPv6 multicast packets.
· IPv6 multicast packets are delivered along a path that might not be the shortest one.
· An increase in IPv6 multicast traffic heavily burdens the RP, increasing the risk of failure.
To solve the issues, IPv6 PIM-SM allows an RP or the DR at the receiver side to initiate a switchover to SPT process when the traffic rate exceeds the threshold:
1. The RP initiates a switchover to SPT process.
After receiving an IPv6 multicast packet, the RP sends an (S, G) join message hop by hop toward the IPv6 multicast source to establish an SPT between the DR at the source side and the RP. Subsequent IPv6 multicast data travels along the established SPT to the RP.
For more information about the switchover to SPT initiated by the RP, see "Multicast source registration."
2. The receiver-side DR initiates a switchover to SPT process
After receiving the first multicast packet, the receiver-side DR initiates a switchover to SPT process, as follows:
¡ The receiver-side DR sends an (S, G) join message hop by hop toward the IPv6 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.
¡ When the IPv6 multicast packets travel to the router where the RPT and the SPT deviate, the router drops the multicast packets received from the RPT and sends an RP-bit prune message hop by hop to the RP. After receiving this prune message, the RP sends a prune message toward the IPv6 multicast source—suppose only one receiver exists—to implement switchover to SPT.
¡ Finally, IPv6 multicast data is directly sent from the source to the receivers along the SPT.
IPv6 PIM-SM builds SPTs through switchover to SPT more economically than IPv6 PIM-DM does through the flood-and-prune mechanism.
Assert
IPv6 PIM-SM uses the similar assert mechanism as IPv6 PIM-DM does. For more information, see "Assert."
IPv6 administrative scoping overview
Division of IPv6 PIM-SM domains
Typically, an IPv6 PIM-SM domain contains only one BSR, which is responsible for advertising RP-set information within the entire IPv6 PIM-SM domain. The information for all multicast groups is forwarded within the network scope administered by the BSR. We call this IPv6 non-scoped BSR mechanism.
To implement refined management, an IPv6 PIM-SM domain can be divided into one IPv6 global-scoped zone and multiple IPv6 administratively scoped zones (IPv6 admin-scoped zones). We call this IPv6 administrative scoping mechanism.
The IPv6 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.
IPv6 admin-scoped zones correspond to IPv6 multicast groups with different scope values in their group addresses. The boundary of the IPv6 admin-scoped zone is formed by zone border routers (ZBRs). Each IPv6 admin-scoped zone maintains one BSR to provide services for multicast groups within a specific scope. IPv6 multicast protocol packets, such as assert messages and bootstrap messages, for a specific group range cannot cross the IPv6 admin-scoped zone boundary. IPv6 multicast group ranges to which different IPv6 admin-scoped zones are designated can overlap. An IPv6 multicast group is valid only within its local IPv6 admin-scoped zone, functioning as a private group address.
The IPv6 global-scoped zone maintains a BSR to provide services for the IPv6 multicast groups with the Scope field in their group addresses being 14.
Relationship between IPv6 admin-scoped zones and the IPv6 global-scoped zone
The IPv6 global-scoped zone and each IPv6 admin-scoped zone have their own C-RPs and BSRs. These devices are effective only in their respective IPv6 admin-scoped zones. BSR election and RP election are implemented independently within each IPv6 admin-scoped zone. Each IPv6 admin-scoped zone has its own boundary. The multicast information cannot cross this border in either direction. A better understanding of the IPv6 global-scoped zone and IPv6 admin-scoped zones should be based on geographical space and group address range.
· In view of geographical space:
IPv6 admin-scoped zones are logical zones specific to particular multicast groups. The multicast packets of these multicast groups are confined within the local IPv6 admin-scoped zone and cannot cross the boundary of the zone.
Figure 7 Relationship between admin-scoped zones and the global-scoped zone in geographic space
As shown in Figure 7, for multicast groups with the same Scope field in their group addresses, IPv6 admin-scoped zones must be geographically separated from one another. A router must not provide services for different admin-scoped zones. Different admin-scoped zones contain different routers, whereas the global-scoped zone covers all routers in the IPv6 PIM-SM domain. Multicast packets that do not belong to any admin-scoped zones can be transmitted in the entire IPv6 PIM-SM domain.
· In view of multicast group address Scope field:
As shown in Figure 8, the Scope field in each IPv6 multicast group address indicates the admin-scoped zone to which the corresponding multicast group to.
Figure 8 IPv6 multicast address format
The admin-scoped zone range increases with the value of the Scope field. For example, value E indicates IPv6 global-scoped, which contains other admin-scoped zones with the Scope field values smaller than E. Possible values of the Scope field are given in Table 2.
Table 2 Values of the Scope field
Meaning |
Remarks |
|
0, F |
Reserved |
N/A |
1 |
Interface-local scope |
N/A |
2 |
Link-local scope |
N/A |
3 |
Subnet-local scope |
IPv6 admin-scoped zone. |
4 |
Admin-local scope |
IPv6 admin-scoped zone. |
5 |
Site-local scope |
IPv6 admin-scoped zone. |
6, 7, 9 through D |
Unassigned |
IPv6 admin-scoped zone. |
8 |
Organization-local scope |
IPv6 admin-scoped zone. |
E |
Global scope |
IPv6 global-scoped zone. |
IPv6 PIM-SSM overview
The source-specific multicast (SSM) model and the any-source multicast (ASM) model are opposites. The ASM model includes the IPv6 PIM-DM and IPv6 PIM-SM modes. The SSM model can be implemented by leveraging part of the IPv6 PIM-SM technique, and it is also called IPv6 PIM-SSM.
The SSM model provides a solution for source-specific multicast. It maintains the relationships between hosts and routers through MLDv2.
In actual application, MLDv2 and part of IPv6 PIM-SM technique is adopted to implement the SSM model. In the SSM model, receivers know exactly where an IPv6 multicast source is located by using advertisements, consultancy, and so on. Therefore, no RP is needed, no RPT is required, and no source registration process is needed for the purpose of discovering IPv6 multicast sources in other IPv6 PIM domains.
In IPv6 PIM-SSM, the term "channel" refers to an IPv6 multicast group, and the term "channel subscription" refers to a join message.
The operating mechanism of IPv6 PIM-SSM is summarized as follows:
· Neighbor discovery
· DR election
· SPT building
Neighbor discovery
IPv6 PIM-SSM uses the same neighbor discovery mechanism as in IPv6 PIM-SM. For more information, see "Neighbor discovery."
DR election
IPv6 PIM-SSM uses the same DR election mechanism as in IPv6 PIM-SM. For more information, see "DR election."
SPT building
Whether to build an RPT for IPv6 PIM-SM or an SPT for IPv6 PIM-SSM depends on whether the IPv6 multicast group that the receiver will join is in the IPv6 SSM group range. The IPv6 SSM group range that IANA has reserved is FF3x::/32, where x represents any legal address scope.
Figure 9 Building an SPT in IPv6 PIM-SSM
As shown in Figure 9, Hosts B and C are IPv6 multicast information receivers. They send an MLDv2 report message to the respective DRs to announce that they are interested in information about a specific IPv6 multicast source S and that sent to the IPv6 multicast group G.
The DR that has received the report first determines whether the IPv6 group address in this message is in the IPv6 SSM group range:
· If so, the IPv6 PIM-SSM model is built. The DR sends a channel subscription message hop by hop toward the IPv6 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 IPv6 PIM-SSM.
· If not, the IPv6 PIM-SM process is followed. The receiver-side DR sends a (*, G) join message to the RP, and the IPv6 source-side DR starts an IPv6 multicast source registration process.
Protocols and standards
· RFC 3973, Protocol Independent Multicast-Dense Mode(PIM-DM):Protocol Specification(Revised)
· RFC 4601, Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification (Revised)
· RFC 3956, Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address
· RFC 5059, Bootstrap Router (BSR) Mechanism for Protocol Independent Multicast (PIM)
· RFC 4607, Source-Specific Multicast for IP
· draft-ietf-ssm-overview-05, An Overview of Source-Specific Multicast (SSM)
Configuring IPv6 PIM-DM
IPv6 PIM-DM configuration task list
Task |
Remarks |
Required. |
|
Optional. |
|
Optional. |
|
Optional. |
|
Optional. |
Configuration prerequisites
Before you configure IPv6 PIM-DM, complete the following tasks:
· Enable IPv6 forwarding and configure an IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
· Determine the interval between state refresh messages.
· Determine the minimum time to wait before receiving a new refresh message.
· Determine the hop limit value of state-refresh messages.
· Determine the graft retry period.
Enabling IPv6 PIM-DM
With IPv6 PIM-DM enabled, a router sends hello messages periodically to discover IPv6 PIM neighbors and processes messages from the IPv6 PIM neighbors.
When you enable IPv6 PIM-DM, follow these guidelines:
· When you deploy an IPv6 PIM-DM domain, enable IPv6 PIM-DM on all non-border interfaces of routers.
· All the interfaces of the same device must operate in the same IPv6 PIM mode.
· IPv6 PIM-DM cannot be used for IPv6 multicast groups in the IPv6 SSM group range.
To enable IPv6 PIM-DM:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable IPv6 multicast routing. |
multicast ipv6 routing-enable |
Disable by default. |
3. Enter interface view. |
interface interface-type interface-number |
N/A |
4. Enable IPv6 PIM-DM. |
pim ipv6 dm |
Disabled by default. |
Enabling state-refresh capability
Pruned interfaces resume multicast forwarding when the pruned state times out. To prevent this, the router directly connected with the IPv6 multicast source periodically sends an (S, G) state-refresh message, which is forwarded hop by hop along the initial flooding path of the IPv6 PIM-DM domain, to refresh the prune timer state of all the routers on the path. A multi-access subnet can have the state-refresh capability only if the state-refresh capability is enabled on all IPv6 PIM routers on the subnet.
To enable the state-refresh capability:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Enable the state-refresh capability. |
pim ipv6 state-refresh-capable |
Optional. Enabled by default. |
Configuring state refresh parameters
The router directly connected with the multicast source periodically sends state-refresh messages. You can configure the interval for sending such messages.
A router might receive multiple state-refresh messages within a short time. Some messages might be duplicated messages. To keep a router from receiving such duplicated messages, you can configure the time that the router must wait before receiving the next state-refresh message. If the router receives a new state-refresh message within the waiting time, it discards it. If this timer times out, the router will accept a new state-refresh message, refresh its own IPv6 PIM-DM state, and reset the waiting timer.
The hop limit value of a state-refresh message decrements by 1 whenever it passes a router before it is forwarded to the downstream node until the hop limit value comes down to 0. In a small network, a state-refresh message might cycle in the network. To control the propagation scope of state-refresh messages, you must configure an appropriate hop limit value based on the network size.
Perform the following configurations on all routers in the IPv6 PIM domain.
To configure state-refresh parameters:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the interval between state-refresh messages. |
state-refresh-interval interval |
Optional. 60 seconds by default. |
4. Configure the time to wait before receiving a new state-refresh message. |
state-refresh-rate-limit interval |
Optional. 30 seconds by default. |
5. Configure the hop limit value of state-refresh messages. |
state-refresh-hoplimit hoplimit-value |
Optional. 255 by default. |
Configuring IPv6 PIM-DM graft retry period
In IPv6 PIM-DM, graft is the only type of message that uses the acknowledgment mechanism. In an IPv6 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 (graft retry period) until it receives a graft-ack message from the upstream router.
To configure IPv6 PIM-DM graft retry period:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure graft retry period. |
pim ipv6 timer graft-retry interval |
Optional. 3 seconds by default. |
For more information about the configuration of other timers in IPv6 PIM-DM, see "Configuring IPv6 PIM common timers."
Configuring IPv6 PIM-SM
IPv6 PIM-SM configuration task list
Task |
Remarks |
|
Required. |
||
Required. Use at least one method. In an IPv6 network with a static RP, skip the task of configuring a BSR. |
||
Optional. |
||
Required. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
Configuration prerequisites
Before you configure IPv6 PIM-SM, complete the following tasks:
· Enable IPv6 forwarding and configure an IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
· Determine the IP address of a static RP and the ACL rule defining the range of IPv6 multicast groups to which the static RP is designated.
· Determine the C-RP priority and the ACL rule defining the range of IPv6 multicast groups to which the C-RP is designated.
· Determine the legal C-RP address range and the ACL rule defining the range of IPv6 multicast groups to which the C-RP is designated.
· Determine the C-RP-Adv interval.
· Determine the C-RP timeout.
· Determine the C-BSR priority.
· Determine the hash mask length.
· Determine the IPv6 ACL rule defining a legal BSR address range.
· Determine the BS period.
· Determine the BS timeout.
· Determine the IPv6 ACL rule for register message filtering.
· Determine the register suppression time.
· Determine the register probe time.
· Determine the IPv6 ACL rule and sequencing rule for initiating a switchover to SPT.
Enabling IPv6 PIM-SM
With IPv6 PIM-SM enabled, a router sends hello messages periodically to discover IPv6 PIM neighbors and processes messages from the IPv6 PIM neighbors. When you deploy an IPv6 PIM-SM domain, enable IPv6 PIM-SM on all non-border interfaces of the routers.
To enable IPv6 PIM-SM:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable IPv6 multicast routing. |
multicast ipv6 routing-enable |
Disable by default. |
3. Enter interface view. |
interface interface-type interface-number |
N/A |
4. Enable IPv6 PIM-SM. |
pim ipv6 sm |
Disabled by default. |
|
IMPORTANT: All the interfaces of the same device must operate in the same IPv6 PIM mode. |
Configuring an RP
An RP can be manually configured or dynamically elected through the BSR mechanism. For a large IPv6 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
|
IMPORTANT: To enable a static RP to operate correctly, you must perform this configuration on all routers in the IPv6 PIM-SM domain and specify the same RP address. |
Perform the following configuration on all the routers in the IPv6 PIM-SM domain.
To configure a static RP:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure a static RP for IPv6 PIM-SM. |
static-rp ipv6-rp-address [ acl6-number ] [ preferred ] |
No static RP by default. |
Configuring a C-RP
In an IPv6 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. H3C recommends 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 IPv6 multicast groups to which the C-RP is designated 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 IPv6 PIM-SM domain.
When you configure a C-RP, ensure a relatively large bandwidth between this C-RP and the other devices in the IPv6 PIM-SM domain.
To configure a C-RP:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure an interface to be a C-RP for IPv6 PIM-SM. |
c-rp ipv6-address [ { group-policy acl6-number | scope scope-id } | priority priority | holdtime hold-interval | advertisement-interval adv-interval ] * |
No C-RPs are configured by default. |
4. Configure a legal C-RP address range and the range of IPv6 multicast groups to which the C-RP is designated. |
crp-policy acl6-number |
Optional. No restrictions by default. |
Enabling embedded RP
The embedded RP feature can resolve the RP address directly from the IPv6 multicast group address of an IPv6 multicast packets. This RP can replace the statically configured RP or the RP dynamically calculated based on the BSR mechanism. Thus, the DR does not need to know the RP address beforehand.
Perform the following configuration on all routers in IPv6 PIM-SM domain.
To enable embedded RP:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Enable embedded RP. |
embedded-rp [ acl6-number ] |
Optional. By default, embedded RP is enabled for IPv6 multicast groups in the default embedded RP address scopes. |
|
NOTE: The default embedded RP address scopes are FF7x::/12 and FFFx::/12. Here "x" refers to any legal address scope. For more information about the Scope field, see "Multicast overview." |
Configuring C-RP timers globally
To enable the BSR to distribute the RP-set information within the IPv6 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 IPv6 address together with the RP-set information in its bootstrap messages. The BSR then floods the bootstrap messages to all IPv6 routers in the network.
Each C-RP encapsulates a timeout value in its C-RP-Adv messages. After receiving a C-RP-Adv message, the BSR obtains this timeout value and starts a C-RP timeout timer. If the BSR fails to obtain a subsequent C-RP-Adv message from the C-RP when the timer times out, the BSR assumes the C-RP to have expired or become unreachable.
You must configure the C-RP timers on C-RP routers.
To configure C-RP timers globally:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the C-RP-Adv interval. |
c-rp advertisement-interval interval |
Optional. 60 seconds by default. |
4. Configure C-RP timeout time. |
c-rp holdtime interval |
Optional. 150 seconds by default. |
For more information about the configuration of other timers in IPv6 PIM-SM, see "Configuring IPv6 PIM common timers."
Configuring a BSR
An IPv6 PIM-SM domain can have only one BSR, but must have at least one C-BSR. Any router can be configured as a C-BSR. Elected from C-BSRs, the BSR is responsible for collecting and advertising RP information in the IPv6 PIM-SM domain.
Configuring a C-BSR
Configure C-BSRs on routers in the backbone network. When you configure a router as a C-BSR, be sure to specify the IPv6 address of an IPv6 PIM-SM-enabled interface on the router. The BSR election process is summarized as follows:
1. Initially, every C-BSR assumes itself to be the BSR of this IPv6 PIM-SM domain, and uses its interface IPv6 address as the BSR address to send bootstrap messages.
2. 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 the message. The C-BSR with a higher priority wins. If a tie exists in the priority, the C-BSR with a higher IPv6 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, and the winner keeps 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, in order to prevent a maliciously configured host from masquerading as a BSR. You must make the same configuration on all routers in the IPv6 PIM-SM domain. The following are typical BSR spoofing cases and the corresponding preventive measures:
· 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.
· When an attacker controls a router in the network or when the network contains an illegal router, 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 you configure a router as a C-BSR, the router automatically floods the network with bootstrap messages. Because a bootstrap message has a hop limit 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 preventive measures can partially protect the security of BSRs in a network. However, if an attacker controls a legal BSR, the preceding problem will also occur.
Because a large amount of information needs to be exchanged between a BSR and the other devices in the IPv6 PIM-SM domain, a relatively large bandwidth should be provided between the C-BSR and the other devices in the IPv6 PIM-SM domain.
To complete basic BSR configuration:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure an interface as a C-BSR. |
c-bsr ipv6-address [ hash-length [ priority ] ] |
No C-BSRs are configured by default. |
4. Configure a legal BSR address range. |
bsr-policy acl6-number |
Optional. No restrictions by default. |
Configuring an IPv6 PIM domain border
As the administrative core of an IPv6 PIM-SM domain, the BSR sends the collected RP-set information in the form of bootstrap messages to all routers in the IPv6 PIM-SM domain.
An IPv6 PIM domain border is a bootstrap message boundary. Each BSR has its specific service scope. IPv6 PIM domain border interfaces partition a network into different IPv6 PIM-SM domains. Bootstrap messages cannot cross a domain border in either direction.
Perform the following configuration on routers that you want to configure as an IPv6 PIM domain border.
To configure an IPv6 PIM border domain:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configuring an IPv6 PIM domain border. |
pim ipv6 bsr-boundary |
No IPv6 PIM domain border is configured by default. |
Configuring C-BSR parameters globally
In each IPv6 PIM-SM domain, a unique BSR is elected from C-BSRs. The C-RPs in the IPv6 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 IPv6 PIM-SM domain. All the routers use the same hash algorithm to get the RP address that corresponds to specific IPv6 multicast groups.
Perform the following configuration on C-BSR routers.
To configure C-BSR parameters globally:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the hash mask length. |
c-bsr hash-length hash-length |
Optional. 126 by default. |
4. Configure the C-BSR priority. |
c-bsr priority priority |
Optional. 64 by default. |
Configuring C-BSR timers
The BSR election winner multicasts its own IPv6 address and RP-Set information throughout the region to which it is designated through bootstrap messages. The BSR floods bootstrap messages throughout the network at the interval of the 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 occurs. If the BSR state times out and no bootstrap message is received from the BSR, a new BSR election process begins among the C-BSRs.
Perform the following configuration on C-BSR routers. If you set values for the BS period and the BS timeout timer, the system uses the configured ones instead of the default ones.
To configure C-BSR timers:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the BS period. |
c-bsr interval interval |
Optional. By default, the BS period is determined by the formula "BS period = (BS timeout – 10) / 2". The default BS timeout is 130 seconds, so the default BS period = (130 – 10) / 2 = 60 (seconds). In configuration, make sure that the BS period is smaller than the BS timeout value. |
4. Configure the BS timeout. |
c-bsr holdtime interval |
Optional. By default, the BS timeout value is determined by the formula "BS timeout = BS period × 2 + 10". The default BS period is 60 seconds, so the default BS timeout = 60 × 2 + 10 = 130 (seconds). |
Disabling BSM semantic fragmentation
Generally, a BSR periodically distributes the RP-set information in bootstrap messages within the IPv6 PIM-SM domain. It encapsulates a BSM in an IPv6 datagram and might split the datagram into fragments if the message exceeds the maximum transmission unit (MTU). In respect of such IP fragmentation, loss of a single IP fragment leads to unavailability of the entire message.
Semantic fragmentation of BSMs can solve this issue. When a BSM exceeds the MTU, it is split to multiple bootstrap message fragments (BSMFs).
· After receiving a BSMF that contains the RP-set information of one group range, a non-BSR router updates corresponding RP-set information directly.
· If the RP-set information of one group range is carried in multiple BSMFs, a non-BSR router updates corresponding RP-set information after receiving all these BSMFs.
Because the RP-set information contained in each segment is different, loss of some IP fragments will not result in dropping of the entire message.
Generally, a BSR performs BSM semantic fragmentation according to the MTU of its BSR interface. However, the semantic fragmentation of BSMs originated due to learning of a new IPv6 PIM neighbor is performed according to the MTU of the outgoing interface.
The function of BSM semantic fragmentation is enabled by default. Devices not supporting this function might deem a fragment as an entire message, thus learning only part of the RP-set information. Therefore, if such devices exist in the IPv6 PIM-SM domain, you need to disable the semantic fragmentation function on the C-BSRs.
To disable the BSM semantic fragmentation function:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Disable the BSM semantic fragmentation function. |
undo bsm-fragment enable |
By default, the BSM semantic fragmentation function is enabled. |
Configuring IPv6 administrative scoping
Enabling IPv6 administrative scoping
Before you configure an IPv6 admin-scoped zone, you must enable IPv6 administrative scoping first.
Perform the following configuration on all routers in the IPv6 PIM-SM domain.
To enable IPv6 administrative scoping:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Enable IPv6 administrative scoping. |
c-bsr admin-scope |
Disabled by default. |
Configuring an IPv6 admin-scoped zone boundary
The boundary of each IPv6 admin-scoped zone is formed by ZBRs. Each admin-scoped zone maintains a BSR to provide services for multicast groups with a specific Scope field in their group addresses. Multicast protocol packets (such as assert messages and bootstrap messages) that belong to this range cannot cross the admin-scoped zone boundary.
Perform the following configuration on routers that you want to configure as a ZBR.
To configure an IPv6 admin-scoped zone boundary:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure an IPv6 multicast forwarding boundary. |
multicast ipv6 boundary { ipv6-group-address prefix-length | scope { scope-id | admin-local | global | organization-local | site-local } } |
By default, no multicast forwarding boundary is configured. |
Configuring C-BSRs for IPv6 admin-scoped zones
In a network with IPv6 administrative scoping enabled, BSRs are elected from C-BSRs specific to different Scope field values. C-RPs in the network send advertisement messages to a specific BSR. The BSR summarizes the advertisement messages to form an RP-set and advertises it to all routers in a specific admin-scoped zone. All the routers use the same hash algorithm to get the RP address corresponding to a specific IPv6 multicast group.
You can configure the hash mask length and C-BSR priority globally and in an IPv6 admin-scoped zone.
· The values configured in the IPv6 admin-scoped zone have preference over the global values.
· If you do not configure these parameters in the IPv6 admin-scoped zone, the corresponding global values will be used.
For configuration of global C-BSR parameters, see "Configuring C-BSR parameters globally."
Perform the following configuration on the routers that you want to configure as C-BSRs in IPv6 admin-scoped zones.
To configure a C-BSR for an IPv6 admin-scoped zone:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure a C-BSR for an IPv6 admin-scoped zone. |
c-bsr scope { scope-id | admin-local | global | organization-local | site-local } [ hash-length hash-length | priority priority ] * |
No C-BSRs are configured for an IPv6 admin-scoped zone by default. |
Configuring IPv6 multicast source registration
Within an IPv6 PIM-SM domain, the source-side DR sends register messages to the RP, and these register messages have different IPv6 multicast source or IPv6 multicast group addresses. You can configure a filtering rule to filter register messages so that the RP can provide services for specific IPv6 multicast groups. If the filtering rule denies an (S, G) entry, or the filtering rule does not define an action for this entry, the RP will send a register-stop message to the DR to stop the registration process for the IPv6 multicast data.
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, H3C recommends not using this method of checksum calculation.
When receivers stop receiving data addressed to a certain IPv6 multicast group through the RP (indicating that the RP stops providing services for the receivers of that IPv6 multicast group), or when the RP starts receiving IPv6 multicast data from the IPv6 multicast source along the SPT, the RP sends a register-stop message to the source-side DR. After receiving this message, the DR stops sending register messages encapsulated with IPv6 multicast data and starts a register-stop timer. Before the register-stop timer expires, the DR sends a null register message (a register message without 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 might become IPv6 source-side DRs.
To configure register-related parameters:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure a filtering rule for register messages. |
register-policy acl6-number |
Optional. No register filtering rule by default. |
4. Configure the device to calculate the checksum based on the entire register messages. |
register-whole-checksum |
Optional. Based on the header of register messages by default. |
5. Configure the register suppression time. |
register-suppression-timeout interval |
Optional. 60 seconds by default. |
6. Configure the register probe time. |
probe-interval interval |
Optional. 5 seconds by default. |
Configuring switchover to SPT
|
CAUTION: If the switch is an RP, disabling switchover to SPT might cause multicast traffic forwarding failures on the source-side DR. When disabling switchover to SPT, be sure you fully understand its impact on your network. |
In an IPv6 PIM-SM network, an IPv6 multicast stream first flows to the receivers down an RPT. However, because an RPT is not necessarily the tree that has the shortest path, the IPv6 multicast forwarding path needs to be switched from the RPT to the SPT when the IPv6 multicast traffic is large. By default, the receiver-side DR initiates a switchover to SPT process upon receiving the first IPv6 multicast packet.
Perform the following configuration on switched that might become receiver-side DRs.
To configure switchover to SPT:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the switchover to SPT. |
spt-switch-threshold infinity [ group-policy acl6-number [ order order-value ] ] |
Optional. By default, the device switches to the SPT immediately after it receives the first IPv6 multicast packet from the RPT. The traffic-rate argument is not supported on a switch. |
Configuring IPv6 administrative scoping
With administrative scoping disabled, an IPv6 BIDIR-PIM domain has only one BSR. The BSR manages the whole network. To manage your network more effectively and specifically, you can partition the IPv6 BIDIR-PIM domain into multiple admin-scoped zones. Each admin-scoped zone maintains a BSR to provide services for a specific multicast group range. The global-scoped zone also maintains a BSR to provide services for all the rest multicast groups.
Enabling IPv6 administrative scoping
Before you configure an IPv6 admin-scoped zone, you must enable IPv6 administrative scoping first.
Perform the following configuration on all routers in the IPv6 PIM-SM domain.
To enable IPv6 administrative scoping:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Enable IPv6 administrative scoping. |
c-bsr admin-scope |
Disabled by default. |
Configuring an IPv6 admin-scoped zone boundary
The boundary of each IPv6 admin-scoped zone is formed by ZBRs. Each admin-scoped zone maintains a BSR to provide services for a specific IPv6 multicast group range. IPv6 multicast packets (such as assert messages and bootstrap messages) that belong to this range cannot cross the admin-scoped zone boundary.
Perform the following configuration on routers that you want to configure as a ZBR.
To configure an admin-scoped zone boundary:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure an IPv6 multicast forwarding boundary. |
multicast ipv6 boundary { ipv6-group-address prefix-length | scope { scope-id | admin-local | global | organization-local | site-local } } |
By default, no IPv6 multicast forwarding boundary is configured. |
Configuring C-BSRs for each admin-scoped 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 a specific BSR. The BSR summarizes the advertisement messages to form an RP-set and advertises it to all routers in a specific admin-scoped zone. All the routers use the same hash algorithm to get the RP address corresponding to a specific multicast group.
You can configure the hash mask length and C-BSR priority globally, only in an IPv6 admin-scoped zone, or both globally and in an IPv6 admin-scoped zone.
The values configured in the IPv6 admin-scoped zone have preference over the global values.
If you do not configure these parameters in the IPv6 admin-scoped zone, the corresponding global values will be used.
For information about how to configure of global C-BSR parameters, see "Configuring C-BSR parameters globally."
Perform the following configuration on the routers that you want to configure as C-BSRs in admin-scoped zones.
To configure a C-BSR for an admin-scoped zone:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure a C-BSR for an admin-scoped zone. |
c-bsr scope { scope-id | admin-local | global | organization-local | site-local } [ hash-length hash-length | priority priority ] * |
No C-BSRs are configured for an admin-scoped zone by default. |
Configuring IPv6 PIM-SSM
|
IMPORTANT: The IPv6 PIM-SSM model needs the support of MLDv2. Be sure to enable MLDv2 on IPv6 PIM routers with receivers attached to them. |
IPv6 PIM-SSM configuration task list
Task |
Remarks |
Required. |
|
Optional. |
|
Optional. |
Configuration prerequisites
Before you configure IPv6 PIM-SSM, complete the following tasks:
· Enable IPv6 forwarding and configure an IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
· Determine the IPv6 SSM group range.
Enabling IPv6 PIM-SM
The SSM model is implemented based on some subsets of IPv6 PIM-SM. Therefore, you must enable IPv6 PIM-SM before configuring IPv6 PIM-SSM.
When you deploy an IPv6 PIM-SSM domain, enable IPv6 PIM-SM on all non-border interfaces of routers.
To enable IPv6 PIM-SSM:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable IPv6 multicast routing. |
multicast ipv6 routing-enable |
Disable by default. |
3. Enter interface view. |
interface interface-type interface-number |
N/A |
4. Enable IPv6 PIM-SM. |
pim ipv6 sm |
Disabled by default. |
|
IMPORTANT: All the interfaces of the same device must operate in the same IPv6 PIM mode. |
Configuring the IPv6 SSM group range
Whether the information from an IPv6 multicast source is delivered to the receivers based on the IPv6 PIM-SSM model or the IPv6 PIM-SM model depends on whether the group address in the (S, G) channel subscribed by the receivers is in the IPv6 SSM group range. All IPv6 PIM-SM-enabled interfaces assume that IPv6 multicast groups within this address range are using the IPv6 SSM model.
|
CAUTION: · Make sure the same IPv6 SSM group range is configured on all routers in the entire domain. Otherwise, IPv6 multicast data cannot be delivered through the IPv6 SSM model. · When a member of an IPv6 multicast group in the IPv6 SSM group range sends an MLDv1 report message, the device does not trigger a (*, G) join. |
Perform the following configuration on all routers in the IPv6 PIM-SSM domain.
To configure the IPv6 SSM group range:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the IPv6 SSM group range. |
ssm-policy acl6-number |
Optional. FF3x::/32 by default. Here "x" refers to any legal group scope. |
Configuring IPv6 PIM common features
IPv6 PIM common feature configuration task list
Task |
Remarks |
Optional. |
|
Optional. |
|
Optional. |
|
Optional. |
|
Optional. |
|
Optional. |
|
Optional. |
For the configuration tasks in this section:
· In IPv6 PIM view, the configuration takes effect on all interfaces. In interface view, the configuration takes effect on only the current interface.
· If the same function or parameter is configured in both IPv6 PIM view and interface view, the configuration in interface view has preference over the configuration in PIM view, regardless of the configuration sequence.
Configuration prerequisites
Before you configure IPv6 PIM common features, complete the following tasks:
· Enable IPv6 forwarding and configure an IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
· Configure IPv6 PIM-DM (or IPv6 PIM-SM or IPv6 PIM-SSM).
· Determine the IPv6 ACL rule for filtering IPv6 multicast data.
· Determine the IPv6 ACL rule defining a legal source address range for hello messages.
· Determine the priority for DR election (global value/interface level value).
· Determine the IPv6 PIM neighbor timeout time (global value/interface value).
· Determine the prune message delay (global value/interface level value).
· Determine the prune override interval (global value/interface level value).
· Determine the prune delay.
· Determine the hello interval (global value/interface level value).
· Determine the maximum delay between hello messages (interface level value).
· Determine the assert timeout time (global value/interface value).
· Determine the join/prune interval (global value/interface level value).
· Determine the join/prune timeout (global value/interface value).
· Determine the IPv6 multicast source lifetime.
· Determine the maximum size of join/prune messages.
· Determine the maximum number of (S, G) entries in a join/prune message.
Configuring an IPv6 multicast data filter
No matter in an IPv6 PIM-DM domain or an IPv6 PIM-SM domain, routers can check passing-by IPv6 multicast data based on the configured filtering rules and determine whether to continue forwarding the IPv6 multicast data. In other words, IPv6 PIM routers can act as IPv6 multicast data filters. These filters can help implement traffic control on one hand, and control the information available to downstream receivers to enhance data security on the other hand.
To configure an IPv6 multicast data filter:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure an IPv6 multicast group filter. |
source-policy acl6-number |
No IPv6 multicast data filter by default. |
|
NOTE: · Generally, a smaller distance from the filter to the IPv6 multicast source results in a more remarkable filtering effect. · This filter works not only on independent IPv6 multicast data but also on IPv6 multicast data encapsulated in register messages. |
Configuring a hello message filter
Along with the wide applications of IPv6 PIM, the security requirement for the protocol is becoming increasingly demanding. The establishment of correct IPv6 PIM neighboring relationships is a prerequisite for secure application of IPv6 PIM. To guide against IPv6 PIM message attacks, you can configure a legal source address range for hello messages on interfaces of routers to ensure the correct IPv6 PIM neighboring relationships.
To configure a hello message filter:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure a hello message filter. |
pim ipv6 neighbor-policy acl6-number |
No hello message filter by default. |
|
NOTE: With the hello message filter configured, if hello messages of an existing IPv6 PIM neighbor fail to pass the filter, the IPv6 PIM neighbor will be removed automatically when it times out. |
Configuring IPv6 PIM hello options
· DR_Priority (for IPv6 PIM-SM only)—Priority for DR election. The higher the priority is, the easier it is for the router to win DR election. You can configure this parameter on all the routers in a multi-access network directly connected to IPv6 multicast sources or receivers.
· Holdtime—Timeout time of IPv6 PIM neighbor reachability state. When this timer times out, if the router has received no hello message from an IPv6 PIM neighbor, it assumes that this neighbor has expired or become unreachable.
· LAN_Prune_Delay—Delay of prune messages on a multi-access network. This option consists of Lan-delay (prune message delay), override-interval, and neighbor tracking flag. If the LAN-delay or override-interval values of different IPv6 PIM routers on a multi-access subnet are different, the largest value will take effect. If you want to enable neighbor tracking, be sure to enable the neighbor tracking feature on all IPv6 PIM routers on a multi-access subnet.
The LAN-delay setting will cause the upstream routers to delay forwarding received prune messages. The override-interval sets the length of time that a downstream router can 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 IPv6 multicast data, it must send a join message within the prune override interval. Otherwise, the upstream route will perform the prune action when the period of LAN-delay plus override-interval times out.
A hello message sent from an IPv6 PIM router contains a generation ID option. The generation ID is a random value for the interface on which the hello message is sent. Generally, the generation ID of an IPv6 PIM router does not change unless the status of the router changes (for example, when IPv6 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 an IPv6 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 (enable neighbor tracking), be sure to disable the join suppression feature on all IPv6 PIM routers on a multi-access subnet. Otherwise, the upstream router will fail to explicitly track join messages from downstream routers.
Configuring hello options globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the priority for DR election. |
hello-option dr-priority priority |
Optional. 1 by default. |
4. Configure IPv6 PIM neighbor timeout time. |
hello-option holdtime interval |
Optional. 105 seconds by default. |
5. Configure the prune message delay time (LAN-delay). |
hello-option lan-delay interval |
Optional. 500 milliseconds by default. |
6. Configure the prune override interval. |
hello-option override-interval interval |
Optional. 2500 milliseconds by default. |
7. Disable join suppression. |
hello-option neighbor-tracking |
Enabled by default. |
Configuring hello options on an interface
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure the priority for DR election. |
pim ipv6 hello-option dr-priority priority |
Optional. 1 by default. |
4. Configure IPv6 PIM neighbor timeout time. |
pim ipv6 hello-option holdtime interval |
Optional. 105 seconds by default. |
5. Configure the prune message delay time (LAN-delay). |
pim ipv6 hello-option lan-delay interval |
Optional. 500 milliseconds by default. |
6. Configure the prune override interval. |
pim ipv6 hello-option override-interval interval |
Optional. 2500 milliseconds by default. |
7. Disable join suppression. |
pim ipv6 hello-option neighbor-tracking |
Enabled by default. |
8. Configure the interface to reject hello messages without a generation ID. |
pim ipv6 require-genid |
By default, hello messages without Generation_ID are accepted. |
Configuring the prune delay
Configuring the prune delay on an upstream router in a shared network segment can make the upstream router not perform the prune action immediately after receiving the prune message from its downstream router. Instead, the upstream router maintains the current forwarding state for a period of time that the prune delay defines. In this period, if the upstream router receives a join message from the downstream router, it cancels the prune action. Otherwise, it performs the prune action.
To configure the prune delay time
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the prune delay. |
prune delay interval |
Optional. 3 seconds by default, which equals the prune pending time. |
Configuring IPv6 PIM common timers
IPv6 PIM routers discover IPv6 PIM neighbors and maintain IPv6 PIM neighboring relationships with other routers by periodically sending hello messages.
After receiving a hello message, an IPv6 PIM router waits a random period, which is smaller than the maximum delay between hello messages, before sending a hello message. This avoids collisions that occur when multiple IPv6 PIM routers send hello messages simultaneously.
An IPv6 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 loser will resume IPv6 multicast forwarding.
When a router fails to receive subsequent IPv6 multicast data from the IPv6 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 (IPv6 multicast source lifetime) before deleting the (S, G) entry.
Configuring IPv6 PIM common timers globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the hello interval. |
timer hello interval |
Optional. 30 seconds by default. |
4. Configure the join/prune interval. |
timer join-prune interval |
Optional. 60 seconds by default. |
5. Configure the join/prune timeout time. |
holdtime join-prune interval |
Optional. 210 seconds by default. |
6. Configure assert timeout time. |
holdtime assert interval |
Optional. 180 seconds by default. |
7. Configure the IPv6 multicast source lifetime. |
source-lifetime interval |
Optional. 210 seconds by default. |
Configuring IPv6 PIM common timers on an interface
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure the hello interval. |
pim ipv6 timer hello interval |
Optional. 30 seconds by default. |
4. Configure the maximum delay between hello messages. |
pim ipv6 triggered-hello-delay interval |
Optional. 5 seconds by default. |
5. Configure the join/prune interval. |
pim ipv6 timer join-prune interval |
Optional. 60 seconds by default. |
6. Configure the join/prune timeout time. |
pim ipv6 holdtime join-prune interval |
Optional. 210 seconds by default. |
7. Configure assert timeout time. |
pim ipv6 holdtime assert interval |
Optional. 180 seconds by default. |
|
NOTE: If no special networking requirements are raised, 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.
To configure join/prune message sizes:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IPv6 PIM view. |
pim ipv6 |
N/A |
3. Configure the maximum size of a join/prune message. |
jp-pkt-size packet-size |
Optional. 8100 bytes by default. |
4. Configure the maximum number of (S, G) entries in a join/prune message. |
jp-queue-size queue-size |
Optional. 1020 by default. |
Configuring BFD for IPv6 PIM
IPv6 PIM uses hello messages to elect a DR for a multi-access network. The elected DR will be the only multicast forwarder on the multi-access network.
If the DR fails, a new DR election process will start after the DR is aged out. However, it might take a long period of time. To start a new DR election process immediately after the original DR fails, you can enable BFD for IPv6 PIM on a multi-access network to detect failures of the links among IPv6 PIM neighbors. You must enable BFD for IPv6 PIM on all IPv6 PIM-capable routers on a multi-access network, so that the IPv6 PIM neighbors can fast detect DR failures and start a new DR election process.
Before you configure this feature on an interface, be sure to enable IPv6 PIM-DM or IPv6 PIM-SM on the interface.
To enable BFD for IPv6 PIM:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Enable BFD for IPv6 PIM. |
pim ipv6 bfd enable |
Disabled by default. |
For more information about BFD, see High Availability Configuration Guide.
Displaying and maintaining IPv6 PIM
Task |
Command |
Remarks |
Display the BSR information in the IPv6 PIM-SM domain and locally configured C-RP information in effect. |
display pim ipv6 bsr-info [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display IPv6 unicast routes used by IPv6 PIM. |
display pim ipv6 claimed-route [ ipv6-source-address ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display the number of IPv6 PIM control messages. |
display pim ipv6 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 } ] * ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display information about unacknowledged PIM-DM graft messages. |
display pim ipv6 grafts [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display IPv6 PIM information on an interface. |
display pim ipv6 interface [ interface-type interface-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display information about join/prune messages to send. |
display pim ipv6 join-prune mode { sm [ flags flag-value ] | ssm } [ interface interface-type interface-number | neighbor ipv6-neighbor-address ] * [ verbose ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display IPv6 PIM neighboring information. |
display pim ipv6 neighbor [ interface interface-type interface-number | ipv6-neighbor-address | verbose ] * [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display information about IPv6 PIM routing table. |
display pim ipv6 routing-table [ ipv6-group-address [ prefix-length ] | ipv6-source-address [ prefix-length ] | incoming-interface [ interface-type interface-number | register ] | outgoing-interface { include | exclude | match } { interface-type interface-number | register } | mode mode-type | flags flag-value | fsm ] * [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display RP information. |
display pim ipv6 rp-info [ ipv6-group-address ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Reset statistics for IPv6 PIM control messages. |
reset pim ipv6 control-message counters [ interface interface-type interface-number ] |
Available in user view. |
IPv6 PIM configuration examples
|
IMPORTANT: By default, Ethernet interfaces, VLAN interfaces, and aggregate interfaces are in the state of DOWN. To configure such an interface, use the undo shutdown command to bring it up first. |
IPv6 PIM-DM configuration example
Network requirements
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 IPv6 PIM domain is operating in the dense mode.
Host A and Host C are multicast receivers in two stub networks N1 and N2.
MLDv1 runs between Switch A and N1 and between Switch B/Switch C and N2.
Table 3 shows the interface and IPv6 address assignment, and network topology scheme.
Table 3 Interface and IPv6 address assignment
Interface |
IPv6 address |
|
Switch A |
VLAN-interface 100 |
1001::1/64 |
Switch A |
VLAN-interface 103 |
1002::1/64 |
Switch B |
VLAN-interface 200 |
2001::1/64 |
Switch B |
VLAN-interface 101 |
2002::1/64 |
Switch C |
VLAN-interface 200 |
2001::2/64 |
Switch C |
VLAN-interface 102 |
3001::1/64 |
Switch D |
VLAN-interface 300 |
4001::1/64 |
Switch D |
VLAN-interface 103 |
1002::2/64 |
Switch D |
VLAN-interface 101 |
2002::2/64 |
Switch D |
VLAN-interface 102 |
3001::2/64 |
Configuration procedure
1. Enable IPv6 forwarding on each switch and configure the IPv6 address and prefix length for each interface as per Figure 10. (Details not shown.)
2. Configure OSPFv3 on the switches in the IPv6 PIM-DM domain to ensure network-layer reachability among them. (Details not shown.)
3. Enable IPv6 multicast routing, and enable IPv6 PIM-DM and MLD:
# Enable IPv6 multicast routing on Switch A, enable IPv6 PIM-DM on each interface, and enable MLD on VLAN-interface 100, which connects Switch A to N1.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] pim ipv6 dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 103
[SwitchA-Vlan-interface103] pim ipv6 dm
[SwitchA-Vlan-interface103] quit
# Enable IPv6 multicast routing on Switch D, and enable IPv6 PIM-DM on each interface.
<SwitchD> system-view
[SwitchD] multicast ipv6 routing-enable
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] pim ipv6 dm
[SwitchD-Vlan-interface300] quit
[SwitchD] interface vlan-interface 103
[SwitchD-Vlan-interface103] pim ipv6 dm
[SwitchD-Vlan-interface103] quit
[SwitchD] interface vlan-interface 101
[SwitchD-Vlan-interface101] pim ipv6 dm
[SwitchD-Vlan-interface101] quit
[SwitchD] interface vlan-interface 102
[SwitchD-Vlan-interface102] pim ipv6 dm
[SwitchD-Vlan-interface102] quit
Verifying the configuration
Use the display pim ipv6 interface command to view the IPv6 PIM configuration and running status on each interface. For example:
# Display the IPv6 PIM configuration information on Switch D.
[SwitchD] display pim ipv6 interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan300 0 30 1 4001::1
(local)
Vlan103 0 30 1 1002::2
(local)
Vlan101 1 30 1 2002::2
(local)
Vlan102 1 30 1 3001::2
(local)
Use the display pim ipv6 neighbor command to view the IPv6 PIM neighboring relationships among the switches. For example:
# Display the IPv6 PIM neighboring relationships on Switch D.
[SwitchD] display pim ipv6 neighbor
Total Number of Neighbors = 3
Neighbor Interface Uptime Expires Dr-Priority
1002::1 Vlan103 00:04:00 00:01:29 1
2002::1 Vlan101 00:04:16 00:01:29 3
3001::1 Vlan102 00:03:54 00:01:17 5
Assume that Host A needs to receive the information addressed to IPv6 multicast group G FF0E::101. After IPv6 multicast source S 4001::100/64 sends IPv6 multicast packets to the IPv6 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 MLD report to Switch A to join IPv6 multicast group G, and a (*, G) entry is generated on Switch A. You can use the display pim IPv6 routing-table command to view the IPv6 PIM routing table information on each switch. For example:
# Display the IPv6 PIM multicast routing table information on Switch A.
[SwitchA] display pim ipv6 routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, FF0E::101)
Protocol: pim-dm, Flag: WC
UpTime: 00:01:24
Upstream interface: NULL
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:01:20, Expires: never
(4001::100, FF0E::101)
Protocol: pim-dm, Flag: ACT
UpTime: 00:01:20
Upstream interface: Vlan-interface103
Upstream neighbor: 1002::2
RPF prime neighbor: 1002::2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: pim-dm, UpTime: 00:01:20, Expires: never
# Display the IPv6 PIM multicast routing table information on Switch D.
[SwitchD] display pim ipv6 routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF0E::101)
Protocol: pim-dm, Flag: LOC ACT
UpTime: 00:02:19
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 2
1: Vlan-interface103
Protocol: pim-dm, UpTime: 00:02:19, Expires: never
2: Vlan-interface102
Protocol: pim-dm, UpTime: 00:02:19, Expires: never
IPv6 PIM-SM non-scoped zone configuration example
Network requirements
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 is operating in the sparse mode.
Host A and Host C are IPv6 multicast receivers in two stub networks N1 and N2.
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 IPv6 multicast group range to which the C-RP is designated is FF0E::101/64; modify the hash mask length to map a certain number of consecutive IPv6 group addresses within the range to the two C-RPs.
MLDv1 runs between Switch A and N1 and between Switch B/Switch C and N2.
Table 4 shows the interface and IPv6 address assignment, and network topology scheme.
Table 4 Interface and IPv6 address assignment
Interface |
IPv6 address |
|
Switch A |
VLAN-interface 100 |
1001::1/64 |
Switch A |
VLAN-interface 101 |
1002::1/64 |
Switch A |
VLAN-interface 102 |
1003::1/64 |
Switch B |
VLAN-interface 200 |
2001::1/64 |
Switch B |
VLAN-interface 103 |
2002::1/64 |
Switch C |
VLAN-interface 200 |
2001::2/64 |
Switch C |
VLAN-interface 104 |
3001::1/64 |
Switch D |
VLAN-interface 300 |
4001::1/64 |
Switch D |
VLAN-interface 101 |
1002::2/64 |
Switch D |
VLAN-interface 105 |
4002::1/64 |
Switch E |
VLAN-interface 104 |
3001::2/64 |
Switch E |
VLAN-interface 103 |
2002::2/64 |
Switch E |
VLAN-interface 102 |
1003::2/64 |
Switch E |
VLAN-interface 105 |
4002::2/64 |
Configuration procedure
1. Enable IPv6 forwarding on each switch and configure the IPv6 address and prefix length for each interface as per Figure 11. (Details not shown.)
2. Configure OSPFv3 on the switches in the IPv6 PIM-DM domain to ensure network-layer reachability among them. (Details not shown.)
3. Enable IPv6 multicast routing, and enable IPv6 PIM-SM and MLD:
# Enable IPv6 multicast routing on Switch A, enable IPv6 PIM-SM on each interface, and enable MLD on VLAN-interface 300, which connects Switch A to N1.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] pim ipv6 sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim ipv6 sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim ipv6 sm
[SwitchA-Vlan-interface102] quit
# Enable IPv6 multicast routing, IPv6 PIM-SM, and MLD on Switch B and Switch C in the same way. (Details not shown.)
# Enable IPv6 multicast routing and IPv6 PIM-SM on Switch D and Switch E in the same way. (Details not shown.)
4. Configure a C-BSR and a C-RP:
# On Switch D, configure the service scope of RP advertisements, specify a C-BSR and a C-RP, and set the hash mask length to 128 and the priority of the C-BSR to 10.
<SwitchD> system-view
[SwitchD] acl ipv6 number 2005
[SwitchD-acl6-basic-2005] rule permit source ff0e::101 64
[SwitchD-acl6-basic-2005] quit
[SwitchD] pim ipv6
[SwitchD-pim6] c-bsr 4002::1 128 10
[SwitchD-pim6] c-rp 4002::1 group-policy 2005
[SwitchD-pim6] 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 128 and the priority of the C-BSR to 20.
<SwitchE> system-view
[SwitchE] acl ipv6 number 2005
[SwitchE-acl6-basic-2005] rule permit source ff0e::101 64
[SwitchE-acl6-basic-2005] quit
[SwitchE] pim ipv6
[SwitchE-pim6] c-bsr 1003::2 128 20
[SwitchE-pim6] c-rp 1003::2 group-policy 2005
[SwitchE-pim6] quit
Verifying the configuration
Use the display pim ipv6 interface command to view the IPv6 PIM configuration and running status on each interface. For example:
# Display the IPv6 PIM information on all interfaces of Switch A.
[SwitchA] display pim ipv6 interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan100 0 30 1 1001::1
(local)
Vlan101 1 30 1 1002::2
Vlan102 1 30 1 1003::2
To view the BSR election information and the locally configured C-RP information in effect on a switch, use the display pim ipv6 bsr-info command. For example:
# Display the BSR information and the locally configured C-RP information in effect on Switch A.
[SwitchA] display pim ipv6 bsr-info
Elected BSR Address: 1003::2
Priority: 20
Hash mask length: 128
State: Accept Preferred
Uptime: 00:04:22
Expires: 00:01:46
# Display the BSR information and the locally configured C-RP information in effect on Switch D.
[SwitchD] display pim ipv6 bsr-info
Elected BSR Address: 1003::2
Priority: 20
Hash mask length: 128
State: Elected
Uptime: 00:05:26
Expires: 00:01:45
Candidate BSR Address: 4002::1
Priority: 10
Hash mask length: 128
State: Candidate
Candidate RP: 4002::1(Vlan-interface105)
Priority: 192
HoldTime: 130
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:48
# Display the BSR information and the locally configured C-RP information in effect on Switch E.
[SwitchE] display pim ipv6 bsr-info
Elected BSR Address: 1003::2
Priority: 20
Hash mask length: 128
State: Elected
Uptime: 00:01:10
Next BSR message scheduled at: 00:01:48
Candidate BSR Address: 1003::2
Priority: 20
Hash mask length: 128
State: Elected
Candidate RP: 1003::2(Vlan-interface102)
Priority: 192
HoldTime: 130
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:48
To view the RP information discovered on a switch, use the display pim ipv6 rp-info command. For example:
# Display the RP information on Switch A.
[SwitchA] display pim ipv6 rp-info
PIM-SM BSR RP information:
prefix/prefix length: FF0E::101/64
RP: 4002::1
Priority: 192
HoldTime: 130
Uptime: 00:05:19
Expires: 00:02:11
RP: 1003::2
Priority: 192
HoldTime: 130
Uptime: 00:05:19
Expires: 00:02:11
Assume that Host A needs to receive information addressed to the IPv6 multicast group G FF0E::100. 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 IPv6 multicast source S 4001::100/64 registers with the RP, an SPT will be built between Switch D and Switch E. After receiving IPv6 multicast data, Switch A immediately switches from the RPT to the SPT. The switches on the RPT path (Switch A and Switch E) have a (*, G) entry, and the switches on the SPT path (Switch A and Switch D) have an (S, G) entry. You can use the display pim ipv6 routing-table command to view the PIM routing table information on the switches. For example:
# Display the IPv6 PIM multicast routing table information on Switch A.
[SwitchA] display pim ipv6 routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, FF0E::100)
RP: 1003::2
Protocol: pim-sm, Flag: WC
UpTime: 00:03:45
Upstream interface: Vlan-interface102
Upstream neighbor: 1003::2
RPF prime neighbor: 1003::2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:02:15, Expires: 00:03:06
(4001::100, FF0E::100)
RP: 1003::2
Protocol: pim-sm, Flag: SPT ACT
UpTime: 00:02:15
Upstream interface: Vlan-interface101
Upstream neighbor: 1002::2
RPF prime neighbor: 1002::2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: pim-sm, UpTime: 00:02:15, Expires: 00:03:06
# Display the IPv6 PIM multicast routing table information on Switch D.
[SwitchD] display pim ipv6 routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF0E::100)
RP: 1003::2
Protocol: pim-sm, Flag: SPT LOC ACT
UpTime: 00:14:44
Upstream interface: Vlan-interface300
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface105
Protocol: mld, UpTime: 00:14:44, Expires: 00:02:26
# Display the IPv6 PIM multicast routing table information on Switch E.
[SwitchE] display pim ipv6 routing-table
Total 1 (*, G) entry; 0 (S, G) entry
(*, FF0E::100)
RP: 1003::2 (local)
Protocol: pim-sm, Flag: WC
UpTime: 00:16:56
Upstream interface: Register
Upstream neighbor: 4002::1
RPF prime neighbor: 4002::1
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface102
Protocol: pim-sm, UpTime: 00:16:56, Expires: 00:02:34
IPv6 PIM-SM admin-scoped zone configuration example
Network requirements
Receivers receive VOD information through multicast. The entire IPv6 PIM-SM domain is divided into IPv6 admin-scoped zone 1, IPv6 admin-scoped zone 2, and the IPv6 global zone. Switch B, Switch C, and Switch D are ZBRs of these three zones, respectively.
Source 1 and Source 2 send different multicast information to FF14::101. Host A receives the multicast information from only Source 1, and Host B receives the multicast information from only Source 2. Source 3 sends multicast information to multicast group FF1E::202. Host C is a multicast receiver for this multicast group.
VLAN-interface 101 of Switch B acts as a C-BSR and a C-RP of admin-scoped zone 1 and provides services for the IPv6 multicast groups with the Scope field value in their group addresses being 4. VLAN-interface 104 of Switch D acts as a C-BSR and a C-RP of admin-scoped zone 2 and provides services for the IPv6 multicast groups with the Scope field value in their group addresses being 4. VLAN-interface 109 of Switch F acts as C-BSRs and C-RPs of the global-scoped zone and provides services for IPv6 multicast groups with the Scope field value in their group addresses being 14.
MLDv1 runs between Switch A, Switch E, Switch I, and their respective receivers.
Table 5 shows the interface and IPv6 address assignment, and network topology scheme.
Table 5 Interface and IPv6 address assignment
Device |
Interface |
IPv6 address |
Device |
Interface |
IPv6 address |
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int104 |
3002::2/64 |
Switch A |
Vlan-int101 |
1002::1/64 |
Switch D |
Vlan-int108 |
6001::1/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
Switch D |
Vlan-int107 |
6002::1/64 |
Switch B |
Vlan-int101 |
1002::2/64 |
Switch E |
Vlan-int400 |
7001::1/64 |
Switch B |
Vlan-int103 |
2002::1/64 |
Switch E |
Vlan-int105 |
3003::2/64 |
Switch B |
Vlan-int102 |
2003::1/64 |
Switch E |
Vlan-int108 |
6001::2/64 |
Switch C |
Vlan-int300 |
3001::1/64 |
Switch F |
Vlan-int109 |
8001::1/64 |
Switch C |
Vlan-int104 |
3002::1/64 |
Switch F |
Vlan-int107 |
6002::2/64 |
Switch C |
Vlan-int105 |
3003::1/64 |
Switch F |
Vlan-int102 |
2003::2/64 |
Switch C |
Vlan-int103 |
2002::2/64 |
Switch G |
Vlan-int500 |
9001::1/64 |
Switch C |
Vlan-int106 |
3004::1/64 |
Switch G |
Vlan-int109 |
8001::2/64 |
Switch H |
Vlan-int110 |
4001::1/64 |
Source 1 |
— |
2001::100/64 |
Switch H |
Vlan-int106 |
3004::2/64 |
Source 2 |
— |
3001::100/64 |
Switch I |
Vlan-int600 |
5001::1/64 |
Source 3 |
— |
9001::100/64 |
Switch I |
Vlan-int110 |
4001::2/64 |
— |
— |
— |
Configuration procedure
1. Configure the IPv6 address and prefix length for each interface as per Figure 12. (Details not shown.)
2. Configure OSPFv3 on the switches in the IPv6 PIM-SM domain to ensure network-layer reachability among them. (Details not shown.)
3. Enable IPv6 multicast routing and IPv6 administrative scoping, and enable IPv6 PIM-SM and MLD:
# Enable IPv6 multicast routing and administrative scoping on Switch A, enable IPv6 PIM-SM on each interface, and enable MLD on the host-side interface VLAN-interface 100.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] pim ipv6
[SwitchA-pim6] c-bsr admin-scope
[SwitchA-pim6] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] pim ipv6 sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim ipv6 sm
[SwitchA-Vlan-interface101] quit
# Enable IPv6 multicast routing and IPv6 administrative scoping, and enable IPv6 PIM-SM and MLD on Switch E and Switch I in the same way. (Details not shown.)
# On Switch B, enable IPv6 multicast routing and IPv6 administrative scoping, and enable IPv6 PIM-SM on each interface.
<SwitchB> system-view
[SwitchB] multicast ipv6 routing-enable
[SwitchB] pim ipv6
[SwitchB-pim6] c-bsr admin-scope
[SwitchB-pim6] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] pim ipv6 sm
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] pim ipv6 sm
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] pim ipv6 sm
[SwitchB-Vlan-interface102] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] pim ipv6 sm
[SwitchB-Vlan-interface103] quit
# Enable IPv6 multicast routing and IPv6 administrative scoping, and enable IPv6 PIM-SM on each interface on Switch C, Switch D, Switch F, Switch G, and Switch H in the same way. (Details not shown.)
4. Configure an admin-scoped zone boundary:
# On Switch B, configure VLAN-interface 102 and VLAN-interface 103 to be the boundary of admin-scoped zone 1.
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] multicast ipv6 boundary scope 4
[SwitchB-Vlan-interface102] quit
[SwitchB] interface vlan-interface 103
[SwitchB-Vlan-interface103] multicast ipv6 boundary scope 4
[SwitchB-Vlan-interface103] quit
# On Switch C, configure VLAN-interface 103 and VLAN-interface 106 to be the boundary of admin-scoped zone 2.
<SwitchC> system-view
[SwitchC] interface vlan-interface 103
[SwitchC-Vlan-interface103] multicast ipv6 boundary scope 4
[SwitchC-Vlan-interface103] quit
[SwitchC] interface vlan-interface 106
[SwitchC-Vlan-interface106] multicast ipv6 boundary scope 4
[SwitchC-Vlan-interface106] quit
# On Switch D, configure VLAN-interface 107 to be the boundary of admin-scoped zone 2.
<SwitchD> system-view
[SwitchD] interface vlan-interface 107
[SwitchD-Vlan-interface107] multicast ipv6 boundary scope 4
[SwitchD-Vlan-interface107] quit
5. 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-scoped zone 1.
[SwitchB] pim ipv6
[SwitchB-pim6] c-bsr scope 4
[SwitchB-pim6] c-bsr 1002::2
[SwitchB-pim6] c-rp 1002::2 scope 4
[SwitchB-pim6] 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-scoped zone 2.
[SwitchD] pim ipv6
[SwitchD-pim6] c-bsr scope 4
[SwitchD-pim6] c-bsr 3002::2
[SwitchD-pim6] c-rp 3002::2 scope 4
[SwitchD-pim6] quit
# On Switch F, configure VLAN-interface 109 as a C-BSR and C-RP in the global-scoped zone.
<SwitchF> system-view
[SwitchF] pim ipv6
[SwitchF-pim6] c-bsr scope global
[SwitchF-pim6] c-bsr 8001::1
[SwitchF-pim6] c-rp 8001::1
[SwitchF-pim6] quit
Verifying the configuration
To view the BSR election information and the C-RP information on a switch, use the display pim ipv6 bsr-info command. For example:
# Display the BSR information and the locally configured C-RP information on Switch B.
[SwitchB] display pim ipv6 bsr-info
Elected BSR Address: 8001::1
Priority: 64
Hash mask length: 126
State: Accept Preferred
Scope: 14
Uptime: 00:01:45
Expires: 00:01:25
Elected BSR Address: 1002::2
Priority: 64
Hash mask length: 126
State: Elected
Scope: 4
Uptime: 00:04:54
Next BSR message scheduled at: 00:00:06
Candidate BSR Address: 1002::2
Priority: 64
Hash mask length: 126
State: Elected
Scope: 4
Candidate RP: 1002::2(Vlan-interface101)
Priority: 192
HoldTime: 130
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:15
# Display the BSR information and the locally configured C-RP information on Switch D.
[SwitchD] display pim ipv6 bsr-info
Elected BSR Address: 8001::1
Priority: 64
Hash mask length: 126
State: Accept Preferred
Scope: 14
Uptime: 00:01:45
Expires: 00:01:25
Elected BSR Address: 3002::2
Priority: 64
Hash mask length: 126
State: Elected
Scope: 4
Uptime: 00:03:48
Next BSR message scheduled at: 00:01:12
Candidate BSR Address: 3002::2
Priority: 64
Hash mask length: 126
State: Elected
Scope: 4
Candidate RP: 3002::2(Vlan-interface104)
Priority: 192
HoldTime: 130
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:10
# Display the BSR information and the locally configured C-RP information on Switch F.
[SwitchF] display pim ipv6 bsr-info
Elected BSR Address: 8001::1
Priority: 64
Hash mask length: 126
State: Elected
Scope: 14
Uptime: 00:01:11
Next BSR message scheduled at: 00:00:49
Candidate BSR Address: 8001::1
Priority: 64
Hash mask length: 126
State: Elected
Scope: 14
Candidate RP: 8001::1(Vlan-interface109)
Priority: 192
HoldTime: 130
Advertisement Interval: 60
Next advertisement scheduled at: 00:00:55
To view the RP information learned on a switch, use the display pim ipv6 rp-info command. For example:
# Display the RP information on Switch B.
[SwitchB] display pim ipv6 rp-info
PIM-SM BSR RP information:
prefix/prefix length: FF0E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF1E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF2E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF3E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF4E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF5E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF6E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF7E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF8E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF9E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFAE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFBE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFCE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFDE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFEE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFFE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF04::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF14::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF24::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF34::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF44::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF54::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF64::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF74::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF84::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF94::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFA4::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFB4::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFC4::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFD4::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFE4::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFF4::/16
RP: 1002::2
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
# Display the RP information on Switch F.
[SwitchF] display pim rp-info
PIM-SM BSR RP information:
prefix/prefix length: FF0E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF1E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF2E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF3E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF4E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF5E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF6E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF7E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF8E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FF9E::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFAE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFBE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFCE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFDE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFEE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
prefix/prefix length: FFFE::/16
RP: 8001::1
Priority: 192
HoldTime: 130
Uptime: 00:03:39
Expires: 00:01:51
IPv6 PIM-SSM configuration example
Network requirements
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 is operating in the SSM mode.
Host A and Host C are IPv6 multicast receivers in two stub networks N1 and N2.
The SSM group range is FF3E::/64.
MLDv2 runs between Switch A and N1 and between Switch B/Switch C and N2.
Table 6 shows the interface and IPv6 address assignment, and network topology scheme.
Table 6 Interface and IPv6 address assignment
Interface |
IPv6 address |
|
Switch A |
VLAN-interface 100 |
1001::1/64 |
Switch A |
VLAN-interface 101 |
1002::1/64 |
Switch A |
VLAN-interface 102 |
1003::1/64 |
Switch B |
VLAN-interface 200 |
2001::1/64 |
Switch B |
VLAN-interface 103 |
2002::1/64 |
Switch C |
VLAN-interface 200 |
2001::2/64 |
Switch C |
VLAN-interface 104 |
3001::1/64 |
Switch D |
VLAN-interface 300 |
4001::1/64 |
Switch D |
VLAN-interface 101 |
1002::2/64 |
Switch D |
VLAN-interface 105 |
4002::1/64 |
Switch E |
VLAN-interface 104 |
3001::2/64 |
Switch E |
VLAN-interface 103 |
2002::2/64 |
Switch E |
VLAN-interface 102 |
1003::2/64 |
Switch E |
VLAN-interface 105 |
4002::2/64 |
Configuration procedure
1. Enable IPv6 forwarding on each switch and configure the IPv6 address and prefix length for each interface as per Figure 13. (Details not shown.)
2. Configure OSPFv3 on the switches in the IPv6 PIM-SSM domain to ensure network-layer reachability among them. (Details not shown.)
3. Enable IPv6 multicast routing, and enable IPv6 PIM-SM and MLD:
# Enable IPv6 multicast routing on Switch A, enable IPv6 PIM-SM on each interface, and run MLDv2 on VLAN-interface 100, which connects Switch A to N1.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mld enable
[SwitchA-Vlan-interface100] mld version 2
[SwitchA-Vlan-interface100] pim ipv6 sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim ipv6 sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim ipv6 sm
[SwitchA-Vlan-interface102] quit
# Enable IPv6 multicast routing, IPv6 PIM-SM, and MLD on Switch B and Switch C in the same way. (Details not shown.)
# Enable IPv6 multicast routing and IPv6 PIM-SM on Switch D and Switch E in the same way. (Details not shown.)
4. Configure the IPv6 SSM group range:
# Configure the IPv6 SSM group range to be FF3E::/64 on Switch A.
[SwitchA] acl ipv6 number 2000
[SwitchA-acl6-basic-2000] rule permit source ff3e:: 64
[SwitchA-acl6-basic-2000] quit
[SwitchA] pim ipv6
[SwitchA-pim6] ssm-policy 2000
[SwitchA-pim6] quit
# Configure the IPv6 SSM group range on Switch B, Switch C, Switch D, and Switch E in the same way. (Details not shown.)
Verifying the configuration
Use the display pim ipv6 interface command to view the IPv6 PIM configuration and running status on each interface. For example:
# Display the IPv6 PIM configuration information on Switch A.
[SwitchA] display pim ipv6 interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan100 0 30 1 1001::1
(local)
Vlan101 1 30 1 1002::2
Vlan102 1 30 1 1003::2
Assume that Host A needs to receive the information a specific IPv6 multicast source S 4001::100/64 sends to IPv6 multicast group G FF3E::101. Switch A builds an SPT toward the IPv6 multicast source. Switches on the SPT path (Switch A and Switch D) have generated an (S, G) entry, but Switch E, which is not on the SPT path, does not have IPv6 multicast routing entries. You can use the display pim ipv6 routing-table command to view the IPv6 PIM routing table information on each switch. For example:
# Display the IPv6 PIM multicast routing table information on Switch A.
[SwitchA] display pim ipv6 routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF3E::101)
Protocol: pim-ssm, Flag:
UpTime: 00:00:11
Upstream interface: Vlan-interface101
Upstream neighbor: 1002::2
RPF prime neighbor: 1002::2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface100
Protocol: mld, UpTime: 00:00:11, Expires: 00:03:25
# Display the IPv6 PIM multicast routing table information on Switch B.
[SwitchD] display pim ipv6 routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(4001::100, FF3E::101)
Protocol: pim-ssm, Flag: LOC
UpTime: 00:08:02
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:08:02, Expires: 00:03:25
Troubleshooting IPv6 PIM
A multicast distribution tree cannot be built correctly
Symptom
None of the routers in the network (including routers directly connected with IPv6 multicast sources and receivers) has IPv6 multicast forwarding entries. A multicast distribution tree cannot be built correctly and clients cannot receive IPv6 multicast data.
Analysis
· An IPv6 PIM routing entry is created based on an IPv6 unicast route, whichever IPv6 PIM mode is running. Multicast works only when unicast does.
· IPv6 PIM must be enabled on the RPF interface. An RPF neighbor must be an IPv6 PIM neighbor as well. If IPv6 PIM is not enabled on the RPF interface or the RPF neighbor, the establishment of a multicast distribution tree will surely fail, resulting in abnormal multicast forwarding.
· IPv6 PIM requires that the same IPv6 PIM mode (DM or SM) must run on the entire network. Otherwise, the establishment of a multicast distribution tree will surely fail, resulting in abnormal multicast forwarding.
Solution
1. Use the display ipv6 routing-table command to verify that a unicast route exists to the IPv6 multicast source or the RP.
2. Use the display pim ipv6 interface command to verify the IPv6 PIM information on each interface. If IPv6 PIM is not enabled on the interface, use the pim ipv6 dm or pim ipv6 sm command to enable IPv6 PIM.
3. Use the display pim ipv6 neighbor command to verify that the RPF neighbor is an IPv6 PIM neighbor.
4. Check that IPv6 PIM and MLD are enabled on the interfaces directly connecting to the IPv6 multicast source and to the receiver.
5. Use the display pim ipv6 interface verbose command to verify that the same IPv6 PIM mode is enabled on the RPF interface and the corresponding interface of the RPF neighbor router.
6. Use the display current-configuration command to verify the IPv6 PIM mode information on each interface. Make sure that the same IPv6 PIM mode is enabled on all the routers: IPv6 PIM-SM on all routers, or IPv6 PIM-DM on all routers.
IPv6 multicast data abnormally terminated on an intermediate router
Symptom
An intermediate router can receive IPv6 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 IPv6 PIM routing table.
Analysis
· If an IPv6 multicast forwarding boundary has been configured through the multicast ipv6 boundary command, any IPv6 multicast packet will be kept from crossing the boundary, and therefore no routing entry can be created in the IPv6 PIM routing table.
· In addition, the source-policy command filters received IPv6 multicast packets. If the IPv6 multicast data fails to pass the IPv6 ACL rule defined in this command, IPv6 PIM cannot create the route entry, either.
Solution
1. Use the display current-configuration command to verify the IPv6 multicast forwarding boundary settings. Use the multicast ipv6 boundary command to change the IPv6 multicast forwarding boundary settings.
2. Use the display current-configuration command to verify the IPv6 multicast filter configuration. Change the IPv6 ACL rule defined in the source-policy command so that the source/group address of the IPv6 multicast data can pass IPv6 ACL filtering.
RPS cannot join SPT in IPv6 PIM-SM
Symptom
An RPT cannot be established correctly, or the RPs cannot join the SPT to the IPv6 multicast source.
Analysis
· As the core of an IPv6 PIM-SM domain, the RPs provide services for specific IPv6 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, IPv6 multicast will fail.
· In the case of the static RP mechanism, the same RP address must be configured on all the routers in the entire network, including static RPs, by means of the static RP command. Otherwise, IPv6 multicast will fail.
Solution
1. Use the display ipv6 routing-table command to verify that a route to the RP is available on each router.
2. Use the display pim ipv6 rp-info command to verify that the RP information is consistent on all routers. In the case of inconsistent RP information, configure consistent RP address on all the routers.
3. Use the display pim ipv6 rp-info command to verify that the same RP address has been configured on all the routers throughout the network.
RPT establishment failure or source registration failure in IPv6 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
· C-RPs periodically send advertisement messages to the BSR by unicast. If a C-RP does not have a route to the BSR, the BSR cannot receive the advertisements from the C-RP, and therefore the bootstrap messages of the BSR will not contain the information about that C-RP.
· The RP is the core of an IPv6 PIM-SM domain. Make sure that the RP information on all routers is exactly the same, a specific group is mapped to the same RP, and a unicast route is available to the RP.
Solution
1. Use the display ipv6 routing-table command to verify that routes to the RP and the BSR are available on each router, and that 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. IPv6 PIM-SM needs the support of the RP and BSR. Use the display pim ipv6 bsr-info command to verify that the BSR information is available on each router, and then use the display pim ipv6 rp-info command to verify that the RP information is correct.
3. Use the display pim ipv6 neighbor command to verify that the normal neighboring relationship has been established among the routers.