9.2 IGMP
9.2.4
IGMP version 1 and 2 interoperability

The preceding two sections describe operations whereby the IGMP hosts and routers all run the same version of IGMP. What if you have a mixture of versions in your network?

The first possible combination of versions might involve hosts with a mix of versions, as in Figure , but with a Version 1 router. All IGMP operations in this scenario are driven by the version that the query router uses. When there is such a combination, the hosts must use Version 1 messages. The router does not understand Version 2 membership reports, nor does it understand Version 2 leave messages.

A second case exists when the router supports IGMP Version 2, but hosts use IGMP Version 1. Although the router understands more message types than the hosts, it ultimately uses only Version 1 messages. When the Version 2 router receives the Version 1 membership report, it remembers that they are present and uses only Version 1 membership queries. Version 1 queries use the group address 0.0.0.0 and do not generate group-specific queries. If it generated group-specific queries, the Version 1 hosts would not recognize the message and would not know how to respond.

What if there are both Version 1 and Version 2 hosts on the segment with a Version 2 router, as in Figure ? As in the previous case, the router must remember that there are Version 1 hosts and must, therefore, issue Version 1 membership queries. Additionally, if any of the Version 2 hosts send a leave message, the router must ignore the leave notification. It ignores the message because it must still issue general queries in case a Version 1 member is still active on the segment.

If two routers attach to the segment where one supports Version 1 and the other Version 2, the Version 2 router must be administratively configured as a Version 1 router. The Version 1 router has no way to detect the presence of the Version 2 router. Because the two versions use different methods of selecting the query router, they might not reliably agree on the query router.