Standard responses to IGMPv1 queries

Unanswered Question
Oct 23rd, 2009

OK, so I am finally studying multicast routing! (...waits for applause to die down...)

I suppose IGMPv2 is more widespread today than IGMPv1 but I'm told they'll BOTH be on the BSCI exam (grumble...)

If I understand this right, under IGMPv1, a host that wants to join a mcast group sends a "membership report" to the IGMPv1 Querier. The Querier also queries everyone every 60sec if they want to remain in the multicast group; and if they don't reply to 3 consecutive queries, they're axed from the group.

Question: If the client device has to send a membership report every 60 sec, what's the purpose of having one router continually query it?

It seems uneconomical for the querier to have to send out a packet every 60 sec just to solicit something equally simple as a hello packet; when you could instead just have the client devices send their membership reports pro-actively and lose the "query" traffic.

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Giuseppe Larosa Sat, 10/24/2009 - 04:04

Hello Stuey,

IGMPv1 hosts cannot send a leave message.

There is also another point: multiple multicast enabled routers can connect to the same IP subnet.

IF queries were not sent there would be no way for the other routers to detect if the IGMP querier is alive or not.

IGMPv1 querier has to be elected and this simply happens by listening to each other queries.

Lowest source ip address wins

Also there is the report suppression feature to take in account: an host starts a random timer after receiving a query before sending its report.

If another host answers before the timer expires the report is suppressed.

routers (IGMP querier and other ones if any) are interested to the following question:

for group G there is at least an host still interested in receiving it on this interface?

the forwarding state in Sparse Mode is conditioned to receiving reports.

The short answer can be that in this way routers have some level of control.

the heavier part of the job is to listen to reports, sending a General Query is lightweight.

IGMPv2 has the leave message.

IGMPv2 hosts can suppress their report if they hear an IGMPv1 report for same group G.

the max-time that is the interval for the random timer can be increased from 10 seconds to spread IGMP reports over time.

Hope to help


Peter Paluch Sun, 10/25/2009 - 07:52

Hello Seth,

You wrote: If the client device has to send a membership report every 60 sec, what's the purpose of having one router continually query it?

I am not aware that hosts should do that. According to the RFC 1112 where the IGMPv1 is described, hosts send unsolicited reports only when initially joining a multicast group. After that, no reports from hosts are sent until they are explicitely queried.

With this in mind, the need to query the stations periodically is quite natural.

Best regards,


CriscoSystems Wed, 11/04/2009 - 18:22

"After that, no reports from hosts are sent until they are explicitely queried."

That is my point.

If I am a host and I have joined group, my local router sends a query out every 60 sec (to if I'm not mistaken). If I receive this query (which I do, every 60 sec), I must reply to it with my Membership Report.

So as long as I'm sending the MR every 60 sec (each time in response to a query), I don't get why the querying needs to be done. Why isn't IGMPv1 set up just send the MR every 60 sec proactively, in the same way that neighbors send hello packets? The IGMPv1 querier will cancel the membership after three minutes with no responses to the queries; so why not just cancel it in response to three minutes of no MR's (the way a neighborship is canceled after no hellos).

Giuseppe says the queries let other routers on the segment know that the querier is alive, but why do the other routers all need to know that? Again, why not just have hosts send the MR's proactively to all connected routers?

Probably I won't need to know the answers to pass the BSCI, but it is something I wonder about. The querying thing seems just uneconomical.

Nagendra Kumar ... Thu, 11/05/2009 - 00:33


One simple reason I can think of is, to have control over the query interval.

If there is a requirement to tweak the interval on which a router will expect the MR from host (not max-response time, but query-interval), it is simple to mention the same in router rather than tweaking the timer in all host.




This Discussion