Example for Configuring IPv6 PIM-SM in the SSM Model
Networking Requirements
As shown in Figure 5-3, HostA wants to receive multicast data from S1 and S2, while HostB wants to receive multicast data from S2.
Configuration Roadmap
Configure the IPv6 PIM-SM protocol on the routers to enable them to provide the SSM service for user hosts on the network. Then hosts in a multicast group can receive multicast data sent from specified sources to this group.
Configure an IPv6 address for each interface and an IPv6 unicast routing protocol. IPv6 PIM is an intra-domain multicast routing protocol that depends on IPv6 unicast routing protocols.
Enable the IPv6 multicast function on routers providing multicast services. Before configuring IPv6 PIM-SM, you must enable the IPv6 multicast function.
Enable IPv6 PIM-SM on all interfaces. You can configure other IPv6 PIM-SM functions only after IPv6 PIM-SM is enabled.
Enable MLD on interfaces that connect the router and hosts and set the MLD version to MLDv2. A receiver can join and leave a multicast group of a specified source by sending MLD messages. The leaf routers maintain the multicast member relationship through MLD.
If both IPv6 PIM-SM and MLD need to be configured on interfaces that connect the router and hosts, you must configure IPv6 PIM-SM first, and then configure MLD.
Enable IPv6 PIM silent on interfaces that connect the router and user hosts to prevent malicious hosts from simulating sending Hello packets. In this manner, security of IPv6 PIM-SM domain is ensured.
If the user host network segment connects to multiple routers, do not enable IPv6 PIM silent on interfaces that connect these routers and user hosts. For example, IPv6 PIM silent cannot be enabled on RouterB and RouterC.
Configure the address range for SSM groups on each router. Ensure that routers in the IPv6 PIM-SM domain provide services only for multicast groups in the range of SSM group addresses. In this manner, multicast can be controlled effectively.
SSM group address range configured on each router must be the same.
Procedure
- Configure an IPv6 address for each interface and an IPv6 unicast routing protocol.
# Configure the IPv6 address and mask for each interface shown in Figure 5-3, and configure OSPFv3 on each router to ensure that routers can communicate at the network layer and can dynamically update routes through the IPv6 unicast routing protocol. The configuration of RouterB, RouterC, RouterD, RouterE, and RouterF are similar to the configuration of RouterA, and are not provided here.
<Huawei> system-view [Huawei] sysname RouterA [RouterA] ipv6 [RouterA] ospfv3 100 [RouterA-ospfv3-100] router-id 1.1.1.1 [RouterA-ospfv3-100] quit [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] ipv6 enable [RouterA-GigabitEthernet1/0/0] ipv6 address 2005::1 64 [RouterA-GigabitEthernet1/0/0] ospfv3 100 area 0 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] ipv6 enable [RouterA-GigabitEthernet2/0/0] ipv6 address 2001::1 64 [RouterA-GigabitEthernet2/0/0] ospfv3 100 area 0 [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface gigabitethernet 3/0/0 [RouterA-GigabitEthernet3/0/0] ipv6 enable [RouterA-GigabitEthernet3/0/0] ipv6 address 3001::1 64 [RouterA-GigabitEthernet3/0/0] ospfv3 100 area 0 [RouterA-GigabitEthernet3/0/0] quit
- Enable IPv6 multicast function, and enable IPv6 PIM-SM on all interfaces.
# Enable IPv6 multicast on all routers and IPv6 PIM-SM on all interfaces. The configuration of RouterB, RouterC, RouterD, RouterE, and RouterF are similar to the configuration of RouterA, and are not provided here.
[RouterA] multicast ipv6 routing-enable [RouterA] interface gigabitethernet1/0/0 [RouterA-GigabitEthernet1/0/0] pim ipv6 sm [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet2/0/0 [RouterA-GigabitEthernet2/0/0] pim ipv6 sm [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface gigabitethernet3/0/0 [RouterA-GigabitEthernet3/0/0] pim ipv6 sm [RouterA-GigabitEthernet3/0/0] quit
- Enable MLD on interfaces that connect the Router and hosts and set the MLD version to MLDv2.
# Enable MLD on interfaces that connect RouterA and user hosts. The configuration of RouterB and RouterC are similar to the configuration of RouterA, and are not provided here.
[RouterA] interface gigabitethernet3/0/0 [RouterA-GigabitEthernet3/0/0] mld enable [RouterA-GigabitEthernet3/0/0] mld version 2
- Enable IPv6 PIM silent on interfaces on RouterA.
[RouterA-GigabitEthernet3/0/0] pim ipv6 silent [RouterA-GigabitEthernet3/0/0] quit
- Configure the address range for SSM groups.
# Set the range of SSM group addresses to ff3e::/64 on all the routers. The configurations of RouterB, RouterC, RouterD, RouterE, and RouterF are similar to the configuration of RouterA, and are not provided here.
[RouterA] acl ipv6 number 2000 [RouterA-acl6-basic-2000] rule permit source ff3e:: 64 [RouterA-acl6-basic-2000] quit [RouterA] pim-ipv6 [RouterA-pim6] ssm-policy 2000
- Verify the configuration.
# Run the display pim ipv6 interface command to check the IPv6 PIM configuration and status. The IPv6 PIM information on RouterC is displayed as follows:
<RouterC> display pim ipv6 interface VPN-Instance: public net Interface State NbrCnt HelloInt DR-Pri DR-Address GE1/0/0 up 0 30 1 FE80::200:FF: (local) FE00:10 GE2/0/0 up 1 30 1 FE80::200:FF: (local) FE00:10
# Run the display pim ipv6 routing-table command to view the IPv6 PIM routing table. HostA receives information sent from multicast source 5001::100/64 and 6001::100/64 to the multicast group FF3E::1/64. HostB receives information sent from multicast source 5001::100/64 to multicast group FF3E::1/64. The following information is displayed.
[RouterA] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 2 (S, G) entries (5001::100, ff3e::1) Protocol: pim-ssm, Flag: SPT ACT UpTime: 00:13:46 Upstream interface: GigabitEthernet1/0/0, Upstream neighbor: FE80::9D62:0:FDC5:2 RPF prime neighbor: FE80::9D62:0:FDC5:2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet3/0/0 Protocol: mld, UpTime: 00:13:46, Expires:- (6001::100, ff3e::1) Protocol: pim-ssm, Flag: SPT ACT UpTime: 00:00:42 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: FE80::A01:10C:1 RPF prime neighbor: FE80::A01:10C:1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet3/0/0 Protocol: mld, UpTime: 00:00:42, Expires:- [RouterB] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, ff3e::1) Protocol: pim-ssm, Flag: SPT ACT UpTime: 00:10:12 Upstream interface: GigabitEthernet1/0/0, Upstream neighbor: FE80::33FE:0:852C:2 RPF prime neighbor: FE80::33FE:0:852C:2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: mld, UpTime: 00:10:12, Expires:- [RouterC] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, ff3e::1) Protocol: pim-ssm, Flag: UpTime: 00:01:25 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: FE80::A11:110C:11 RPF prime neighbor: FE80::A11:110C:11 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet1/0/0 Protocol: mld, UpTime: 00:01:25, Expires:- [RouterD] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, ff3e::1) Protocol: pim-ssm, Flag: SPT ACT UpTime: 00:00:42 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: FE80::71FE:11:21 RPF prime neighbor: FE80::71FE:11:21 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet4/0/0 Protocol: pim-ssm, UpTime: 00:00:42, Expires:- [RouterE] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, ff3e::1) Protocol: pim-ssm, Flag: SPT ACT UpTime: 00:13:16 Upstream interface: GigabitEthernet4/0/0 Upstream neighbor: FE80::9D62:0:FDC5:2 RPF prime neighbor: FE80::9D62:0:FDC5:21 Downstream interface(s) information: Total number of downstreams: 3 1: GigabitEthernet1/0/0 Protocol: pim-ssm, UpTime: 00:08:16, Expires: 00:08:22 2: GigabitEthernet2/0/0 Protocol: pim-ssm, UpTime: 00:10:16, Expires: 00:06:22 3: GigabitEthernet3/0/0 Protocol: pim-ssm, UpTime: 00:13:16, Expires: 00:03:22 [RouterF] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (6001::100, ff3e::1) Protocol: pim-ssm, Flag: SPT ACT UpTime: 00:13:16 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-ssm, UpTime: 00:15:28, Expires: 00:05:21
Configuration Files
RouterA configuration file
# sysname RouterA # ipv6 # multicast ipv6 routing-enable # acl ipv6 number 2000 rule 0 permit source FF3E::/64 # ospfv3 100 router-id 1.1.1.1 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2005::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet3/0/0 ipv6 enable ipv6 address 3001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 silent pim ipv6 sm mld enable mld version 2 # pim-ipv6 ssm-policy 2000 # return
RouterB configuration file
# sysname RouterB # ipv6 # multicast ipv6 routing-enable # acl ipv6 number 2000 rule 0 permit source FF3E::/64 # ospfv3 100 router-id 2.2.2.2 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2002::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 4001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm mld enable mld version 2 # pim-ipv6 ssm-policy 2000 # return
RouterC configuration file
# sysname RouterC # ipv6 # multicast ipv6 routing-enable # acl ipv6 number 2000 rule 0 permit source FF3E::/64 # ospfv3 100 router-id 3.3.3.3 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 4001::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm mld enable mld version 2 # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2003::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # pim-ipv6 ssm-policy 2000 # return
RouterD configuration file
# sysname RouterD # ipv6 # multicast ipv6 routing-enable # acl ipv6 number 2000 rule 0 permit source FF3E::/64 # ospfv3 100 router-id 4.4.4.4 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 5001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet4/0/0 ipv6 enable ipv6 address 2004::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # pim-ipv6 ssm-policy 2000 # return
RouterE configuration file
# sysname RouterE # ipv6 # multicast ipv6 routing-enable # acl ipv6 number 2000 rule 0 permit source FF3E::/64 # ospfv3 100 router-id 5.5.5.5 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2005::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2003::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet3/0/0 ipv6 enable ipv6 address 2002::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet4/0/0 ipv6 enable ipv6 address 2004::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # pim-ipv6 ssm-policy 2000 # return
RouterF configuration file
# sysname RouterF # ipv6 # multicast ipv6 routing-enable # acl ipv6 number 2000 rule 0 permit source FF3E::/64 # ospfv3 100 router-id 6.6.6.6 # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 6001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2001::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # pim-ipv6 ssm-policy 2000 # return