IGMP Version 2

Hello Hild

If two hosts randomly choose the same time, then both responses will be sent. But that’s OK, because the router will receive both and process them normally. This means that the multiple responses will only take place at that moment. Future random times are chosen by hosts each time they are to respond to a query from the router.

Keep in mind that this is a very rare occurrence. Not only because it is unlikely for two hosts to choose the same random timer, but also because the same random timers must also be the shortest timers, compared to all of the multicast receivers.

For example, if you have 50 multicast receivers, and a query is sent from the router, all 50 hosts will set random timers to respond. Only if the two shortest timers are the same will there be two responses sent out. If two hosts choose the same timer duration, but they’re not the shortest, they will receive a response from another host and will cancel sending out their responses. Does that make sense?

I hope this has been helpful!

Laz

In the initial setup, when R1 sends general membership query there’s only one host connected - H1.

So H1 sends/replies with a report type message; however it doesn’t set the report delay time (MRT) but does so later when another host (H2) joins the multicast - is this observation correct?

Hello NetworkGuy

Keep in mind that the value found within the MRT field is only meaningful within a general membership query, and it refers to the maximum response time that the router allows the hosts to set their random response timers to.

Notice that in the router advertisement, the value is 10 seconds, which is the default. However, in all membership reports sent by hosts, the MRT is set to 0. This is because this field is ignored completely in such messages.

According to RFC 2236 which describes the Max Response Time field, it states:

The Max Response Time field is meaningful only in Membership Query messages, and specifies the maximum allowed time before sending a responding report in units of 1/10 second. In all other messages, it is set to zero by the sender and ignored by receivers.

The random time chosen by each host is actually maintained internally and is not shared in any messages, so you will never see the value chosen by any particular host in any field of an IGMP message.

I hope this has been helpful!

Laz