Example for Configuring Basic PIM-DM Functions
Networking Requirements
Figure 4-19 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, PIM-DM can be deployed on the network to provide multicast services for the user hosts. After PIM-DM is configured on the network, all user hosts in a multicast group can receive video on demand (VoD) streams sent from the multicast source to the group.
Configure IP 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 PIM-DM configuration.
Enable PIM-DM on all router interfaces. Other PIM-DM functions can be configured only after PIM-DM is enabled.
Enable Internet Group Management Protocol (IGMP) on the interfaces connected to user network segments. The IGMP protocol maintains group memberships. The leaf routers maintain group memberships using IGMP.
If PIM-DM and IGMP need to be enabled on the same user-side interface, enable PIM-DM and then IGMP.
Procedure
- Configure IP addresses for interfaces and configure a unicast routing protocol on the routers.
# Configure IP addresses and masks for router interfaces. Configure OSPF on the routers to implement IP 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] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] ip address 192.168.5.1 24 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] ip address 10.110.1.1 24 [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface gigabitethernet 3/0/0 [RouterA-GigabitEthernet3/0/0] ip address 192.168.1.1 24 [RouterA-GigabitEthernet3/0/0] quit [RouterA] ospf 100 [RouterA-ospf-100] area 0 [RouterA-ospf-100-area-0.0.0.0] network 192.168.5.0 0.0.0.255 [RouterA-ospf-100-area-0.0.0.0] network 192.168.1.0 0.0.0.255 [RouterA-ospf-100-area-0.0.0.0] network 10.110.1.0 0.0.0.255
- Enable multicast routing on all the routers and enable PIM-DM on all interfaces.
# Enable multicast routing on all the routers and enable PIM-DM on all interfaces. (The configurations of the other routers are similar to the configuration of RouterA.)
[RouterA] multicast routing-enable [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] pim dm [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] pim dm [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface gigabitethernet 3/0/0 [RouterA-GigabitEthernet3/0/0] pim dm [RouterA-GigabitEthernet3/0/0] quit
- Enable IGMP on the interfaces connected to user hosts.
# Enable IGMP 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] igmp enable
- Verify the configuration.
# Run the display pim interface command to check the PIM configuration and running status on router interfaces. The following is the command output on RouterC, indicating that PIM is running on the interfaces.
<RouterC> display pim interface VPN-Instance: public net Interface State NbrCnt HelloInt DR-Pri DR-Address GE1/0/0 up 0 30 1 10.110.2.2 (local) GE2/0/0 up 1 30 1 192.168.3.2
# Run the display pim routing-table command to check the PIM routing tables on the routers. You can see from the PIM routing tables that multicast source (10.110.3.100/24) to group (225.1.1.1/24), and HostA and HostB have joined group (225.1.1.1/24). The PIM routing tables of the routers are as follows:
[RouterA] display pim routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (10.110.3.100, 225.1.1.1) Protocol: pim-dm, Flag: ACT UpTime: 00:00:29 Upstream interface: GigabitEthernet3/0/0 Upstream neighbor: 192.168.1.2 RPF prime neighbor: 192.168.1.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 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (10.110.3.100, 225.1.1.1) Protocol: pim-dm, Flag: ACT UpTime: 00:00:29 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: 192.168.2.2 RPF prime neighbor: 192.168.2.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 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (10.110.3.100, 225.1.1.1) Protocol: pim-dm, Flag: ACT UpTime: 00:00:29 Upstream interface: GigabitEthernet1/0/0 Upstream neighbor: 10.110.3.100 RPF prime neighbor: 10.110.3.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 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (10.110.3.100, 225.1.1.1) Protocol: pim-dm, Flag: ACT UpTime: 00:01:22 Upstream interface: GigabitEthernet4/0/0 Upstream neighbor: 192.168.4.1 RPF prime neighbor: 192.168.4.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 routing-table VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (10.110.3.100, 225.1.1.1) Protocol: pim-dm, Flag: ACT UpTime: 00:01:25 Upstream interface: GigabitEthernet2/0/0 Upstream neighbor: 192.168.3.2 RPF prime neighbor: 192.168.3.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 # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 192.168.5.1 255.255.255.0 pim dm # interface GigabitEthernet2/0/0 ip address 10.110.1.1 255.255.255.0 pim dm igmp enable # interface GigabitEthernet3/0/0 ip address 192.168.1.1 255.255.255.0 pim dm # ospf 1 area 0.0.0.0 network 10.110.1.0 0.0.0.255 network 192.168.1.0 0.0.0.255 network 192.168.5.0 0.0.0.255 # return
RouterB configuration file
# sysname RouterB # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 192.168.2.1 255.255.255.0 pim dm # interface GigabitEthernet2/0/0 ip address 10.110.2.1 255.255.255.0 pim dm igmp enable # ospf 1 area 0.0.0.0 network 10.110.2.0 0.0.0.255 network 192.168.2.0 0.0.0.255 # return
RouterC configuration file
# sysname RouterC # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 10.110.2.2 255.255.255.0 pim dm igmp enable # interface GigabitEthernet2/0/0 ip address 192.168.3.1 255.255.255.0 pim dm # ospf 1 area 0.0.0.0 network 10.110.2.0 0.0.0.255 network 192.168.3.0 0.0.0.255 # return
RouterD configuration file
# sysname RouterD # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 10.110.3.1 255.255.255.0 pim dm # interface GigabitEthernet3/0/0 ip address 192.168.1.2 255.255.255.0 pim dm # interface GigabitEthernet4/0/0 ip address 192.168.4.1 255.255.255.0 pim dm # ospf 1 area 0.0.0.0 network 10.110.3.0 0.0.0.255 network 192.168.1.0 0.0.0.255 network 192.168.4.0 0.0.0.255 # return
RouterE configuration file
# sysname RouterE # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 192.168.5.2 255.255.255.0 pim dm # interface GigabitEthernet2/0/0 ip address 192.168.3.2 255.255.255.0 pim dm # interface GigabitEthernet3/0/0 ip address 192.168.2.2 255.255.255.0 pim dm # interface GigabitEthernet4/0/0 ip address 192.168.4.2 255.255.255.0 pim dm # ospf 1 area 0.0.0.0 network 192.168.2.0 0.0.0.255 network 192.168.3.0 0.0.0.255 network 192.168.4.0 0.0.0.255 network 192.168.5.0 0.0.0.255 # return