The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IP networks to establish multicast group memberships. IGMP provides your routers with a method to join and leave multicast groups. Multicast groups and systems that have chosen to receive data being sent to a specific multicast address.

Two types of devices, other than the originator of the multicast data, are on the network, as described in this list:

  • The Querier: Sends out messages asking devices connected to its network segments which devices are members of specific multicast groups.

  • The Receiver: Receives multicast traffic destined for a multicast address. This device may be a client device or a router, which then forwards the data on to other hosts and routers.

The querier may periodically send a request to find out what devices are in a specific group, because if all the client devices disappear, the router can stop forwarding data to some of the network segments.

IGMP packets are actually sent using multicast, where IGMP version 1 uses as a general query address, and IGMP version 2 uses as its general query address. IGMP group-specific queries are actually sent to the multicast group address that the router is currently querying.

IGMP has improved over the years:

  • Version 1 was defined in RFC1112, and its main goal was to introduce a query-response system. This system would be used to specify which devices on a network segment were configured to receive data that was being sent to multicast groups.

  • IGMP version 2 was defined in RFC2236 and greatly improved latency issues that existed in IGMP version 1. IGMP version 2 also implemented additional features, which include a leave process, group-specific queries, and an explicit maximum query response time.

  • IGMP version 3 further extended the capabilities of the protocol by allowing source filtering, which means that the routers are actually informed as to which sources the traffic is expected from.

  • IGMP version 4 offered further advancement to the protocol, but the biggest single enhancement to the protocol was the inclusion of IPv6 support.