Example for Configuring Basic IPv6 PIM-DM Functions
Networking Requirements
Figure 5-1 shows a small-scale network with densely distributed users. HostA and HostB need to receive multicast data from Source.
Configuration Roadmap
Since users are densely distributed on the network, IPv6 PIM-DM can be deployed on the network to provide multicast services for the user hosts. After IPv6 PIM-DM is configured on the network, all user hosts in a multicast group can receive VoD streams sent from the multicast source to the group.
Configure IPv6 addresses for interfaces and configure a unicast routing protocol on each router. PIM is an intra-domain multicast routing protocol that depends on a unicast routing protocol. The multicast routing protocol can work normally only when the unicast routing protocol works normally.
Enable multicast routing on all the routers providing multicast services. Multicast routing is the prerequisite for IPv6 PIM-DM configuration.
Enable IPv6 PIM-DM on all router interfaces. Other IPv6 PIM-DM functions can be configured only after IPv6 PIM-DM is enabled.
Enable Multicast Listener Discovery (MLD) on the interfaces connected to user network segments. The MLD protocol maintains group memberships. The leaf routers maintain group memberships using MLD.
If IPv6 PIM-DM and MLD need to be enabled on the same user-side interface, enable IPv6 PIM-DM and then MLD.
Procedure
- Configure IPv6 addresses for interfaces and configure a unicast routing protocol on the routers.
# Configure IPv6 addresses and masks for router interfaces. Configure Open Shortest Path First version 3 (OSPFv3) on the routers to implement IPv6 interworking between the routers and enable the routers to dynamically update routes. (The configurations of the other routers are similar to the configuration of RouterA.)
<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 3001::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 2001::1 64 [RouterA-GigabitEthernet3/0/0] ospfv3 100 area 0 [RouterA-GigabitEthernet3/0/0] quit
- Enable multicast routing on all the routers and enable IPv6 PIM-DM on all interfaces.
# Enable multicast routing on all the routers and enable IPv6 PIM-DM on all interfaces. (The configurations of the other routers are similar to the configuration of RouterA.)
[RouterA] multicast ipv6 routing-enable [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] pim ipv6 dm [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] pim ipv6 dm [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface gigabitethernet 3/0/0 [RouterA-GigabitEthernet3/0/0] pim ipv6 dm [RouterA-GigabitEthernet3/0/0] quit
- Enable MLD on the interfaces connected to user hosts.
# Enable MLD on the user-side interface of RouterA. (The configurations of RouterB and RouterC are similar to the configuration of RouterA.)
[RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] mld enable [RouterA-GigabitEthernet2/0/0] quit
- Verify the configuration.
# Run the display pim ipv6 interface command to check the IPv6 PIM configuration and running status on router interfaces. The following is the command output on RouterC, indicating that IPv6 PIM is running on the interfaces.
<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::10B:FF:F301:22(local) GE2/0/0 up 1 30 1 FE80::10B:FF:F301:22(local)
# Run the display pim ipv6 routing-table command to check the PIM routing tables on the routers. You can see from the PIM routing tables that multicast source (5001::100/64) to group (FF0E::1/64), and HostA and HostB have joined group (FF0E::1/64). The IPv6 PIM routing tables of the routers are as follows:
[RouterA] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, FF0E::1) Protocol: pim-dm, Flag: ACT UpTime: 00:00:29 Upstream interface: GigabitEthernet3/0/0 Upstream neighbor: 2001::2 RPF prime neighbor: 2001::2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-dm, UpTime: 00:00:29, Expires:- [RouterB] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, FF0E::1) Protocol: pim-dm, Flag: ACT UpTime: 00:00:29 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: 2002::2 RPF prime neighbor: 2002::2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: pim-dm, UpTime: 00:00:30, Expires:- [RouterD] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, FF0E::1) Protocol: pim-dm, Flag: ACT UpTime: 00:00:29 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: 5001::100 RPF prime neighbor: 5001::100 Downstream interface(s) information: Total number of downstreams: 2 1: GigabitEthernet3/0/0 1: GigabitEthernet4/0/0 Protocol: pim-dm, UpTime: 00:00:29, Expires:- [RouterE] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, FF0E::1) Protocol: pim-dm, Flag: ACT UpTime: 00:01:22 Upstream interface: GigabitEthernet4/0/0 Upstream neighbor: 2004::1 RPF prime neighbor: 2004::1 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet3/0/0 Protocol: pim-dm, UpTime: 00:01:22, Expires:- [RouterC] display pim ipv6 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (5001::100, FF0E::1) Protocol: pim-dm, Flag: ACT UpTime: 00:01:25 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: 2003::2 RPF prime neighbor: 2003::2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet1/0/0 Protocol: pim-dm, UpTime: 00:01:25, Expires:-
Configuration Files
RouterA configuration file
# sysname RouterA # ipv6 # multicast ipv6 routing-enable # 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 dm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 3001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm mld enable # interface GigabitEthernet3/0/0 ipv6 enable ipv6 address 2001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # return
RouterB configuration file
# sysname RouterB # ipv6 # ospfv3 100 router-id 2.2.2.2 # multicast ipv6 routing-enable # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2002::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 4001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm mld enable # return
RouterC configuration file
# sysname RouterC # ipv6 # ospfv3 100 router-id 3.3.3.3 # multicast ipv6 routing-enable # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 4001::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm mld enable # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2003::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # return
RouterD configuration file
# sysname RouterD # ipv6 # ospfv3 100 router-id 4.4.4.4 # multicast ipv6 routing-enable # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 5001::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # interface GigabitEthernet3/0/0 ipv6 enable ipv6 address 2001::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # interface GigabitEthernet4/0/0 ipv6 enable ipv6 address 2004::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # return
RouterE configuration file
# sysname RouterE # ipv6 # ospfv3 100 router-id 5.5.5.5 # multicast ipv6 routing-enable # interface GigabitEthernet1/0/0 ipv6 enable ipv6 address 2005::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # interface GigabitEthernet2/0/0 ipv6 enable ipv6 address 2003::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # interface GigabitEthernet3/0/0 ipv6 enable ipv6 address 2002::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # interface GigabitEthernet4/0/0 ipv6 enable ipv6 address 2004::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 dm # return