When a multicast-enabled router first becomes active on a subnet, it assumes that it is the Querier — the router responsible for sending all General and Group-Specific Queries to the subnet - and immediately sends a General Query.

This action serves both to quickly discover the group members active on the subnet and also alerts other multicast routers that may be on the subnet. When there are multiple routers, the rule for electing the Querier is simple: The router whose connected interface has the lowest IP address is the Querier. So when the existing router on the subnet hears the General Query from the new router, it checks the source address. If the address is lower than its own IP address, it relinquishes the role of Querier to the new router. If its own IP address is lower, it continues sending queries. When the new router receives one of these queries, it sees that the old router has a lower IP address and becomes a Non-Querier.

If the Non-Querier does not hear queries from the Querier within a certain period of time known as the Other Querier Present Interval, it concludes that the Querier is no longer present and assumes that role. IOS has a default Other Querier Present Interval of twice the Query Interval, or 120 seconds, and can be changed with the statement ip igmp querier-timeout.

IGMPv1 has no Querier election process. Instead, it relies on the IP multicast routing protocol to elect a designated router on the subnet. Because different protocols use different election mechanisms, it is possible under IGMPv1 to have more than one Querier on a subnet. Since Version 1 routers do not participate in the Querier Election process, if Version 1 and Version 2 routers exist on the same network, you must set the Version 2 routers to act as Version 1 routers. You must do this manually with the command ip igmp version 1 statement.

There must be a querier on the network for IGMP to work. If there is no multicast router on the network then you need to configure a switch as a querier.