93
Figure 33 IGMP queries and reports
As shown in
, Host B and Host C are interested in multicast data addressed to multicast
group G1. Host A is interested in multicast data addressed to G2. The following process describes
how the hosts join the multicast groups and how the IGMP querier (Router B in the figure) maintains
the multicast group memberships:
1.
The hosts send unsolicited IGMP reports to the addresses of the multicast groups that they
want to join, without having to wait for the IGMP queries from the IGMP querier.
2.
The IGMP querier periodically multicasts IGMP queries (with the destination address of
224.0.0.1) to all hosts and routers on the local subnet.
3.
After receiving a query message, Host B or Host C (the delay timer of whichever expires first)
sends an IGMP report to the multicast group address of G1, to announce its membership for G1.
Assume that Host B sends the report message. After receiving the report from Host B, Host C
(which is on the same subnet as Host B) suppresses its own report for G1. Because the IGMP
routers (Router A and Router B) have already known that G1 has at least one member, other
members do not need to report their memberships. This IGMP report suppression mechanism
helps reduce traffic on the local subnet.
4.
At the same time, because Host A is interested in G2, it sends a report to the multicast group
address of G2.
5.
Through the query/report process, the IGMP routers determine that members of G1 and G2 are
attached to the local subnet. The multicast routing protocol (PIM, for example) that is running on
the routers generates (*, G1) and (*, G2) multicast forwarding entries. These entries are the
basis for subsequent multicast forwarding, where asterisk represents any multicast source.
6.
When the multicast data addressed to G1 or G2 reaches an IGMP router, the router looks up
the multicast forwarding table. Based on the (*, G1) or (*, G2) entries, the router forwards the
multicast data to the local subnet, and then the receivers on the subnet receive the data.
IGMPv1 does not specifically define a leave group message (often called a "leave message.") When
an IGMPv1 host is leaving a multicast group, it stops sending reports to the address of the multicast
group that it listened to. If no member exists in a multicast group on the subnet, the IGMP router does
not receive any report addressed to that multicast group. In this case, the router deletes the multicast
forwarding entries for that multicast group after a period of time.