# IGMP Overview

The IPv4 address scheme assigns class D addresses for IP multicast. IGMP is the protocol that uses these addresses, which can be in the range 224.0.0.0 to 239.255.255.255. The following addresses have specific functions or are unavailable:

- 224.0.0.0 is reserved—you cannot assign it to a group.
- 224.0.0.1 is the all-hosts address—a packet sent to this address reaches all hosts on a subnet.
- 224.0.0.2 is the all-routers address—a packet sent to this address reaches all routers on a subnet.

This implementation of IGMP complies with IGMP versions 1, 2, and 3. IGMPv3 supports source-specific join and leave messages and is backward compatible with IGMPv1 and IGMPv2.

IGMPv2 mode interfaces exchange the following types of messages between routers and hosts:

- Group membership queries
- Group membership reports
- Leave group membership messages

IGMPv3 mode interfaces exchange the following types of messages with IGMPv3 hosts:

- Group membership queries
- IGMPv3 group membership reports

## Group Membership Queries

A multicast router can be a querier or a nonquerier. Only one querier is on a network at any time. Multicast routers monitor queries from other multicast routers to determine the status of the querier. If the querier detects a query from a router with a lower IP address, it relinquishes its role to that router.

IGMPv1 and IGMPv2 mode interfaces send two types of group membership queries to hosts on the network:

- General queries to the all-hosts group address (224.0.0.1)
- Specific queries to the appropriate multicast group address

IGMPv3 mode interfaces send the following types of queries to IGMPv3 hosts:

- General queries
- Group-specific queries
- Source-specific queries

The purpose of a group membership query is to discover the multicast groups to which a host belongs.

IGMPv2 and IGMPv3 group membership queries have a Max Response Time field. This response time is the maximum amount of time that a host can take to reply to a query.

## Group Membership Reports

When a host receives a group membership query, it identifies the groups associated with the query and determines to which groups the query belongs. The host then sets a timer, with a value less than the Max Response Time field in the query, for each group to which it belongs.

When the timer expires, the host sends a group membership report to the group address. When a multicast router receives a report, it adds the group to the membership list for the network and sets a timer to the group membership interval. The router calculates the group membership interval using the following formula of configurable IGMP values:

( query interval x robustness value ) + query maximum response time

If this timer interval expires before the router receives another group membership report, the router determines that the group has no members left on the network.

IGMPv3 supports an extended report format you can use to report multiple groups and source lists in a single report.

## Leave Group Membership Messages

When a host leaves a group, it sends a leave group membership message to multicast routers on the network. A host generally addresses leave group membership messages to the all-routers group address (224.0.0.2).