Example for Configuring IGMP Proxy
Networking Requirements
As shown in Figure 2-22, the core network is running Protocol Independent Multicast Sparse Mode (PIM-SM). RouterA connects to the core network and Layer 3 device RouterB. RouterB connects to user network segments and does not run PIM.
A large number of users want to receive video programs in multicast mode. RouterB transparently transmits all IGMP messages sent from user hosts to RouterA, increasing the loads on RouterA. This degrades the quality of video programs on user hosts. Loads on RouterA need to be reduced through appropriate configuration.
Configuration Roadmap
Configuring IGMP proxy on RouterB can reduce loads of RouterA in IGMP message processing. The configuration roadmap is as follows:
To ensure that data sent from multicast sources can be correctly forwarded to the user network segments, configure a unicast routing protocol on the network to implement IP interworking. Multicast routing protocols are dependent on unicast routing protocols.
To enable the routers to forward video streams to the hosts in multicast mode, configure basic multicast functions on the routers.
To allow RouterB to work as a proxy device between RouterA and downstream hosts, configure IGMP proxy on GE1/0/0 of RouterB and enable IGMP on its interfaces connected to user network segments.
To prevent service interruption caused by failures the upstream IGMP proxy interface, configure GE4/0/0 of RouterB as the backup IGMP proxy interface.
To ensure validity of (S, G) entries, configure an appropriate multicast source lifetime on RouterB.
Procedure
- Configure IP addresses for router interfaces and configure a unicast routing protocol on the routers.
# Configure IP addresses and masks for router interfaces according to Figure 2-22. Configure Open Shortest Path First (OSPF) on the routers to implement IP interworking and dynamic route update. The configuration of RouterB is similar to the configuration of RouterA, and is not mentioned here. See Configuration Files.
<Huawei> system-view [Huawei] sysname RouterA [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] ip address 192.168.4.1 24 [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface gigabitethernet 3/0/0 [RouterA-GigabitEthernet3/0/0] ip address 192.168.5.1 24 [RouterA-GigabitEthernet3/0/0] quit [RouterA] ospf [RouterA-ospf-1] area 0 [RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 [RouterA-ospf-1-area-0.0.0.0] network 192.168.4.0 0.0.0.255 [RouterA-ospf-1-area-0.0.0.0] network 192.168.5.0 0.0.0.255 [RouterA-ospf-1-area-0.0.0.0] quit [RouterA-ospf-1] quit
- Enable IP multicast routing, PIM-SM, and IGMP on RouterA.
# On RouterA, enable IP multicast routing globally and enable PIM-SM on GE3/0/0. Configure GE3/0/0 as the C-BSR and C-RP.
[RouterA] multicast routing-enable [RouterA] interface gigabitethernet 3/0/0 [RouterA-GigabitEthernet3/0/0] pim sm [RouterA-GigabitEthernet3/0/0] quit [RouterA] pim [RouterA-pim] c-bsr gigabitethernet 3/0/0 [RouterA-pim] c-rp gigabitethernet 3/0/0 [RouterA-pim] quit
# Enable IGMP on GE1/0/0 and GE2/0/0 of RouterA and set the IGMP version to v3.
[RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] igmp enable [RouterA-GigabitEthernet1/0/0] igmp version 3 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] igmp enable [RouterA-GigabitEthernet2/0/0] igmp version 3 [RouterA-GigabitEthernet2/0/0] quit
- Enable IP multicast routing and IGMP on RouterB (IGMP proxy device).
# On RouterB, enable IP multicast routing globally, enable IGMP on GE2/0/0 and GE3/0/0, and set the IGMP version to v3.
[RouterB] multicast routing-enable [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] igmp enable [RouterB-GigabitEthernet2/0/0] igmp version 3 [RouterB-GigabitEthernet2/0/0] quit [RouterB] interface gigabitethernet 3/0/0 [RouterB-GigabitEthernet3/0/0] igmp enable [RouterB-GigabitEthernet3/0/0] igmp version 3 [RouterB-GigabitEthernet3/0/0] quit
- Enable IGMP proxy on an upstream interface of RouterB.
# Enable IGMP proxy on GE1/0/0 of RouterB and set the IGMP robustness variable to 3.
[RouterB] interface gigabitethernet 1/0/0 [RouterB-GigabitEthernet1/0/0] igmp proxy [RouterB-GigabitEthernet1/0/0] igmp version 3 [RouterB-GigabitEthernet1/0/0] igmp robust-count 3 [RouterB-GigabitEthernet1/0/0] quit
- Enable IGMP proxy backup on another upstream interface of RouterB.
# Enable IGMP proxy on GE4/0/0 of RouterB.
[RouterB] interface gigabitethernet 4/0/0 [RouterB-GigabitEthernet4/0/0] igmp proxy backup [RouterB-GigabitEthernet4/0/0] igmp version 3 [RouterB-GigabitEthernet4/0/0] quit
- Configure a multicast source lifetime in the IGMP view on RouterB.
# Set the multicast source lifetime to 300 seconds in the IGMP view on RouterB.
[RouterB] igmp [RouterB-igmp] proxy source-lifetime 300 [RouterB-igmp] quit
- Verify the IGMP proxy configurations.
# Run the display igmp proxy interface command to check the IGMP proxy interface on RouterB.
[RouterB] display igmp proxy interface Interface information of VPN-Instance: public net GigabitEthernet1/0/0(192.168.1.2): IGMP proxy is enabled Current IGMP proxy version (negotiated) is 3 Current IGMP proxy version (configured) is 3 IGMP proxy state: up Value of query interval for IGMP (negotiated): 60 s Value of query interval for IGMP (configured): 60 s Value of querier present timeout for IGMPv1: off Value of querier present timeout for IGMPv2: off Value of querier present timeout for IGMPv3: 124s General query response expiry: off Querier for IGMP: 192.168.1.1 Robustness (negotiated): 3 Robustness (configured): 3 Require-router-alert: disabled Send-router-alert: enabled Ip-source-policy: disabled Query Ip-source-policy: disabled GigabitEthernet4/0/0(192.168.4.2): IGMP proxy backup is enabled Current IGMP proxy version (negotiated) is 3 Current IGMP proxy version (configured) is 3 IGMP proxy state: up Value of query interval for IGMP (negotiated): 60 s Value of query interval for IGMP (configured): 60 s Value of querier present timeout for IGMPv1: off Value of querier present timeout for IGMPv2: off Value of querier present timeout for IGMPv3: 124s General query response expiry: off Querier for IGMP: 192.168.4.1 Robustness (negotiated): 2 Robustness (configured): 2 Require-router-alert: disabled Send-router-alert: enabled Ip-source-policy: disabled Query Ip-source-policy: disabled
The command output shows that IGMP proxy is enabled on GE1/0/0, and GE4/0/0 functions as a backup for GE1/0/0.
# Run the display igmp proxy routing-table command to check the IGMP proxy routing table on RouterB. Receiver1 sent a (1.1.1.1, 232.1.1.1) Report message.
[RouterB] display igmp proxy routing-table Routing table of VPN-Instance: public net Total 0 (*, G) entry; 1 (S, G) entry (1.1.1.1, 232.1.1.1) Flag: JOIN, UpTime: 01:38:45 Upstream interface: GigabitEthernet1/0/0 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet2/0/0 Protocol: igmp, UpTime: 01:38:45
The command output shows the (1.1.1.1, 232.1.1.1) entry in the IGMP proxy routing table of RouterB. This indicates that Receiver1 has joined (1.1.1.1, 232.1.1.1).
Configuration Files
RouterA configuration file
# sysname RouterA # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 192.168.1.1 255.255.255.0 igmp enable igmp version 3 # interface GigabitEthernet2/0/0 ip address 192.168.4.1 255.255.255.0 igmp enable igmp version 3 # interface GigabitEthernet3/0/0 ip address 192.168.5.1 255.255.255.0 pim sm # ospf 1 area 0.0.0.0 network 192.168.1.0 0.0.0.255 network 192.168.4.0 0.0.0.255 network 192.168.5.0 0.0.0.255 # pim c-bsr GigabitEthernet3/0/0 c-rp GigabitEthernet3/0/0 # return
RouterB configuration file
# sysname RouterB # multicast routing-enable # interface GigabitEthernet1/0/0 ip address 192.168.1.2 255.255.255.0 igmp version 3 igmp robust-count 3 igmp proxy # interface GigabitEthernet2/0/0 ip address 192.168.2.1 255.255.255.0 igmp enable igmp version 3 # interface GigabitEthernet3/0/0 ip address 192.168.3.1 255.255.255.0 igmp enable igmp version 3 # interface GigabitEthernet4/0/0 ip address 192.168.4.2 255.255.255.0 igmp version 3 igmp proxy backup # ospf 1 area 0.0.0.0 network 192.168.1.0 0.0.0.255 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 # igmp proxy source-lifetime 300 # return