Subject: IGMP V2 unsolicited report

From: Krishnan Subramaniam <[email-masked]>
Date: Mon, 7 Aug 2000 19:28:09 +0530

hi all ,

the RFC states that when a host joins a group it should send report
immedaitely instead of waiting for the query to reduce delay ; but 
it has to send only if it is the first host to join the group in its
subnetwork ;

moreover any host has to send its report with a destination address
same as the group address ; 

in that case how will a host know that there is already a member
for the group it wants to join so as to prevent sending unsolicited
report ;

krishna  

hi all ,

the RFC states that when a host joins a group it should send report

immedaitely instead of waiting for the query to reduce delay ; but

it has to send only if it is the first host to join the group in its

subnetwork ;

moreover any host has to send its report with a destination address

same as the group address ;

in that case how will a host know that there is already a member

for the group it wants to join so as to prevent sending unsolicited

report ;

krishna

---

From: Wilbert de Graaf <[email-masked]>
Date: Mon, 07 Aug 2000 09:57:46 -0700

Hi Krishnan,

> it has to send only if it is the first host to join the group in its

The initial (join) report is always send out on the network, since there
is no way for the host to tell if traffic for that group is already
available on it's network. So instead of waiting for the router to ask
all the hosts about that group, you just send the report immediately.

(With IGMPv3, it's not enough to know if another host joined the same
group. They also need to tell what sources to include or exclude.)

> same as the group address ;

(And with IGMPv3 all reports are send to 224.0.0.22: all IGMPv3 routers)

> for the group it wants to join so as to prevent sending unsolicited

A host in IGMPv2 mode will receive IGMPv2 reports from other hosts on
the network since it subscribed to that group (so the interface will
accept them) and, as you said, the destination address of those report
equals that group. What happens in the IGMP code is that when a IGMPv1
or IGMPv2 comes in, the code checks to see if it has a pending report
for that same group, and cancels it.

(But with IGMPv3, you don't hold prevent sending those messages.)

- Wilbert