Overview

Internet Group Management Protocol (IGMP) is used by a host to tell a multicast router that it wants to join or leave a multicast group.

IGMPv3 Join and Leave
IGMPv3 – Internet Group Management Protocol

Internet Group Management Protocol (IGMP) Versions

There are three versions of Internet Group Management Protocol (IGMP).

Version 1

The host sends a Report Message to a multicast router to join a specific group. If the multicast cast router isn’t already receiving the multicast from the server, it will connect to the server.

The multicast router will now send Query messages to all of the hosts in any multicast group every 60 seconds. If a host responds to the query, it will continue to receive the multicast packets. If the host doesn’t respond, the multicast traffic will continue to be sent to the host until the 180 second Delay Timer expires.

IGMP version 1 is inefficient. The host will have to receive, process and then drop the multicast traffic until until the Delay Timer expires. There is also wasted network bandwidth. This can be a big problem for large networks.

Version 2 (Default)

IGMP version 2 is enabled by default. It still uses the Report and Query messages, but the host now has the ability to send the multicast router a Leave Group message. By closing the application that receives the multicast, a Leave message can be generated and sent to the multicast router. The multicast router will then send queries to the remaining hosts in the group to see which ones want to stay in the group. The host(s) that don’t reply will be removed from the multicast group.

Version 2 has some additional features:

  • The Query message timer can be adjusted from the 60 second default
  • The multicast routers can have a Querier Election to decide which multicast router will send queries
  • The multicast routers can have a Querier Election to decide which multicast router will send queries

Version 3

Version 3 has all of the features of version 2 plus Source Specific Multicast. This allows the host to request a specific server (and reject other servers) from where it wants to receive the multicast. This is designated with (S,G). S = Source address of multicast server and G = multicast Group.

Conclusion

IGMP is used by hosts to join and/or leave a multicast group.

  • Version 1 – Shouldn’t be used nowadays.

  • Version 2 - This most commonly used and is the default (although it’s recommended to hard code it anyway).

  • Version 3 – If the requirements allow for it, version 3 is more secure. There can be trade-offs (i.e. lack of redundancy).

Later versions are compatible with previous versions, but previous versions are not compatible with newer versions:

IGMP Version Compatibility
Version Compatibility

RFC 2236: Internet Group Management Protocol, Version 2
RFC 3376: Internet Group Management Protocol, Version 3

To continue reading, please login or become a member for full access...