94
IGMPv2 enhancements
Compared with IGMPv1, IGMPv2 has introduced a querier election mechanism and a leave-group
mechanism.
Querier election mechanism
In IGMPv1, the DR elected by the Layer 3 multicast routing protocol (such as PIM) serves as the
querier among multiple routers on the same subnet.
IGMPv2 introduced an independent querier election mechanism. The querier election process is as
follows:
1.
Initially, every IGMPv2 router assumes itself as the querier. Each router sends IGMP general
query messages (often called "general queries") to all hosts and routers on the local subnet.
The destination address is 224.0.0.1.
2.
After receiving a general query, every IGMPv2 router compares the source IP address of the
query message with its own interface address. the router with the lowest IP address becomes
the querier and all other IGMPv2 routers become non-queriers.
3.
All non-queriers start a timer, known as "other querier present timer." If a router receives an
IGMP query from the querier before the timer expires, it resets this timer. Otherwise, the router
considers the querier has timed out and initiates a new querier election process.
"Leave group" mechanism
In IGMPv1, when a host leaves a multicast group, it does not send any notification to the multicast
router. The multicast router relies on the host response timeout timer to determine whether a group
has members. This adds to the leave latency.
In IGMPv2, when a host leaves a multicast group, the following steps occur:
1.
This host sends a leave message to all routers on the local subnet. The destination address is
224.0.0.2.
2.
After receiving the leave message, the querier sends a configurable number of group-specific
queries to the group that the host is leaving. The destination address field and group address
field of the message are both filled with the address of the multicast group that is being queried.
3.
One of the remaining members (if any on the subnet) of the group that is being queried should
send a membership report within the maximum response time set in the query messages.
4.
If the querier receives a membership report for the group within the maximum response time, it
maintains the memberships of the group. Otherwise, the querier assumes that no hosts on the
subnet are still interested in multicast traffic to that group and stops maintaining the
memberships of the group.
IGMPv3 enhancements
IGMPv3 is based on and is compatible with IGMPv1 and IGMPv2. It provides hosts with enhanced
control capabilities and provides enhancements of query and report messages.
Enhancements in control capability of hosts
IGMPv3 introduced two source filtering modes (Include and Exclude). These modes allow a host to
join a designated multicast group and to choose whether to receive or reject multicast data from a
designated multicast source. When a host joins a multicast group, one of the following occurs:
•
If it expects to receive multicast data from specific sources like S1, S2, …, it sends a report with
the Filter-Mode denoted as "Include Sources (S1, S2, …)."
•
If it expects to reject multicast data from specific sources like S1, S2, …, it sends a report with
the Filter-Mode denoted as "Exclude Sources (S1, S2, …)."