- Table of Contents
-
- H3C S9500 Operation Manual-Release2132[V2.03]-04 IP Multicast Volume
- 00-1Cover
- 01-Multicast Overview
- 02-Multicast Routing and Forwarding Configuration
- 03-IGMP Snooping Configuration
- 04-IGMP Configuration
- 05-PIM Configuration
- 06-MSDP Configuration
- 07-IPv6 Multicast Routing and Forwarding Configuration
- 08-MLD Snooping Configuration
- 09-MLD Configuration
- 10-IPv6 PIM Configuration
- 11-Multicast VLAN Configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
10-IPv6 PIM Configuration | 643.42 KB |
Chapter 1 IPv6 PIM Configuration
1.1.1 Introduction to IPv6 PIM-DM
1.1.3 Introduction to IPv6 PIM-SM
1.1.5 SSM Model Implementation in IPv6 PIM
1.2.1 IPv6 PIM-DM Configuration Task List
1.2.2 Configuration Prerequisites
1.2.5 Configuring State Refresh Parameters
1.2.6 Configuring IPv6 PIM-DM Graft Retry Period
1.3.1 IPv6 PIM-SM Configuration Task List
1.3.2 Configuration Prerequisites
1.3.6 Configuring IPv6 Multicast Source Registration
1.3.7 Disabling RPT-to-SPT Switchover
1.4.1 IPv6 PIM-SSM Configuration Task List
1.4.2 Configuration Prerequisites
1.4.4 Configuring the IPv6 SSM Group Range
1.5 Configuring IPv6 PIM Common Features
1.5.1 IPv6 PIM Common Information Configuration Task List
1.5.2 Configuration Prerequisites
1.5.3 Configuring an IPv6 Multicast Data Filter
1.5.4 Configuring IPv6 PIM Hello Options
1.5.5 Configuring IPv6 PIM Common Timers
1.5.6 Configuring Join/Prune Message Sizes
1.6 Displaying and Maintaining IPv6 PIM
1.7 IPv6 PIM Configuration Examples
1.7.1 IPv6 PIM-DM Configuration Example
1.7.2 IPv6 PIM-SM Configuration Example
1.7.3 IPv6 PIM-SSM Configuration Example
1.8 Troubleshooting IPv6 PIM Configuration
1.8.1 Failure of Building a Multicast Distribution Tree Correctly
1.8.2 RPs Unable to Join SPT in IPv6 PIM-SM
1.8.3 RPT Establishment or Source Registration Failure in IPv6 PIM-SM
Chapter 2 Board Intermixing for IPv6 Multicast
2.1 Introduction to Board Intermixing for IPv6 Multicast
2.2 Configuring Board Intermixing for IPv6 Multicast
2.2.1 Configuration Prerequisites
2.2.2 Configuring a Loop Group for IPv6 Multicast
2.3 IPv6 Multicast Intermixing Configuration Example
Chapter 1 IPv6 PIM Configuration
When configuring IPv6 PIM, go to these sections for information you are interested in:
l Displaying and Maintaining IPv6 PIM
l IPv6 PIM Configuration Examples
l Troubleshooting IPv6 PIM Configuration
& Note:
l The term “router” in this document refers to a router in a generic sense or an S9500 series routing switch running IPv6 PIM.
l Currently, for S9500 series routing switches, only boards with the suffix DA, DB, or DC support IPv6 multicast. That is, a board that provides incoming ports for IPv6 multicast data should be such a board suffixed with DA, DB or DC, namely a Type D board. A board that provides outgoing interfaces can be any type of board.
l In the case that IPv6 multicast data can be delivered to the switch only through ports on a non-Type-D board, you can configure IPv6 multicast intermixing to enable normal forwarding of IPv6 multicast data. See Board Intermixing for IPv6 Multicast.
l Currently, a POS interface on an S9500 series routing switch does not support IPv6 multicast, namely those commands used in interface view cannot be executed in POS interface view.
1.1 IPv6 PIM Overview
Protocol Independent Multicast for IPv6 (IPv6 PIM) provides IPv6 multicast forwarding by leveraging 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, it is subject to an RPF check. If the RPF check succeeds, the device creates the corresponding routing entry and forwards the packet; if the RPF check fails, the device discards the packet. For more information about RPF, refer to IPv6 Multicast Routing and Forwarding Configuration in the IP Multicast Volume.
Based on the forwarding mechanism, IPv6 PIM falls into two modes:
l Protocol Independent Multicast–Dense Mode for IPv6 (IPv6 PIM-DM), and
l Protocol Independent Multicast–Sparse Mode for IPv6 (IPv6 PIM-SM).
& Note:
To facilitate description, a network comprising IPv6 PIM routers or IPv6 PIM routing switches is referred to as an “IPv6 PIM domain” in this document.
1.1.1 Introduction to IPv6 PIM-DM
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:
l 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, that is, pruned branches resume IPv6 multicast forwarding when the pruned state times out and then data is re-flooded down these branches, and then are pruned again.
l When a new receiver on a previously pruned branch joins 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.
Generally speaking, the IPv6 multicast forwarding path is a source tree, namely 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).
1.1.2 How IPv6 PIM-DM Works
The working mechanism of IPv6 PIM-DM is summarized as follows:
l Neighbor discovery
l SPT building
l Graft
l Assert
I. 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 (hereinafter referred to as “hello messages”) to all other IPv6 PIM routers.
& 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.
II. SPT building
1) In an IPv6 PIM-DM domain, an IPv6 multicast source first floods IPv6 multicast packets when it sends IPv6 multicast data to an IPv6 multicast group G: The packet is subject to 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) Then, nodes without downstream receivers are pruned: A router having no down stream 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:
l An (S, G) entry contains the multicast source address S, IPv6 multicast group address G, outgoing interface list, and incoming interface.
l For a given IPv6 multicast stream, the interface that receives the IPv6 multicast stream is referred to as “upstream”, and the interfaces that forward the IPv6 multicast stream are referred to as “downstream”.
A prune process is first initiated by a leaf router. As shown in Figure 1-1, a router without any receiver attached to it (the router connected with Host A, for example) sends a prune message, and this prune process goes on until only necessary branches are left in the IPv6 PIM-DM domain. These branches constitute the SPT.
Figure 1-1 Building an SPT in an IPv6 PIM-DM domain
The “flood and prune” process takes place periodically. The device sets a countdown timer for each pruned interface. When the countdown timer for a pruned interface expires, multicast traffic starts to flow to the interface again, and then the interface is pruned again when it no longer has any multicast receiver attached to it.
III. 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 to its upstream node, as a request to join the SPT again.
2) Upon receiving this graft message, the upstream node puts the interface on which the graft was received into the forwarding state and responds with a graft-ack message to the graft sender.
3) If the node that sent a graft message does not receive a graft-ack message from its upstream node, it will keep sending graft messages at a configurable interval until it receives an acknowledgment from its upstream node.
IV. Assert
If multiple multicast routers exist on a multi-access subnet, duplicate IPv6 multicast packets may flow to the same subnet. To shut off duplicate flows, the assert mechanism is used for election of a single IPv6 multicast forwarder on a multi-access network.
As shown in Figure 1-2, after Router A and Router B receive an (S, G) IPv6 multicast packet from the upstream node, they both forward the packet to the local subnet. As a result, the downstream node Router C receives two identical multicast packets, and both Router A and Router B, on their own local interface, receive a duplicate IPv6 multicast packet forwarded by the other. Upon detecting this condition, both routers send an assert message to all IPv6 PIM routers through the interface on which the packet was received. The assert message contains the following information: the multicast source address (S), the multicast group address (G), and the preference and metric of the IPv6 unicast 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 IPv6 unicast route preference to the source wins;
2) If both routers have the same IPv6 unicast route preference to the source, the router with a smaller metric to the source wins;
3) If there is a tie in the route metric to the source, the router with a higher IPv6 link-local address of the local interface wins.
& Note:
Currently, S9500 series routing switches do not support the assert mechanism.
1.1.3 Introduction to IPv6 PIM-SM
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 mod is not suitable for large- 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- and medium-sized networks with sparsely and widely distributed IPv6 multicast group members.
The basic implementation of IPv6 PIM-SM is as follows:
l 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 is to 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.
l 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 corresponding to that IPv6 multicast group. The path along which the message goes hop by hop to the RP forms a branch of the RPT.
l When an IPv6 multicast source sends an IPv6 multicast packet to an IPv6 multicast group, the source-side designated router (DR) first registers the IPv6 multicast source with the RP by sending a register message to the RP by unicast. The arrival of this 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. Upon reaching the RP, the IPv6 multicast packet is duplicated and delivered to the receivers along the RPT.
IPv6 multicast traffic is duplicated only where the distribution tree branches, and this process automatically repeats until the IPv6 multicast traffic reaches the receivers.
1.1.4 How IPv6 PIM-SM Works
The working mechanism of IPv6 PIM-SM is summarized as follows:
l Neighbor discovery
l DR election
l RP discovery
l Embedded RP
l Extracting an embedded RP address
l RPT building
l IPv6 Multicast source registration
l Switchover from RPT to SPT
l Assert
I. Neighbor discovery
IPv6 PIM-SM uses the same neighbor discovery mechanism as IPv6 PIM-DM does. Refer to Neighbor discovery.
II. 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.
& Note:
l 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. An elected DR is substantially meaningful to IPv6 PIM-SM. IPv6 PIM-DM itself does not require a DR. If MLD runs on any multi-access network in an IPv6 PIM-DM domain, MLD will automatically elect the MLD querier on that multi-access network.
l MLD must be enabled on a device that acts as a DR before receivers attached to this device can join IPv6 multicast groups through this DR.
For details about MLD, refer to MLD Configuration in the IP Multicast Volume.
As shown in Figure 1-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.
III. 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 needs to be forwarded through the RP. To lessen the RP burden and optimize the topological structure of the RPT, multiple candidate RPs (C-RPs) can be configured in an IPv6 PIM-SM domain, among which an RP is dynamically elected through the bootstrap mechanism. Each elected RP serves a different multicast group range. For this purpose, a bootstrap router (BSR) must be configured. The BSR serves as the administrative core of the IPv6 PIM-SM domain. An IPv6 PIM-SM domain can have only one BSR, but can have multiple candidate-BSRs (C-BSRs). Once the BSR fails, a new BSR is automatically elected from the C-BSRs to avoid service interruption.
As shown in Figure 1-4, each C-RP periodically unicasts its advertisement messages (C-RP-Adv messages) to the BSR. A C-RP-Adv message contains the address of the advertising C-RP and the IPv6 multicast group range it serves. The BSR collects these advertisement messages and chooses the appropriate C-RP information for each multicast group to form an RP-set, which is a database of mappings between IPv6 multicast groups and RPs. The BSR then encapsulates the RP-set in the bootstrap messages it periodically originates and floods the bootstrap messages to the entire 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. The table below gives the meanings of the values in this algorithm.
Table 1-1 Values in the hashing algorithm
Value |
Description |
Value |
Hash value |
G |
IP address of the multicast group |
M |
Hash mask length |
Ci |
IP address of the C-RP |
& |
Logical operator of “and” |
XOR |
Logical operator of “or” |
mod |
Modulo operator, which gives the remainder of an integer division |
IV. Embedded RP
The Embedded RP mechanism allows a router to resolve the RP address from an IPv6 multicast address so that the IPv6 multicast group is mapped to an RP, which 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 know the RP address beforehand. The specific process is as follows.
l At the receiver side:
1) A receiver host initiates an MLD report to announce joining an IPv6 multicast group.
2) Upon 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.
l At the IPv6 multicast source side:
3) The IPv6 multicast source sends IPv6 multicast traffic to the IPv6 multicast group.
4) The source-side DR resolves the RP address embedded in the IPv6 multicast address, and sends a register message to the RP by unicast.
& Note:
Currently, the IPv6 multicast address range for embedded RP used by the S9500 series routing switches is FF7x::/12 or FFFx::/12, where “x” refers to the Scope field in the IPv6 multicast address. Different values define different scopes. For details about the Scope field, refer to Multicast Overview of the IP Multicast Volume.
V. Extracting an embedded RP address
Figure 1-5 shows the structure of an IPv6 multicast address with an embedded RP address. Fields of such an IPv6 address are described as follows:
l FF7x: The first 16 bits of an IPv6 multicast address with an embedded RP address must be FF7x or FFFx.
l rsv: Reserved bits.
l RIID: Interface ID of the RP.
l plen: Obtained prefix length, in the hexadecimal notation. The maximum value is 40, indicating to extract the first 4*16 (64) bits of the prefix as the network prefix part in the IPv6 unicast address of the RP.
l prefix: Network prefix of the RP’s IPv6 address. The maximum length is 64 bits.
l group ID: IPv6 multicast group ID.
Figure 1-5 Structure of an IPv6 multicast address with an embedded RP address
Figure 1-6 shows the structure of an RP address extracted from an IPv6 address.
Figure 1-6 Extracted IPv6 unicast address of the RP
prefix: The prefix of the embedded RP unicast address extracted from the IPv6 multicast address. The number of bits extracted is determined by the plen field of the IPv6 multicast address.
zero: These bits are zeroed.
RIID: The RIID field of the IPv6 multicast address is extracted as the interface ID of the IPv6 unicast address of the RP.
For example, if an IPv6 multicast address with an embedded RP address is FF77:0630:2001:DB8:BEEF::/80. As shown in Figure 1-5, rsv is 0x0, RIID is 0x6, and plen is 0x30, which means that the first 3*16 (48) bits of the prefix are extracted as the network prefix of the IPv6 unicast address. So the IPv6 unicast address of the RP is 2001:DB8:BEEF::6/48.
VI. RPT building
Figure 1-7 Building an RPT in IPv6 PIM-SM
As shown in Figure 1-7, the process of building an RPT is as follows:
1) When a receiver joins an IPv6 multicast group G, it uses an MLD report message to inform the directly connected DR.
2) Upon getting the IPv6 multicast group G’s receiver information, the DR sends a join message, which is hop by hop forwarded to the RP corresponding to the multicast group.
3) The routers along the path from the DR to the RP form an RPT branch. Each router on this branch generates a (*, G) entry in its forwarding table. The * means any IPv6 multicast source. The RP is the root, while 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. Upon receiving the prune message, the upstream node deletes its interface connecting to this downstream node from the outgoing interface list and checks whether it itself has receivers for that IPv6 multicast group. If not, the router continues to forward the prune message to its upstream router.
VII. Multicast source registration
The purpose of IPv6 multicast source registration is to inform the RP about the existence of the IPv6 multicast source.
Figure 1-8 IPv6 multicast source registration
As shown in Figure 1-8, the IPv6 multicast source registers with the RP as follows:
1) When the IPv6 multicast source S sends the first IPv6 multicast packet to an IPv6 multicast group G, the DR directly connected with the multicast source, upon 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, on one hand, it extracts the multicast packet from the register message and forwards the multicast IPv6 multicast packet down the RPT, and, on the other hand, 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 a (S, G) entry in its forwarding table. The IPv6 multicast source is the root, while 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.
VIII. Switchover from RPT to SPT
The receiver-side DR initiates an RPT-to-SPT switchover process upon receiving the first IPv6 multicast packet along the RPT by default. The RPT-to-SPT switchover process is as follows:
1) First, the receiver-side DR sends an (S, G) join message hop by hop to the multicast source S. 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.
2) Subsequently, the receiver-side DR sends a prune message hop by hop to the RP. Upon receiving this prune message, the RP forwards the message toward the IPv6 multicast source if it determines no other receivers have joined the group on the interface that received the prune message, thus to implement RPT-to-SPT switchover.
After the RPT-to-SPT switchover, IPv6 multicast data can be directly sent from the source to the receivers. IPv6 PIM-SM builds SPTs through RPT-to-SPT switchover more economically than IPv6 PIM-DM does through the “flood and prune” mechanism.
IX. Assert
IPv6 PIM-SM uses the same assert mechanism as IPv6 PIM-DM does. Refer to Assert.
1.1.5 SSM Model Implementation in IPv6 PIM
The source-specific multicast (SSM) model and the any-source multicast (ASM) model are two opposite models. Presently, 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.
The SSM model provides a solution for source-specific multicast. It maintains the relationships between hosts and routers through MLDv2. IPv6 PIM-DM implements IPv6 multicast forwarding by building SPTs rooted at the IPv6 multicast source through the “flood and prune” mechanism. Although an SPT has the shortest path, it is built in a low efficiency. Therefore the IPv6 PIM-DM mode is not suitable for large- and medium-sized networks.
In actual application, part of the 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 means of 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.
Compared with the ASM model, the SSM model only needs the support of MLDv2 and some subsets of IPv6 PIM-SM. The operation mechanism of the SSM model in an IPv6 PIM domain can be summarized as follows:
l Neighbor discovery
l DR election
l SPT building
I. Neighbor discovery
IPv6 PIM-SSM uses the same neighbor discovery mechanism as in IPv6 PIM-SM. Refer to Neighbor discovery.
II. DR election
IPv6 PIM-SSM uses the same DR election mechanism as in IPv6 PIM-SM. Refer to DR election.
III. 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 the receiver is to join falls in the IPv6 SSM group range (the IPv6 SSM group range reserved by IANA is FF3x::/32, where x represents any legal address scope).
Figure 1-9 Building an SPT in IPv6 PIM-SSM
As shown in Figure 1-9, Hosts B and C are IPv6 multicast information receivers. They send an MLDv2 report message marked (Include S, G) to the respective DRs to announce that they are interested in the information of the specific IPv6 multicast source S and that sent to the IPv6 multicast group G. If they need information from other sources than S, they send an (Exclude S, G) report. No matter what the description is, the position of IPv6 multicast source S is explicitly specified for receivers.
The DR that has received the report first checks whether the IPv6 group address in this message falls in the IPv6 SSM group range:
l 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 (Include S, G) or (Exclude 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.
l If not, the IPv6 PIM-SM process is followed: the DR needs to send a (*, G) join message to the RP, and an IPv6 multicast source registration process is needed.
& Note:
l In IPv6 PIM-SSM, the “channel” concept is used to refer to an IPv6 multicast group, and the “channel subscription” concept is used to refer to a join message.
l The S9500 series routing switches do not support the Exclude filter mode.
1.1.6 Protocols and Standards
IPv6 PIM–related specifications are as follows:
l RFC 4601: Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification (Revised)
l RFC 3973: Protocol Independent Multicast-Dense Mode (PIM-DM): Protocol Specification(Revised)
l RFC 3956: Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address
l RFC 4607: Source-Specific Multicast for IP
l Draft-ietf-pim-sm-bsr-09: Bootstrap Router (BSR) Mechanism for PIM
l Draft-ietf-ssm-overview-05: An Overview of Source-Specific Multicast (SSM)
1.2 Configuring IPv6 PIM-DM
1.2.1 IPv6 PIM-DM Configuration Task List
Complete these tasks to configure IPv6 PIM-DM:
Task |
Remarks |
Required |
|
Optional |
|
Optional |
|
Optional |
|
Optional |
1.2.2 Configuration Prerequisites
Before configuring IPv6 PIM-DM, complete the following task:
l Configure any IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
Before configuring IPv6 PIM-DM, prepare the following data:
l The interval between state refresh messages
l Minimum time to wait before receiving a new refresh message
l TTL value of state refresh messages
l Graft retry period
1.2.3 Enabling IPv6 PIM-DM
An IPv6 PIM-DM enabled device sends hello messages periodically to discover IPv6 PIM neighbors and processes messages from IPv6 PIM neighbors. When deploying an IPv6 PIM-DM domain, you are recommended to enable IPv6 PIM-DM on all non-border interfaces of the routers.
Follow these steps to enable IPv6 PIM-DM:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IPv6 multicast routing |
multicast ipv6 routing-enable |
Required Disable by default |
Enter VLAN interface view |
interface interface-type interface-number |
— |
Enable IPv6 PIM-DM |
pim ipv6 dm |
Required Disabled by default |
Caution:
l All the interfaces of the same device must work in the same IPv6 PIM mode.
l After IPv6 PIM-DM is enabled on a VLAN interface, MLD snooping cannot be enabled in the corresponding VLAN, and vice versa.
1.2.4 Enabling State Refresh
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.
Follow these steps to enable state refresh:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN interface view |
interface interface-type interface-number |
— |
Enable state refresh |
pim ipv6 state-refresh-capable |
Optional Enabled by default |
1.2.5 Configuring State Refresh Parameters
To avoid the resource-consuming reflooding of unwanted traffic caused by timeout of pruned interfaces, the device directly connected with the IPv6 multicast source periodically sends (S, G) state refresh messages, which are forwarded hop by hop along the initial flooding path of the IPv6 PIM-DM domain, to refresh the prune timer state of all the devices on the path.
A device may receive multiple state refresh messages within a short time, of which some may be duplicated messages. To keep device from receiving such duplicated messages, you can configure the time the device must wait before receiving the next state refresh message. If a new state refresh message is received within the waiting time, the device will discard it; if this timer times out, the device will accept a new state refresh message, refresh its own IPv6 PIM-DM state, and reset the waiting timer.
The TTL value of a state refresh message decrements by 1 whenever it passes a device before it is forwarded to the downstream node until the TTL value comes down to 0. In a small network, a state refresh message may cycle in the network. To effectively control the propagation scope of state refresh messages, you need to configure an appropriate TTL value based on the network size.
It is recommended to perform the following configurations on all routers in the IPv6 PIM-DM domain.
Follow these steps to configure state refresh parameters:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the interval between state refresh messages |
state-refresh-interval interval |
Optional 60 seconds by default |
Configure the time to wait before receiving a new state refresh message |
state-refresh-rate-limit interval |
Optional 30 seconds by default |
Configure the TTL value of state refresh messages |
state-refresh-ttl ttl-value |
Optional 255 by default |
1.2.6 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 device does not receive a graft-ack message from the upstream device within the specified time after it sends a graft message, the device keeps sending new graft messages at a configurable interval, namely graft retry period, until it receives a graft-ack from the upstream device.
Follow these steps to configure IPv6 PIM-DM graft retry period:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN interface view |
interface interface-type interface-number |
— |
Configure graft retry period |
pim ipv6 timer graft-retry interval |
Optional 3 seconds by default |
& Note:
For the configuration of other timers in IPv6 PIM-DM, refer to Configuring IPv6 PIM Common Timers.
1.3 Configuring IPv6 PIM-SM
& Note:
A device can serve as a C-RP and a C-BSR at the same time.
1.3.1 IPv6 PIM-SM Configuration Task List
Complete these tasks to configure IPv6 PIM-SM:
Task |
Remarks |
|
Required |
||
Optional |
||
Required |
||
Optional |
||
Optional |
||
Required |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
1.3.2 Configuration Prerequisites
Before configuring IPv6 PIM-SM, complete the following task:
l Configure any IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
Before configuring IPv6 PIM-SM, prepare the following data:
l The IP address of a static RP and an ACL rule defining the range of IPv6 multicast groups to be served by the static RP
l C-RP priority and an ACL rule defining the range of IPv6 multicast groups to be served by each C-RP
l A legal C-RP address range and an ACL rule defining the range of IPv6 multicast groups to be served
l Whether to enable the embedded RP mechanism
l C-RP-Adv interval
l C-RP timeout
l C-BSR priority
l Hash mask length
l An IPv6 ACL rule defining a legal BSR address range
l BS period
l BS timeout
l An IPv6 ACL rule for register message filtering
l Register suppression time
l Register probe time
l Whether to disable RPT-to-SPT switchover
1.3.3 Enabling IPv6 PIM-SM
With IPv6 PIM-SM enabled, a device sends hello messages periodically to discover IPv6 PIM neighbors and processes messages from IPv6 PIM neighbors. When deploying an IPv6 PIM-SM domain, you are recommended to enable IPv6 PIM-SM on all non-border interfaces of the routers.
Follow these steps to enable IPv6 PIM-SM:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IPv6 multicast routing |
multicast ipv6 routing-enable |
Required Disable by default |
Enter VLAN interface view |
interface interface-type interface-number |
— |
Enable IPv6 PIM-SM |
pim ipv6 sm |
Required Disabled by default |
Caution:
l All the interfaces of the same device must work in the same IPv6 PIM mode.
l After IPv6 PIM-SM is enabled on a VLAN interface, MLD snooping cannot be enabled in the corresponding VLAN, and vice versa
1.3.4 Configuring an RP
An RP can be either 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.
I. Configuring a static RP
Follow these steps to configure a static RP:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure a static RP |
static-rp ipv6-rp-address [ acl6-number ] [ preferred ] |
Required No static RP by default |
II. 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. We recommend that you configure C-RPs on backbone routers.
To guard against C-RP spoofing, you need to configure a legal C-RP address range and the range of IPv6 multicast groups to be served on the BSR. In addition, because every C-BSR has a chance to become the BSR, you need to configure the same filtering policy on all C-BSRs in the IPv6 PIM-SM domain.
Follow these steps to configure a C-RP:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure an interface to be a C-RP |
c-rp ipv6-address [ group-policy acl6-number | priority priority | holdtime hold-interval | advertisement-interval adv-interval ] * |
Required No C-RPs are configured by default. |
Configure a legal C-RP address range and the range of IPv6 multicast groups to be served |
crp-policy acl6-number |
Optional No restrictions by default |
& Note:
l When configuring a C-RP, ensure a relatively large bandwidth between this C-RP and the other devices in the IPv6 PIM-SM domain.
l An RP can serve multiple IPv6 multicast groups or all IPv6 multicast groups. Only one RP can forward IPv6 multicast traffic for a given IPv6 multicast group at a moment.
III. Enabling embedded RP
With the Embedded RP feature enabled, the router 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.
Follow these steps to enable embedded RP:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
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 details of the scope field, see Multicast Overview of the IP Multicast Volume.
IV. 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. Upon receiving a C-RP-Adv message, the BSR obtains this timeout value and starts a C-RP timeout timer. If the BSR fails to hear a subsequent C-RP-Adv message from the C-RP when the timer times out, the BSR assumes the C-RP to have expired or become unreachable.
The C-RP timers need to be configured on C-RP routers.
Follow these steps to configure C-RP timers globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the C-RP-Adv interval |
c-rp advertisement-interval interval |
Optional 60 seconds by default |
Configure C-RP timeout time |
c-rp holdtime interval |
Optional 150 seconds by default |
& Note:
For the configuration of other timers in IPv6 PIM-SM, refer to Configuring IPv6 PIM Common Timers.
1.3.5 Configuring a BSR
An IPv6 PIM-SM domain can have only one BSR, but must have at least one C-BSR. Any device can be configured as C-BSR. Elected from C-BSRs, a BSR is responsible for collecting and advertising RP information in the IPv6 PIM-SM.
I. Configuring a C-BSR
C-BSRs should be configured on devices in the backbone network. When configuring a device as a C-BSR, be sure to specify the IPv6 address of an IPv6 PIM-SM-enabled interface on the device. The BSR election process is as follows:
l 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.
l When a C-BSR receives the bootstrap message of another C-BSR, it first compares its own priority with the other C-BSR’s priority carried in the message. The C-BSR with a higher priority wins. If there is a tie 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, while 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 BSR messages based on the address range, thus to prevent malicious hosts from initiating attacks by disguising themselves as legitimate BSRs. To protect legitimate BSRs from being maliciously replaced, preventive measures are taken specific to the following two situations:
1) Some malicious hosts intend to fool devices by forging BSR messages and change the RP mapping relationship. Such attacks often occur on border devices. 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 border devices to perform neighbor check and RPF check on BSR messages and discard unwanted messages.
2) When a device in the network is controlled by an attacker or when an illegal device is present in the network, the attacker can configure such a device to be a C-BSR and make it win BSR election so as to gain the right of advertising RP information in the network. After being configured as a C-BSR, a device automatically floods the network with BSR messages. As a BSR message has a TTL value of 1, the whole network will not be affected as long as the neighbor device discards these BSR messages. Therefore, if a legal BSR address range is configured on all devices in the entire network, all devices will discard BSR messages from out of the legal address range, and thus this kind of attacks can be prevented.
The above-mentioned preventive measures can partially protect the security of BSRs in a network. However, if a legal BSR is controlled by an attacker, the aforesaid problem may also occur.
Follow these steps to complete BSR configuration:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure an interface as a C-BSR |
c-bsr ipv6-address [ hash-length [ priority ] ] |
Required No C-BSRs are configured by default. |
Configure a legal BSR address range |
bsr-policy acl6-number |
Optional No restrictions by default |
& Note:
II. 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. A number of IPv6 PIM domain border interfaces partition a network into different IPv6 PIM-SM domains. Bootstrap messages cannot cross a domain border in either direction, while other types of IPv6 PIM messages can.
Perform the following configuration on routers that can become an IPv6 PIM domain border.
Follow these steps to configure an IPv6 PIM border domain:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter interface view |
interface interface-type interface-number |
— |
Configuring an IPv6 PIM domain border |
pim ipv6 bsr-boundary |
Required No IPv6 PIM domain border is configured by default |
III. 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 corresponding to specific IPv6 multicast groups.
Perform the following configuration on C-BSR routers.
Follow these steps to configure C-BSR parameters globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the Hash mask length |
c-bsr hash-length hash-length |
Optional 126 by default |
Configure the C-BSR priority |
c-bsr priority priority |
Optional 0 by default |
IV. Configuring C-BSR timers
The BSR election winner advertises its own IPv6 address and RP-Set information via multicast throughout the region that it serves through bootstrap messages. The BSR floods bootstrap messages throughout the network at the interval of BSR state (BS) period. Any C-BSR that receives a bootstrap message retains the RP-set for the length of BS timeout, during which no BSR election takes place. If the BSR state times out and no bootstrap message is received from the BSR, a new BSR election process is triggered among the C-BSRs.
Perform the following configuration on C-BSR routers.
Follow these steps to configure C-BSR timers:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the BS period |
c-bsr interval interval |
Optional For the default value, see the note below. |
Configure the BS timeout |
c-bsr holdtime interval |
Optional For the default value, see the note below. |
& Note:
About the bootstrap timeout time:
l By default, the bootstrap timeout time is determined by this formula: Bootstrap timeout = Bootstrap interval × 2 + 10. The default bootstrap interval is 60 seconds, so the default bootstrap timeout = 60 × 2 + 10 = 130 (seconds).
l If this parameter is manually configured, the system will use the configured value.
About the bootstrap interval:
l By default, the bootstrap timeout time is determined by this formula: Bootstrap interval = (Bootstrap timeout – 10) / 2. The default bootstrap timeout is 130 seconds, so the default bootstrap interval = (130 – 10) / 2 = 60 (seconds).
l If this parameter is manually configured, the system will use the configured value.
Caution:
In configuration, make sure that the bootstrap interval is smaller than the bootstrap timeout time.
1.3.6 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 serve specific IPv6 multicast groups. If an (S, G) entry is denied by the filtering rule, or the action for this entry is not defined in the filtering rule, 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, this method of checksum calculation is not recommended.
When receivers stop receiving data addressed to a certain IPv6 multicast group through the RP (that is, the RP stops serving the receivers of a specific IPv6 multicast group), or when the RP formally starts receiving IPv6 multicast data from the IPv6 multicast source, the RP sends a register-stop message to the source-side DR. Upon receiving this message, the DR stops sending register messages encapsulated with IPv6 multicast data and enters the register suppression state.
In a probe suppression cycle, the DR can send a null register message (a register message without multicast data encapsulated), a certain length of time defined by the probe time before the register suppression timer expires, to the RP to indicate that the multicast source is active. When the register suppression timer expires, the DR starts sending register messages again. A smaller register suppression timeout setting will cause the RP to receive bursting IPv6 multicast data more frequently, while a larger timeout setting will result in a larger delay for new receivers to join the IPv6 multicast group they are interested in.
Configure a filtering rule for register messages on all C-RP routers and configure them to calculate the checksum based on the entire register messages. Configure the register suppression time and the register probe time on all routers that may become source-side DRs.
Follow these steps to configure IPv6 PIM-SM register messages:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure a filtering rule for register messages |
register-policy acl6-number |
Optional No register filtering rule by default |
Configure the device to calculate the checksum based on the entire register messages |
register-whole-checksum |
Optional Based on the header of register messages by default |
Configure the register suppression time |
register-suppression-timeout interval |
Optional 60 seconds by default |
Configure the probe time |
probe-interval interval |
Optional 5 seconds by default |
& Note:
l Typically, you need to configure the above-mentioned parameters on the source-side DR and the RP only. Since both the DR and RP are elected, however, you should carry out these configurations on the devices that may win the DR election and on the C-RPs that may win RP elections.
l After a filtering rule for register messages is configured, the RP accepts only the register messages that match the permit statement of the filtering rule. If you specify an undefined IPv6 advanced ACL number, the RP will reject all the register messages.
1.3.7 Disabling RPT-to-SPT Switchover
When an S9500 series routing switch serves as a receiver-side DR, by default, it initiates an RPT-to-SPT switchover process immediately after receiving the first multicast packet along the RPT. You can disable RPT-to-SPT switchover with the following command.
Follow these steps to disable RPT-to-SPT switchover:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Disable RPT-to-SPT switchover |
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. |
& Note:
To avoid forwarding failure, do not disable RPT-to-SPT switchover on a device that may become an RP (namely, a static RP or a C-RP).
1.4 Configuring IPv6 PIM-SSM
& Note:
The IPv6 PIM-SSM model needs the support of MLDv2. Therefore, be sure to enable MLDv2 on IPv6 PIM routers with receivers attached to them.
1.4.1 IPv6 PIM-SSM Configuration Task List
Complete these tasks to configure IPv6 PIM-SSM:
Task |
Remarks |
Required |
|
Optional |
|
Optional |
1.4.2 Configuration Prerequisites
Before configuring IPv6 PIM-SSM, complete the following task:
l Configure any IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
Before configuring IPv6 PIM-SSM, prepare the following data:
1.4.3 Enabling IPv6 PIM-SM
The SSM model is implemented based on some subsets of IPv6 PIM-SM. Therefore, a router is IPv6 PIM-SSM capable after you enable IPv6 PIM-SM on it.
When deploying an IPv6 PIM-SM domain, you are recommended to enable IPv6 PIM-SM on all non-border interfaces of devices.
Follow these steps to enable IPv6 PIM-SSM:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IPv6 multicast routing |
multicast ipv6 routing-enable |
Required Disable by default |
Enter interface view |
interface interface-type interface-number |
— |
Enable IPv6 PIM-SM |
pim ipv6 sm |
Required Disabled by default |
Caution:
All the interfaces of the same device must work in the same IPv6 PIM mode.
& Note:
For details about the multicast ipv6 routing-table command, see IPv6 Multicast Routing and Forwarding Commands in the IP Multicast Volume.
1.4.4 Configuring the IPv6 SSM Group Range
As for 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, this depends on whether the group address in the (S, G) channel subscribed by the receivers falls 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.
Perform the following configuration on all devices in the IPv6 PIM-SM domain.
Follow these steps to configure the IPv6 SSM group range:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the IPv6 SSM group range |
ssm-policy acl6-number |
Optional FF3x::/32 by default, here “x” refers to any legal group scope. |
Caution:
l Make sure that the same IPv6 SSM group range is configured on all devices in the entire domain. Otherwise, IPv6 multicast data cannot be delivered through the IPv6 SSM model.
l 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.
1.5 Configuring IPv6 PIM Common Features
& Note:
For the configuration tasks described in this section:
l Configurations performed in IPv6 PIM view are effective to all interfaces, while configurations performed in interface view are effective to the current interface only.
l If the same function or parameter is configured in both PIM IPv6 view and interface view, the configuration performed in interface view has given priority, regardless of the configuration sequence.
1.5.1 IPv6 PIM Common Information Configuration Task List
Complete these tasks to configure IPv6 PIM common information:
Task |
Remarks |
Optional |
|
Optional |
|
Optional |
|
Optional |
1.5.2 Configuration Prerequisites
Before configuring IPv6 PIM common information, complete the following tasks:
l Configure any IPv6 unicast routing protocol so that all devices in the domain are interoperable at the network layer.
l Configure IPv6 PIM-DM (or IPv6 PIM-SM)
Before configuring IPv6 PIM common information, prepare the following data:
l An IPv6 ACL rule for filtering IPv6 multicast data
l Priority for DR election (global value/interface level value)
l IPv6 PIM neighbor timeout time (global value/interface value)
l Prune delay (global value/interface level value)
l Prune override interval (global value/interface level value)
l Hello interval (global value/interface level value)
l Maximum delay between hello message (interface level value)
l Join/prune interval (global value/interface level value)
l Join/prune timeout (global value/interface value)
l IPv6 multicast source lifetime
l Maximum size of join/prune messages
l Maximum number of (S, G) entries in a join/prune message
1.5.3 Configuring an IPv6 Multicast Data Filter
No matter in an IPv6 PIM-DM domain or an IPv6 PIM-SM domain, devices 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 devices 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.
Follow these steps to configure an IPv6 multicast data filter:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure an IPv6 multicast group filter |
source-policy acl6-number |
Required No IPv6 multicast data filter by default |
& Note:
l Generally, a smaller distance from the filter to the IPv6 multicast source results in a more remarkable filtering effect.
l This filter works not only on independent IPv6 multicast data but also on IPv6 multicast data encapsulated in register messages.
1.5.4 Configuring IPv6 PIM Hello Options
No matter in an IPv6 PIM-DM domain or an IPv6 PIM-SM domain, the hello messages sent among devices contain many configurable options, including:
l DR_Priority (for IPv6 PIM-SM only): priority for DR election. The higher the priority is, the easier it is for the device to win DR election. You can configure this parameter on all the devices in a multi-access network directly connected to IPv6 multicast sources or receivers.
l Holdtime: the timeout time of IPv6 PIM neighbor reachability state. When this timer times out, if the device has received no hello message from an IPv6 PIM neighbor, it assumes that this neighbor has expired or become unreachable.
l LAN_Prune_Delay: the delay of prune messages on a multi-access network. This option consists of Lan-delay (namely, prune delay), Override-interval, and neighbor tracking flag. If the LAN-delay or override-interval values of different IPv6 PIM routers on a multi-access subnet are different, the largest value will take effect. If you want to enable neighbor tracking, the neighbor tracking feature should be enabled on all IPv6 PIM routers on a multi-access subnet.
The LAN-delay setting will cause the upstream devices to delay processing received prune messages. If the LAN-delay setting is too small, it may cause the upstream device to stop forwarding IPv6 multicast packets before a downstream device sends a prune override message. Therefore, be cautious when configuring this parameter.
The override-interval sets the length of time a downstream device is allowed to wait before sending a prune override message. When a device receives a prune message from a downstream device, 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 prune override message within the prune override interval; otherwise, the upstream route will perform the prune action when the period of LAN-delay plus override-interval time out.
A hello message sent from an IPv6 PIM device contains a generation ID option. The generation ID is a random value for the interface on which the hello message is sent. Normally, the generation ID of an IPv6 PIM device does not change unless the status of the device changes (for example, when IPv6 PIM is just enabled on the interface or the device is restarted). When the device starts or restarts sending hello messages, it generates a new generation ID. If an IPv6 PIM device finds that the generation ID in a hello message from the upstream device has changed, it assumes that the status of the upstream neighbor is lost or the upstream neighbor has changed. In this case, it triggers a join message for state update.
If you disable join suppression (namely, enable neighbor tracking), the join suppression feature should be disabled on all IPv6 PIM routers on a multi-access subnet; otherwise, the upstream router will fail to explicitly track which downstream routers are joined to it.
I. Configuring hello options globally
Follow these steps to configure hello options globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the priority for DR election |
hello-option dr-priority priority |
Optional 1 by default |
Configure IPv6 PIM neighbor timeout time |
hello-option holdtime interval |
Optional 105 seconds by default |
Configure the prune delay time (LAN-delay) |
hello-option lan-delay interval |
Optional 500 milliseconds by default |
Configure the prune override interval |
hello-option override-interval interval |
Optional 2,500 milliseconds by default |
Disable join suppression |
hello-option neighbor-tracking |
Optional Enabled by default |
II. Configuring hello options on an interface
Follow these steps to configure hello options on an interface:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN interface view |
interface interface-type interface-number |
— |
Configure the priority for DR election |
pim ipv6 hello-option dr-priority priority |
Optional 1 by default |
Configure IPv6 PIM neighbor timeout time |
pim ipv6 hello-option holdtime interval |
Optional 105 seconds by default |
Configure the prune delay time (LAN-delay) |
pim ipv6 hello-option lan-delay interval |
Optional 500 milliseconds by default |
Configure the prune override interval |
pim ipv6 hello-option override-interval interval |
Optional 2,500 milliseconds by default |
Disable join suppression |
pim ipv6 hello-option neighbor-tracking |
Optional Enabled by default |
Configure the interface to reject hello messages without a generation ID |
pim ipv6 require-genid |
Optional By default, hello messages without Generation_ID are accepted. |
1.5.5 Configuring IPv6 PIM Common Timers
Upon receiving a hello message, an IPv6 PIM device waits a random period, which is equal to or smaller than the maximum delay between hello messages, before sending out a hello message. This avoids collisions that occur when multiple IPv6 PIM devices send hello messages simultaneously.
An IPv6 PIM device periodically sends join/prune messages to its upstream device for state update. A join/prune message contains the join/prune timeout time. The upstream device sets a join/prune timeout timer for each pruned downstream interface, and resumes the forwarding state of the pruned interface when this timer times out.
When a device fails to receive subsequent IPv6 multicast data from the IPv6 multicast source S, the device will not immediately delete the corresponding (S, G) entries; instead, it maintains (S, G) entries for a period of time, namely the IPv6 multicast source lifetime, before deleting the (S, G) entries.
I. Configuring IPv6 PIM common timers globally
Follow these steps to configure IPv6 PIM common timers globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the hello interval |
timer hello interval |
Optional 30 seconds by default |
Configure the join/prune interval |
timer join-prune interval |
Optional 60 seconds by default |
Configure the join/prune timeout time |
holdtime join-prune interval |
Optional 210 seconds by default |
Configure the IPv6 multicast source lifetime |
source-lifetime interval |
Optional 210 seconds by default |
II. Configuring IPv6 PIM common timers on an interface
Follow these steps to configure IPv6 PIM common timers on an interface:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN interface view |
interface interface-type interface-number |
— |
Configure the hello interval |
pim ipv6 timer hello interval |
Optional 30 seconds by default |
Configure the maximum delay between hello messages |
pim ipv6 triggered-hello-delay interval |
Optional 5 seconds by default |
Configure assert timeout time |
pim ipv6 holdtime assert interval |
Optional 180 seconds by default |
Configure the join/prune interval |
pim ipv6 timer join-prune interval |
Optional 60 seconds by default |
Configure the join/prune timeout time |
pim ipv6 holdtime join-prune interval |
Optional 210 seconds by default |
& Note:
If there are no special networking requirements, we recommend that you use the default settings.
1.5.6 Configuring Join/Prune Message Sizes
A larger join/prune message size will result in loss of a larger amount of information when a message is lost; with a reduced join/message size, the loss of a single message will bring relatively minor impact.
By controlling the maximum number of (S, G) entries in a join/prune message, you can effectively reduce the number of (S, G) entries sent per unit of time.
Follow these steps to configure join/prune message sizes:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IPv6 PIM view |
pim ipv6 |
— |
Configure the maximum size of a join/prune message |
jp-pkt-size packet-size |
Optional 8,100 bytes by default |
Configure the maximum number of (S, G) entries in a join/prune message |
jp-queue-size queue-size |
Optional 1,020 by default |
1.6 Displaying and Maintaining IPv6 PIM
To do... |
Use the command... |
Remarks |
View the BSR information in the IPv6 PIM-SM domain and locally configured C-RP information in effect |
display pim ipv6 bsr-info |
Available in any view |
View the information of IPv6 unicast routes used by IPv6 PIM |
display pim ipv6 claimed-route [ ipv6-source-address ] |
Available in any view |
View 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 } ] * ] |
Available in any view |
View the information about unacknowledged graft messages |
display pim ipv6 grafts |
Available in any view |
View the IPv6 PIM information on an interface or all interfaces |
display pim ipv6 interface [ interface-type interface-number ] [ verbose ] |
Available in any view |
View the information of joint/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 ] |
Available in any view |
View IPv6 PIM neighboring information |
display pim ipv6 neighbor [ interface interface-type interface-number | ipv6-neighbor-address | verbose ] * |
Available in any view |
View the content of the 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 ] * |
Available in any view |
View the RP information |
display pim ipv6 rp-info [ ipv6-group-address ] |
Available in any view |
Reset IPv6 PIM control message counters |
reset pim ipv6 control-message counters [ interface interface-type interface-number ] |
Available in use view |
1.7 IPv6 PIM Configuration Examples
1.7.1 IPv6 PIM-DM Configuration Example
I. Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form stub networks, and one or more receiver hosts exist in each stub network. The entire IPv6 PIM domain operates in the dense mode.
l Host A and Host C are multicast receivers in two stub networks.
l Switch A connects to the network where the source resides through VLAN-interface 100, to Switch B through VLAN-interface 101, and to Switch C through VLAN-interface 102.
l Switch B and Switch C connect to N1 and N2 through VLAN-interface 200 and VLAN-interface 300 respectively, and to Switch A through VLAN-interface 101 and VLAN-interface 102 respectively.
II. Network diagram
Interface |
IP address |
Device |
Interface |
IP address |
|
Switch A |
Vlan-int100 |
2001::1/64 |
Switch C |
Vlan-int102 |
2003::2/64 |
|
Vlan-int101 |
2002::1/64 |
|
Vlan-int300 |
4001::1/64 |
|
Vlan-int102 |
2003::1/64 |
|
|
|
Switch B |
Vlan-int101 |
2002::2/64 |
|
|
|
|
Vlan-int200 |
3001::1/64 |
|
|
|
Figure 1-10 Network diagram for IPv6 PIM-DM configuration
III. Configuration procedure
1) Enable IPv6 forwarding and configure IPv6 addresses and IPv6 unicast routing
Enable IPv6 forwarding on each switch and configure the IP address and prefix length for each interface and enable OSPFv3 on each VLAN interface as per Figure 1-10. Detailed configuration steps are omitted here.
2) Enable IPv6 multicast routing, and enabling IPv6 PIM-DM on each interface
# Enable IPv6 multicast routing on Switch A, enable IPv6 PIM-DM on each interface.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] pim ipv6 dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim ipv6 dm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim ipv6 dm
[SwitchA-Vlan-interface102] quit
The configuration on Switch B and Switch C is similar to the configuration on Switch A.
3) Enable MLD on the host-side interfaces of Switch B and Switch C
# Enable IPv6 multicast routing on Switch B, and enable MLDv1 on VLAN-interface 200.
<SwitchB> system-view
[SwitchB] multicast ipv6 routing-enable
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mld enable
[SwitchB-Vlan-interface200] quit
The configuration on Switch is similar to the configuration on Switch B.
4) Verify the configuration
Use the display pim ipv6 interface command to view the IPv6 PIM configuration and running status on each interface. For example:
# View the IPv6 PIM configuration information on Switch A.
[SwitchA] display pim ipv6 interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan100 0 30 1 2001::1
(local)
Vlan101 1 30 1 2002:1
(local)
Vlan102 1 30 1 2003:1
(local)
Use the display pim ipv6 neighbor command to view the IPv6 PIM neighboring relationships among the switches. For example:
# View the IPv6 PIM neighboring relationships on Switch A.
[SwitchA] display pim ipv6 neighbor
Total Number of Neighbors = 2
Neighbor Interface Uptime Expires Dr-Priority
2002::2 Vlan101 00:04:16 00: 01:29 1
2003::2 Vlan102 00:03:54 00: 01:17 1
Assume that Host A needs to receive the information addressed to an IPv6 multicast group G (FF0E::101:101). After IPv6 multicast source S (2001::5) sends IPv6 multicast packets to the IPv6 multicast group G, an SPT is established through traffic flooding, and all the switches on the SPT path have created (S, G) entries. Host A sends an MLD report to Switch B to join IPv6 multicast group G, and a (*, G) entry is generated on Switch B .You can use the display pim IPv6 routing-table command to view the IPv6 PIM routing table information on each switch. For example:
# View the IPv6 PIM multicast routing table information on Switch A.
[SwitchA] display pim ipv6 routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(2001::5, FF0E::101:101)
Protocol: pim-dm, Flag: LOC ACT
UpTime: 00:01:20
Upstream interface: Vlan-interface100
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 2
1: Vlan-interface101
Protocol: pim-dm, UpTime: 00:01:20, Expires: never
2: Vlan-interface102
Protocol: pim-dm, UpTime: 00:01:20, Expires: never
# View the IPv6 PIM multicast routing table information on Switch B.
[SwitchB] display pim ipv6 routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, FF0E::101:101)
Protocol: pim-dm, Flag: WC
UpTime: 01:46:23
Upstream interface: Vlan-interface101
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface200
Protocol: mld, UpTime: 01:46:23, Expires: never
(2001::5, FF0E::101:101)
Protocol: pim-dm, Flag: ACT
UpTime: 00:02:19
Upstream interface: Vlan-interface101
Upstream neighbor: 2002::1
RPF prime neighbor: 2002::1
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface200
Protocol: pim-dm, UpTime: 00:02:19, Expires: never
The information on Switch C is similar to that on Switch B.
1.7.2 IPv6 PIM-SM Configuration Example
I. Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form stub networks, and one or more receiver hosts exist in each stub network. The entire PIM domain operates in the sparse mode.
l Host A and Host C are IPv6 multicast receivers in two stub networks N1 and N2.
l Switch A connects to the network where the source resides through VLAN-interface 100.
l Switch B connect to N1 through VLAN-interface 200, and to Switch A and Switch D through VLAN-interface 101 and VLAN-interface 103 respectively.
l Switch C connects to N2 through VLAN-interface 300 and to Switch D through VLAN-interface 104.
l Switch D connects to Switch A, Switch B, and Switch C, and its VLAN-interface 103 acts a C-BSR and a C-RP, with the range of IPv6 multicast groups served by the C-RP being FF0E::1/64.
II. Network diagram
Interface |
IP address |
Device |
Interface |
IP address |
|
Switch A |
Vlan-int100 |
2001::1/64 |
Switch C |
Vlan-int104 |
2005::2/64 |
|
Vlan-int101 |
2002::1/64 |
|
Vlan-int300 |
4001::2/64 |
|
Vlan-int102 |
2003::1/64 |
|
Vlan-int102 |
2003::2/64 |
Switch B |
Vlan-int101 |
2002::2/64 |
Switch D |
Vlan-int103 |
3002::2/64 |
|
Vlan-int103 |
2004::1/64 |
|
Vlan-int104 |
2005::1/64 |
|
Vlan-int200 |
3001::1/64 |
|
|
|
Figure 1-11 Network diagram for IPv6 PIM-SM configuration
III. Configuration procedure
1) Enable IPv6 forwarding and configure IPv6 addresses and IPv6 unicast routing
Enable IPv6 forwarding on each switch and configure the IP address and prefix length for each interface as per Figure 1-11. Detailed configuration steps are omitted here.
Configure OSPFv3 for interoperation among the switches in the IPv6 PIM-SM domain. Detailed configuration steps are omitted here.
2) Enable IPv6 multicast routing, and enabling IPv6 PIM-SM on each interface
# Enable IPv6 multicast routing on Switch A, and enable IPv6 PIM-SM on each interface.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] interface vlan-interface 100
[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
The configuration on Switch B, Switch C and Switch D is similar to that on Switch A.
3) Configure a C-BSR and a C-RP
# Configure the RP service range and the C-BSR and C-RP locations on Switch D.
<SwitchD> system-view
[SwitchD] acl ipv6 number 2000
[SwitchD-acl6-basic-2000] rule permit source ff0e:: 64
[SwitchD-acl6-basic-2000] quit
[SwitchD] pim ipv6
[SwitchD-pim6] c-bsr 2004::2
[SwitchD-pim6] c-rp 2004::2 group-policy 2000
[SwitchD-pim6] quit
4) Enable MLD on the host-side interfaces of the switches connecting to the leaf networks.
# Enable IPv6 multicast routing on Switch B and enable MLDv1 on VLAN-interface 200.
<SwitchB> system-view
[SwitchB] multicast ipv6 routing-enable
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mld enable
[SwitchB-Vlan-interface200] quit
The configuration on Switch C is similar to that on Switch B.
5) Verify the configuration
Use the display pim ipv6 interface command to view the IPv6 PIM configuration and running status on each interface. For example:
# View the IPv6 PIM information on all interfaces of Switch B.
[SwitchB] display pim ipv6 interface
Interface NbrCnt HelloInt DR-Pri DR-Address
Vlan101 1 30 1 2002::1
Vlan103 0 30 1 2004::2
Vlan200 1 30 1 3001::1
(local)
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:
# View the BSR information and the locally configured C-RP information in effect on Switch B.
[SwitchB] display pim ipv6 bsr-info
Elected BSR Address: 2004::2
Priority: 0
Hash mask length: 126
State: Accept Preferred
Uptime: 00:04:22
Next BSR message scheduled at: 00:01:46
# View the BSR information and the locally configured C-RP information in effect on Switch D.
[SwitchD] display pim ipv6 bsr-info
Elected BSR Address: 2004::2
Priority: 0
Hash mask length: 126
State: Elected
Uptime: 00:01:10
Next BSR message scheduled at: 00:00:48
Candidate BSR Address: 2004::2
Priority: 0
Hash mask length: 126
State: Elected
Candidate RP: 2004::2(Vlan-interface 103)
Priority: 0
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:
# View the RP information on Switch B.
[SwitchB] display pim ipv6 rp-info
PIM-SM BSR RP information:
prefix/prefix length: FF0E::101:101/64
RP: 2004::2
Priority: 0
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::101:101). An RPT will be built between Switch D and Switch B. A (*, G) entry is created on Switch D and Switch B on the RPT path. Once the multicast source S (2001::5/64) sends an IPv6 multicast packet to the IPv6 multicast group G, an (S, G) entry is created on the switches (Switch A and Switch D) on the source tree. You can use the display pim ipv6 routing-table command to view the IPv6 PIM routing table information on the switches. For example:
# View the IPv6 PIM multicast routing table information on Switch A.
[SwitchA] display pim ipv6 routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(2001::5, FF0E::101:101)
RP: 2004::2
Protocol: pim-sm, Flag: SPT LOC ACT
UpTime: 00:02:15
Upstream interface: Vlan-interface100
Upstream neighbor: null
RPF prime neighbor: null
Downstream interface(s) information:
Total number of downstreams: 2
1: Vlan-interface101
Protocol: pim-sm, UpTime: 00:02:15, Expires: 00:03:15
2: Vlan-interface102
Protocol: pim-sm, UpTime: 00:02:15, Expires: 00:03:15
# View the IPv6 PIM multicast routing table information on Switch B.
[SwitchB] display pim ipv6 routing-table
Total 1 (*, G) entry; 0 (S, G) entry
(*, FF0E::101:101)
RP: 2004::2
Protocol: pim-sm, Flag: WC
UpTime: 00:14:44
Upstream interface: Vlan-interface103
Upstream neighbor: 2004::2
RPF prime neighbor: 2004::2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface200
Protocol: mld, UpTime: 00:14:44, Expires: 00:02:26
The configuration on Switch C is similar to that on Switch B.
# View the IPv6 PIM multicast routing table information on Switch D.
[SwitchD] display pim ipv6 routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, FF0E::101:101)
RP: 2004::2 (local)
Protocol: pim-sm, Flag: WC
UpTime: 00:16:56
Upstream interface: Register
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 2
1: Vlan-interface103
Protocol: pim-sm, UpTime: 00:16:56, Expires: 00:02:34
2: Vlan-interface104
Protocol: pim-sm, UpTime: 00:07:56, Expires: 00:02:35
(2001::5, FF0E::101:101)
RP: 2004::2 (local)
Protocol: pim-sm, Flag: SWT ACT
UpTime: 00:02:54
Upstream interface: Vlan-interface102
Upstream neighbor: 2003::1
RPF prime neighbor: 2003::1
Downstream interface(s) information:
Total number of downstreams: 2
1: Vlan-interface103
Protocol: pim-sm, UpTime: 00:02:54, Expires: 00:02:35
2: Vlan-interface104
Protocol: pim-sm, UpTime: 00:02:54, Expires: 00:02:36
1.7.3 IPv6 PIM-SSM Configuration Example
I. Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form stub networks, and one or more receiver hosts exist in each stub network. The entire PIM domain operates in the SSM mode.
l Host A and Host C are IPv6 multicast receivers in two stub networks N1 and N2.
l Switch D connects to the network that comprises the IPv6 multicast source (Source) through VLAN-interface 300.
l Switch A connects to N1 through VLAN-interface 100, to Switch D through VLAN-interface 101, and to Switch E through VLAN-interface 102.
l Switch B and Switch C connect to N2 through their respective VLAN-interface 200; Switch B connects to Switch E through VLAN-interface 103, and Switch C connects to Switch E through VLAN-interface 104.
l Switch E connects to Switch A, Switch B, Switch C and Switch D.
l The SSM group range is FF3E::/64.
l MLDv2 is to run between Switch A and N1, and between Switch B/Switch C and N2.
II. Network diagram
Interface |
IP address |
Device |
Interface |
IP address |
|
Switch A |
Vlan-int100 |
1001::1/64 |
Switch D |
Vlan-int300 |
4001::1/64 |
|
Vlan-int101 |
1002::1/64 |
|
Vlan-int101 |
1002::2/64 |
|
Vlan-int102 |
1003::1/64 |
|
Vlan-int105 |
4002::1/64 |
Switch B |
Vlan-int200 |
2001::1/64 |
Switch E |
Vlan-int104 |
3001::2/64 |
|
Vlan-int103 |
2002::1/64 |
|
Vlan-int103 |
2002::2/64 |
Switch C |
Vlan-int200 |
2001::2/64 |
|
Vlan-int102 |
1003::2/64 |
|
Vlan-int104 |
3001::1/64 |
|
Vlan-int105 |
4002::2/64 |
Figure 1-12 Network diagram for IPv6 PIM-SSM configuration (on switches)
III. Configuration procedure
1) Enable IPv6 forwarding and configure IPv6 addresses and IPv6 unicast routing
Enable IPv6 forwarding on each switch and configure the IPv6 address and prefix length for each interface as per Figure 1-12. Detailed configuration steps are omitted here.
Configure OSPFv3 for interoperation among the switches in the IPv6 PIM-SM domain. Ensure the network-layer interoperation in the IPv6 PIM-SM domain and enable dynamic update of routing information among the switches through an IPv6 unicast routing protocol. Detailed configuration steps are omitted here.
2) 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 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] 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
The configuration on Switch B and Switch C is similar to that on Switch A. The configuration on Switch D and Switch E is also similar to that on Switch A except that it is not necessary to enable MLD on the corresponding interfaces on these two switches.
3) Configure the IPv6 SSM group range
# Configure the IPv6 SSM group range as 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
The configuration on Switch B, Switch C, Switch D, and Switch E is similar to that on Switch A.
1.8 Troubleshooting IPv6 PIM Configuration
1.8.1 Failure of Building a Multicast Distribution Tree Correctly
I. Symptom
None of the devices in the network has IPv6 multicast forwarding entries. That is, a multicast distribution tree cannot be built correctly and clients cannot receive IPv6 multicast data.
II. Analysis
l 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.
l The RPF interface must support IPv6 PIM. 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.
l IPv6 PIM requires that the same IPv6 PIM mode, namely 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.
III. Solution
1) Check IPv6 unicast routes. Use the display ipv6 routing-table command to check whether a unicast route exist to the IPv6 multicast source or the RP.
2) Check that IPv6 PIM is running on the RPF interface. Use the display pim ipv6 interface command to view 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) Check that the RPF neighbor is an IPv6 PIM neighbor. Use the display pim ipv6 neighbor command to view the PIM neighbor information.
4) Check that IPv6 PIM and MLD are enabled on the interfaces directly connecting to the IPv6 multicast source and to the receiver.
5) Check that the same IPv6 PIM mode is enabled on related interfaces. Use the display pim ipv6 interface verbose command to check whether the same PIM mode is enabled on the RPF interface and the corresponding interface of the RPF neighbor device.
6) Check that the same IPv6 PIM mode is enabled on all the devices in the entire network. Use the display current-configuration command to check the IPv6 PIM mode information on each interface. Make sure that the same IPv6 PIM mode is enabled on all the devices: IPv6 PIM-SM on all devices, or IPv6 PIM-DM on all devices.
1.8.2 RPs Unable to Join SPT in IPv6 PIM-SM
I. Symptom
An RPT cannot be established correctly, or the RPs cannot join the SPT to the IPv6 multicast source.
II. Analysis
l As the core of an IPv6 PIM-SM domain, the RPs serves specific IPv6 multicast groups. Multiple RPs can coexist in a network. Make sure that the RP information on all devices is exactly the same, and a specific group is mapped to the same RP. Otherwise, IPv6 multicast will fail.
l In the case of the static RP mechanism, the same RP address must be configured on all the devices in the entire network, including static RPs, by means of the static RP command. Otherwise, IPv6 multicast will fail.
III. Solution
1) Check that a route is available to the RP. Use the display ipv6 routing-table command to check whether a route is available on each device to the RP.
2) Check the dynamic RP information. Use the display pim ipv6 rp-info command to check whether the RP information is consistent on all devices. In the case of inconsistent RP information, configure consistent RP address on all the devices in IPv6 PIM view.
3) Check the static RP configuration. Use the display pim ipv6 rp-info command to check whether the same RP address has been configured on all the devices throughout the network.
1.8.3 RPT Establishment or Source Registration Failure in IPv6 PIM-SM
I. 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.
II. Analysis
l 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 will be unable to receive the advertisements from the C-RP, and therefore will not advertise bootstrap messages encapsulated with C-RP information.
l The RP is the core of an IPv6 PIM-SM domain. Make sure that the RP information on all devices is exactly the same, a specific group G is mapped to the same RP, and a unicast route is available to the RP.
III. Solution
1) Check whether routes to C-RPs, the RP and the BSR are available. Use the display ipv6 routing-table command to check whether routes are available on each device to the RP and the BSR, and whether a route is available between the C-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 devices in the entire network have a unicast route to the RP.
2) Check the RP and BSR information. IPv6 PIM-SM needs the support of the RP and BSR. Use the display pim ipv6 bsr-info command to check whether the BSR information is available on each device, and then use the display pim ipv6 rp-info command to check whether the RP information is correct.
3) View the IPv6 PIM neighboring relationships. Use the display pim ipv6 neighbor command to check whether the normal neighboring relationships have been established among the devices.
Chapter 2 Board Intermixing for IPv6 Multicast
When configuring board intermixing for IPv6 multicast, go to these sections for information you are interested in:
l Configuring Board Intermixing for IPv6 Multicast
l IPv6 Multicast Intermixing Configuration Example
& Note:
Before configuring board intermixing for IPv6 multicast, make sure that at least one Type D board is installed in the device.
2.1 Introduction to Board Intermixing for IPv6 Multicast
Board intermixing for IPv6 multicast is designed to make IPv6 multicast possible on boards that do not support IPv6 multicast. Currently, for S9500 series routing switches, only Type D boards support IPv6 multicast. In practice, however, a device may comprise different types of boards. In the case that IPv6 multicast data can be delivered to the device only through a port on a non-Type-D board due to some restrictions, you can configure board intermixing for IPv6 multicast to enable normal forwarding of the IPv6 multicast data.
2.2 Configuring Board Intermixing for IPv6 Multicast
2.2.1 Configuration Prerequisites
Before configuring board intermixing for IPv6 multicast, complete the following tasks:
l Configure any IPv6 unicast routing protocol for network-layer interoperation in the domain.
l Enable IPv6 PIM-DM (or PIM-SM).
2.2.2 Configuring a Loop Group for IPv6 Multicast
Configure an IPv6 multicast loop group to implement board intermixing for IPv6 multicast. For details about a loop group, refer to Link Aggregation Configuration in the Access Volume.
Follow these steps to configure an IPv6 multicast service loop group:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Create a manual link aggregation group |
link-aggregation group agg-id mode manual |
Required |
Configure the aggregation group as the loop group for the specified service |
link-aggregation group agg-id service-type { ipv6 | ipv6mc | mpls | tunnel } |
Required |
Enter Ethernet interface view |
interface interface-type interface-number |
— |
Assign the Ethernet port to the loop group |
port link-aggregation group agg-id |
Required |
Display information about the specified loop group |
display link-aggregation service-type [ agg-id ] |
Optional Available in any view |
Caution:
l Before adding an Ethernet port into a loop group for IPv6 multicast, be sure that this port is on a Type D board.
l Before adding an Ethernet port into a loop group for IPv6 multicast, make sure that STP is disabled on port.
l In the board intermixing scenario, a POS interface cannot serve as an incoming interface of IPv6 multicast data.
& Note:
l Only one loop group of each type can be configured globally.
l Only one service type can be configured in a loop group.
l It is recommended to configure an IPv6 unicast loop group while configuring an IPv6 multicast loop group.
l More than eight Ethernet ports can be added into an IPv6 multicast loop group, but the configuration takes effect on a maximum of eight ports. You are not recommended to add more than eight ports into an IPv6 multicast loop group.
2.3 IPv6 Multicast Intermixing Configuration Example
I. Network requirements
l Receivers receive VOD information through multicast. The receiver groups of different organizations form two stub networks, and at least one receiver host exists in each stub network. The entire IPv6 PIM domain operates in the dense mode.
l Due to some restrictions, Switch B and Switch C connect to Switch A through ports on their respective non-Type-D boards in slot 3. A Type D board is installed in slot 2 on Switch B and Switch C respectively. Suppose that Switch B serves as the MLD querier.
l It is required that Switch B and Switch C can forward IPv6 multicast and unicast data normally by configuring an IPv6 multicast loop group and an IPv6 unicast loop group.
II. Network diagram
Device |
Interface |
IP address |
Device |
Interface |
IP address |
Switch A |
Vlan-int100 |
2001::1/64 |
Switch C |
Vlan-int102 |
2003::2/64 |
|
Vlan-int101 |
2002::1/64 |
|
Vlan-int300 |
4001::1/64 |
|
Vlan-int102 |
2003::1/64 |
|
|
|
Switch B |
Vlan-int101 |
2002::1/64 |
|
|
|
|
Vlan-int200 |
3001::1/64 |
|
|
|
Figure 2-1 Network diagram for board intermixing for IPv6 multicast
III. Configuration procedure
1) Configure an IPv6 unicast loop group on Switch B and Switch C respectively.
[SwitchB] link-aggregation group 1 mode manual
[SwitchB] link-aggregation group 1 service-type ipv6
[SwitchB] interface gigabitethernet 2/1/2
[SwitchB-GigabitEthernet2/1/2] stp disable
[SwitchB-GigabitEthernet2/1/2] port link-aggregation group 1
[SwitchB-GigabitEthernet2/1/2] quit
The configuration on Switch C is similar to the configuration on Switch B.
2) Configure an IPv6 multicast loop group on Switch B and Switch C respectively.
[SwitchB] link-aggregation group 2 mode manual
[SwitchB] link-aggregation group 2 service-type ipv6mc
[SwitchB] interface gigabitethernet 2/1/1
[SwitchB-GigabitEthernet2/1/1] stp disable
[SwitchB-GigabitEthernet2/1/1] port link-aggregation group 2
[SwitchB-GigabitEthernet2/1/1] quit
The configuration on Switch C is similar to the configuration on Switch B.
3) Enable IPv6 forwarding and configure IPv6 addresses IPv6 unicast routing
Enable IPv6 forwarding on each switch and configure an IPv6 address and prefix for each VLAN interface as per Figure 2-1. Detailed configuration steps are omitted here.
Configure OSPFv3 for interoperation among the switches in the IPv6 PIM-SM domain. Ensure the network-layer interoperation in the IPv6 PIM-SM domain and enable dynamic update of routing information among the switches through an IPv6 unicast routing protocol. Detailed configuration steps are omitted here.
4) Enable IPv6 multicast routing, and enable IPv6 PIM-DM on each interface
# Enable IPv6 multicast routing on Switch A, and enable IPv6 PIM-DM on each VLAN interface.
<SwitchA> system-view
[SwitchA] multicast ipv6 routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] pim ipv6 dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim ipv6 dm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim ipv6 dm
[SwitchA-Vlan-interface102] quit
The configuration on Switch B and Switch C is similar to the configuration on Switch A.
5) Enable MLD on the host-side VLAN interfaces of Switch B and Switch C
# Enable IPv6 multicast routing on Switch B and enable MLDv1 on VLAN-interface 200.
<SwitchB> system-view
[SwitchB] multicast ipv6 routing-enable
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mld enable
[SwitchB-Vlan-interface200] quit
The configuration on Switch C is similar to the configuration on Switch B.
After the configuration mentioned above, when receiving IPv6 multicast data and IPv6 unicast data from Switch A, Switch B forwards the data to its Type D board, which processes and forwards the data to the downstream device.
6) Verify the configuration
Use the display link-aggregation service-type command to view the configuration of the loop group.
# View the configuration of the loop group on Switch B.
[SwitchB] display link-aggregation service-type
Service-Loop Service Quote
Group ID Type Number
---------------------------------------------------------
1 ipv6 1
2 ipv6mc 1
The above information shows that an IPv6 multicast loop group and an IPv6 unicast group have been correctly established.
The information on Switch C is similar to that on Switch B.