IP Multicast Support |
IGMP version 2 extends the functionality of IGMP while maintaining backward compatibility with IGMP v1.
With IGMP v1, the router that sends the periodic queries is elected by the multicast routing protocols. IGMP v2 uses a simple election process to choose the multicast querier, the single router on each subnet that sends the periodic IGMP Host Membership Query messages. The router with the numerically lowest IP address is elected the multicast querier. The election process consists of listening for IGMP queries from other routers. If a query is received with a lower source IP address, the listening router remains a non-querier. If no query is received from other routers, the listening router becomes a querier.
IGMP v2 adds two new message types, an IGMP v2 Host Membership Report and a Leave Group message. It also adds a variation on the Host Membership Query called the Group-Specific Host Membership Query. The details of these new message types are discussed in the following sections.
The structure of IGMP version 2 messages is shown in Figure 4.3.
Figure 4.3 IGMP Version 2 Message Structure
Type Specifies the type of IGMP packet. IGMP v2 combines the two 4-bit IGMP v1 Version and Type fields into a single 8-bit Type field.
Table 4.2 lists the defined IGMP v2 message types.
Table 4.2 IGMP v2 Message Types
Hexadecimal Value |
Decimal value | Message Type and Description |
---|---|---|
0x11 (The IGMP v1 Version field of 0x1 and IGMP v1 Type field 0x1 become the IGMP v2 Type field of 0x11.) | 17 | Host Membership Query For a general query, the Group Address field is set to 0.0.0.0. For a group-specific query, the Group Address field is set to the host group address. |
0x12 (The IGMP v1 Version field of 0x1 and IGMP v1 Type field 0x2 become the IGMP v2 Type field of 0x12.) | 18 | Host Membership Report The Group Address field is set to the host group. |
0x16 | 22 | Version 2 Host Membership Report The Group Address field is set to the host group. |
0x17 | 23 | Leave Group The Group Address field is set to the host group. |
Maximum Response Time A 1-byte field that specifies the maximum time allowed in 1/10's of a second before sending a Host Membership Report after receiving a Host Membership Query. The Maximum Response Time field is only used in general or group-specific query messages. The Maximum Response Time is configured as the value for the Query response interval setting from:
Checksum A 2-byte field set to the value of the 16-bit checksum calculation on the IGMP message. The IGMP checksum does not include the IP header.
Group Address A 4-byte field set to either 0.0.0.0 for a general Host Membership Query message or the specific group address for the Host Membership Report, Leave Group, and group-specific Host Membership Query messages.
The IGMP v2 Host Membership Report has the same function as the IGMP v1 Host Membership Report except that it is intended to be received by IGMP v2 routers.
The Leave Group message is used to reduce the time it takes for the multicast router to stop forwarding multicast traffic when there are no longer any members in the host group. If a host responds to the last IGMP query, it might be the last or only member of the host group. When this host leaves the group it sends an IGMP Leave Group message to 224.0.0.2 (the all routers group). Upon receipt of the Leave Group message, the router sends a series of group-specific queries for the host group. If no host responds to the group-specific queries, the router determines that there are no more members of that host group on that particular subnet and removes the entry from the IGMP interface group table.
An IGMP Host Membership Query is sent to 224.0.0.1 (the all hosts group) to query for the group membership of all hosts on the subnet. IGMP v2 routers can also send a group-specific query, a query for a specific multicast group sent to the group address.
Table 4.3 summarizes the values of the source and destination IP addresses and the TTL in the IP header and the value of the Group Address in the IGMP header for the two additional types of IGMP v2 messages.
Table 4.3 Addresses and TTLs Used for IGMP v2 Messages
Address |
IGMP Group-Specific Query | IGMP Leave Group Message |
---|---|---|
Source IP Address | [Router interface IP address] | [Host interface IP address] |
Destination IP Address | [Host group being queried] | 224.0.0.2 |
TTL | 1 | 1 |
Group Address | [Host group being queried] | [Host group being left] |
For more information, see RFC 2236.