IGMPv2 Host with IGMPv1 Routers
- An IGMPv2 host normally sends a report with a message type of 0x16. This is not a message type understood by an IGMPv1 router. Therefore, the IGMPv2 needs a mechanism to recognize when the router on his segment is only IGMPv1 capable.
- An IGMPv2 host determines that the IGMP router is only v1 by looking at the MRT field of the IGMP query that the router sends out periodically. In IGMPv1 routers, this field is empty. In IGMPv2 routers, it contain the MRT value.
- When the host detects that the router is IGMPv1, he no longer sends IGMPv2 messages.
- The IGMPv2 host will begin a 400-second Version 1 Router Present Timeout when he received a query message from an IGMPv1 router. If that timer expires, the host will revert back to sending IGMPv2 messages.
IGMPv1 Host with IGMPv2 Routers
- An IGMPv2 router sends general queries periodically, as does an IGMPv1 router. An IGMPv2 router determines if there are IGMPv1 hosts on the segment by observing whether IGMP reports are of type 0x12 (v1) or type 0x16 (v2) in response to the queries.
- If both IGMPv1 and IGMPv2 hosts are present, it’s possible that the router will receive more than one report in response to a query. IGMPv1 hosts don’t understand IGMPv2 reports, and thus the report suppression algorithm will not be triggered on a v1 hosts by a v2 report.
- As long as the IGMPv2 router know that an IGMPv1 hosts is on the segment, the IGMPv2 router is forced to ignore Leave Group messages from v2 hosts. Normally, the v2 router would respond with a Group-Specific query, which a v1 host does not understand and consequently ignores rather than responding that he wants to keep receiving traffic for the multicast group.
- IGMPv2 routers will keep ignoring Group Leave messages until the expiration of the IGMPv1-host-present countdown timer. This timer should be equal to the Group Membership interval, 180 seconds by default in IGMPv1 and 260 seconds in IGMPv2.
IGMPv1 Routers with IGMPv2 Routers – you can’t mix and match these. RFC 2236 dictates that the network administrator is responsible to make all IGMPv2’s run as v1 routers if there are IGMPv1 routers present on the segment.
Timers used in IGMPv1 and IGMPv2
- Query Interval – time between general queries sent by the router.
- IGMPv1 – 60 seconds
- IGMPv2 – 125 seconds
- Query Response Interval – the maximum response time for hosts to response to general queries.
- IGMPv1 – 10 seconds, fixed.
- IGMPv2 – 10 seconds by default, tweakable to between 0.1 and 25.5 seconds.
- Group Membership Interval – time elapsed where if a router doesn’t receive an IGMP Report, the router assumes there’s no more members in that multicast group on the segment.
- IGMPv1 – 180 seconds.
- IGMPv2 – 260 seconds.
- Other Querier Present Interval – time where non-querier routers don’t hear from the querier router, and then assume the querier router is dead.
- IGMPv1 – N/A
- IGMPv2 – 255 seconds.
- Last Member Query Interval – maximum response time inserted be IGMPv2 routers into Group-Specific queries and the time between 2 consecutive Group-Specific queries sent for a specific multicast group.
- IGMPv1 – N/A
- IGMPv2 – 1 second
- Version 1 Router Present Timeout – if an IGMPv2 host doesn’t hear an IGMPv1 Query for this time period, the host assumes he can resume sending IGMPv2 messages.
- IGMPv1 – N/A
- IGMPv2 – 400 seconds