Users Guide

Figure 10. IGMP Version 2 Packet Format
Joining a Multicast Group
There are two ways that a host may join a multicast group: it may respond to a general query from its querier, or it may send an unsolicited
report to its querier.
Responding to an IGMP Query.
One router on a subnet is elected as the querier. The querier periodically multicasts (to all-multicast-systems address 224.0.0.1) a
general query to all hosts on the subnet.
A host that wants to join a multicast group responds with an IGMP membership report that contains the multicast address of the
group it wants to join (the packet is addressed to the same group). If multiple hosts want to join the same multicast group, only the
report from the first host to respond reaches the querier, and the remaining hosts suppress their responses (for how the delay
timer mechanism works, refer to IGMP Snooping).
The querier receives the report for a group and adds the group to the list of multicast groups associated with its outgoing port to
the subnet. Multicast traffic for the group is then forwarded to that subnet.
Sending an Unsolicited IGMP Report.
A host does not have to wait for a general query to join a group. It may send an unsolicited IGMP membership report, also called an
IGMP Join message, to the querier.
Leaving a Multicast Group
A host sends a membership report of type 0x17 (IGMP Leave message) to the all routers multicast address 224.0.0.2 when it no longer
cares about multicast traffic for a particular group.
The querier sends a group-specific query to determine whether there are any remaining hosts in the group. There must be at least one
receiver in a group on a subnet for a router to forward multicast traffic for that group to the subnet.
Any remaining hosts respond to the query according to the delay timer mechanism (refer to IGMP Snooping). If no hosts respond
(because there are none remaining in the group), the querier waits a specified period and sends another query. If it still receives no
response, the querier removes the group from the list associated with forwarding port and stops forwarding traffic for that group to
the subnet.
IGMP Version 3
Conceptually, IGMP version 3 behaves the same as version 2. However, there are differences:
Version 3 adds the ability to filter by multicast source, which helps the multicast routing protocols avoid forwarding traffic to subnets
where there are no interested receivers.
To enable filtering, routers must keep track of more state information, that is, the list of sources that must be filtered. An additional
query type, the group-and-source-specific query, keeps track of state changes, while the group-specific and general queries still
refresh existing state.
Reporting is more efficient and robust. Hosts do not suppress query responses (non-suppression helps track state and enables the
immediate-leave and IGMP snooping features), state-change reports are retransmitted to insure delivery, and a single membership
report bundles multiple statements from a single host, rather than sending an individual packet for each statement.
92
Internet Group Management Protocol (IGMP)