IGMP snooping querier configuration example
Network requirements
As shown in Figure 14:
The network is a Layer 2-only network.
Source 1 and Source 2 send multicast data to multicast groups 224.1.1.1 and 225.1.1.1, respectively.
Host A and Host C are receivers of multicast group 224.1.1.1, and Host B and Host D are receivers of multicast group 225.1.1.1.
All host receivers run IGMPv2, and all switches run IGMPv2 snooping. Switch A (which is close to the multicast sources) acts as the IGMP snooping querier.
Configure the switches to meet the following requirements:
To prevent the switches from flooding unknown packets in VLAN 100, enable all the switches to drop unknown multicast packets.
A switch does not mark a port that receives an IGMP query with source IP address 0.0.0.0 as a dynamic router port. To ensure the establishment of Layer 2 forwarding entries and multicast traffic forwarding, configure the source IP addresses of IGMP queries as non-zero IP addresses.
Figure 14: Network diagram
Configuration procedure
Configure Switch A:
# Enable IGMP snooping globally.
<SwitchA> system-view [SwitchA] igmp-snooping [SwitchA-igmp-snooping] quit
# Create VLAN 100, and assign FortyGigE 1/0/1 through FortyGigE 1/0/3 to the VLAN.
[SwitchA] vlan 100 [SwitchA-vlan100] port fortygige 1/0/1 to fortygige 1/0/3
# In VLAN 100, enable IGMP snooping, and enable dropping unknown multicast packets.
[SwitchA-vlan100] igmp-snooping enable [SwitchA-vlan100] igmp-snooping drop-unknown
# In VLAN 100, configure Switch A as the IGMP snooping querier.
[SwitchA-vlan100] igmp-snooping querier [SwitchA-vlan100] quit
# In VLAN 100, configure the source IP addresses of IGMP general queries and IGMP group-specific queries as 192.168.1.1.
[SwitchA-vlan100] igmp-snooping general-query source-ip 192.168.1.1 [SwitchA-vlan100] igmp-snooping special-query source-ip 192.168.1.1 [SwitchA-vlan100] quit
Configure Switch B:
# Enable IGMP snooping globally.
<SwitchB> system-view [SwitchB] igmp-snooping [SwitchB-igmp-snooping] quit
# Create VLAN 100, and assign FortyGigE 1/0/1 through FortyGigE 1/0/4 to the VLAN.
[SwitchB] vlan 100 [SwitchB-vlan100] port fortygige 1/0/1 to fortygige 1/0/4
# In VLAN 100, enable IGMP snooping, and enable dropping unknown multicast packets.
[SwitchB-vlan100] igmp-snooping enable [SwitchB-vlan100] igmp-snooping drop-unknown [SwitchB-vlan100] quit
Configure Switch C:
# Enable IGMP snooping globally.
<SwitchC> system-view [SwitchC] igmp-snooping [SwitchC-igmp-snooping] quit
# Create VLAN 100, and assign FortyGigE 1/0/1 through FortyGigE 1/0/3 to the VLAN.
[SwitchC] vlan 100 [SwitchC-vlan100] port fortygige 1/0/1 to fortygige 1/0/3
# In VLAN 100, enable IGMP snooping, and enable dropping unknown multicast packets.
[SwitchC-vlan100] igmp-snooping enable [SwitchC-vlan100] igmp-snooping drop-unknown [SwitchC-vlan100] quit
Configure Switch D:
# Enable IGMP snooping globally.
<SwitchD> system-view [SwitchD] igmp-snooping [SwitchD-igmp-snooping] quit
# Create VLAN 100, and assign FortyGigE 1/0/1 and FortyGigE 1/0/2 to the VLAN.
[SwitchD] vlan 100 [SwitchD-vlan100] port fortygige 1/0/1 to fortygige 1/0/2
# In VLAN 100, enable IGMP snooping, and enable dropping unknown multicast packets.
[SwitchD-vlan100] igmp-snooping enable [SwitchD-vlan100] igmp-snooping drop-unknown [SwitchD-vlan100] quit
Verifying the configuration
# Display statistics for IGMP messages learned through IGMP snooping on Switch B.
[SwitchB] display igmp-snooping statistics Received IGMP general queries: 3 Received IGMPv1 reports: 0 Received IGMPv2 reports: 12 Received IGMP leaves: 0 Received IGMPv2 specific queries: 0 Sent IGMPv2 specific queries: 0 Received IGMPv3 reports: 0 Received IGMPv3 reports with right and wrong records: 0 Received IGMPv3 specific queries: 0 Received IGMPv3 specific sg queries: 0 Sent IGMPv3 specific queries: 0 Sent IGMPv3 specific sg queries: 0 Received error IGMP messages: 0
The output shows that all switches except Switch A can receive the IGMP general queries after Switch A acts as the IGMP snooping querier.