Search

IGMPv2 - Internet Group Management Protocol Version 2

IGMPv2 is defined in RFC 2236. IGMPv2 has Leave Group message, which was not there in IGMPv1.

Please visit below links and learn the concepts of IPv4 multicast before proceeding further.

IGMPv2 message format

Below image shows the format of IGMPv2 message.

igmpv2-message-format.jpg

IGMPv2 messages are encapsulated in IPv4 header. The Protocol number for IGMP is 2.

igmpv2-message-encapsulated.jpg

Type field of IGMPv2 message

Type field is used to identify different types of IGMPv2 messages. Please refer following table to know different Type values.

Message Type Type value number
IGMP Membership Query (MQ) messages 0x11
IGMPv2 Membership Report (MR) messages 0x16
IGMPv2 Leave Group (LG) messages 0x17

 

The Maximum Response Time of IGMPv2 message

The Maximum Response Time field of IGMPv2 message is used in Membership Query (MQ) messages. Maximum Response Time field specifies the maximum time a host can wait before sending a Membership Report message for a corresponding Membership Query message. The Maximum Response Time field is for Membership Query type of messages. In other type of IGMPv2 messages, it is set to 0. The Maximum Response Time field has its unit in 0.1 second (1/10th of a second).

Checksum field of IGMPv2 message

The Checksum field is 16-bit in length and it contains a 16-bit checksum for the message.

Group Address field of IGMPv2 message

Group Address field in IGMPv2 message contains the Class D multicast address of the multicast group.

How IGMPv2 works

IGMPv2 Join Messages

In IGMPv2, multicast clients interested in joining a multicast group generate and send unsolicited Membership Report (MR) messages. IGMPv2 Membership Report (MR) messages are sent to the multicast group address they wanted to join. IGMPv2 Membership Report messages (MR) includes the IPv4 Class D multicast address of the multicast group they want to join. IGMPv2 Membership Report (MR) message type number is 0x16.

The point to note is that there is no separate Type of IGMPv2 Join message. An unsolicited Membership Report (MR) message is used as IGMPv2 Join message.

So, what is the meaning of the word "unsolicited" here? We have already discussed in the previous lesson (IGMP (Internet Group Management Protocol)), that IGMP has a Query-Response type of operation. Querier will send Membership Query messages and multicast clients will respond with Membership Report (MR) message. An unsolicited IGMPv2 Membership Report (MR) message is a self-initiated message sent by a multicast client not as a reply for an IGMPv2 Membership Query message.

IGMP2 Membership Query messages are sent periodically. When a computer wants to join a multicast group, it needs to wait until next IGMPv2 Membership Query message from the Querier (local multicast router) to prepare and send a Membership Report message to join a multicast group. An unsolicited IGMPv2 Membership Report (MR) message can reduce the Join latency time period also.

A computer maintains a list of multicast groups that it had joined. If a new multicast group subscription is required, it will send again an unsolicited IGMPv2 Membership Report (MR) message to join that multicast group. IGMPv2 Join messages (or unsolicited Membership Report (MR) messages) for a multicast group are sent twice, one after the other.

A Wireshark packet capture screenshot of IGMPv2 Membership Report (MR) message is copied below.

igmpv2-membership-report-capture.jpg

IGMPv2 Membership Query (MQ) messages

Similar to IGMPv1, in IGMPv2 local multicast router periodically sends out General Membership Query (MQ) messages to verify that at least one multicast client is available in the subnet which is interested to receive traffic from that particular multicast group. IGMPv2 General Membership Query (MQ) messages are also sent to All systems link-local multicast address, 224.0.0.1.

A Wireshark packet capture screenshot of IGMPv2 General Membership Query (MQ) message is copied below.

igmpv2-general-membership-query-capture.jpg

IGMPv2 introduced another type of Membership Query (MQ) message, called as Group-specific Membership Query message. When a local router receives a Leave Group message from a multicast client located at its subnet, the router will send Group-specific Membership Query messages (twice, one after the other) addressed to that particular multicast group (instead of All systems link-local multicast address 224.0.0.1) to make sure there are no more computers interested in receiving multicast traffic addressed to the particular group in that subnet. Group-specific multicast query is a better way, because the query in addressed only to a particular group, asking if any members are left in a group, instead of asking everyone in the subnet. If there is no Membership Report message received for that Group-specific Membership Query message from the subnet, the router can make sure that no more multicast clients interested in traffic addressed to that group in that subnet. The router can then stop forwarding multicast traffic belongs to that multicast group to that subnet.

A Wireshark packet capture screenshot of IGMPv2 Group-specific Membership Query message is copied below.

igmpv2-group-specific-membership-query-capture.jpg

IGMPv2 Leave Group (LG) messages

Previous version of IGMP (IGMPv1) does not have any Leave Group message to inform the local router about a multicast client’s intention to leave a multicast group. In IGMPv1, if a multicast client is no longer interested in receiving multicast traffic from a particular multicast group, it does not reply to the Membership Query (MQ) messages sent from the local multicast router. Local multicast routers may not know instantly that the multicast client had already left the multicast group, because Membership Query (MQ) messages are sent from the router to multicast clients periodically.

The main difference between IGMPv1 and IGMPv2 is that, Leave Group messages are available in IGMPv2. Multicast clients use Leave Group message to inform the local multicast router instantly that they are no longer interested in receiving multicast traffic from a particular multicast group. IGMPv2 Leave Group messages are sent to All routers link-local multicast group 224.0.0.2. All the routers in the network segment are listening to 224.0.0.2.

A Wireshark packet capture screenshot of IGMPv2 Leave Group (LG) message is copied below.

igmpv2-leave-group-capture.jpg

Related Tutorials
Unicast, Multicast and Broadcast
Broadcast domain
Broadcast MAC Address - ff:ff:ff:ff:ff:ff
IPv4 multicast MAC Addresses
IPv4 Protocol, IPv4 header and fields of IPv4 header
IPv4 addresses
Class D multicast IP addresses
IPv4 link-local multicast addresses
IPv4 Internetwork control block multicast addresses
IPv4 Source-Specific Multicast (SSM) address reservation
IPv4 GLOP multicast addresses
Administratively scoped multicast address block or Limited scope addresses
Multicast IPv4 address to MAC address mapping
TCP/IP Encapsulation and Decapsulation
What is multicast
What is multicast group
Advantages and disadvantages of multicast
Comparison of multicast with unicast and broadcast
Advantages and disadvantages of multicast
How IPv4 multicast works on LAN
IGMP, What is IGMP, How IGMP works
IGMP message types
IGMP DR and Querier
IGMPv1 - Internet Group Management Protocol Version 1
What are SSM (Source-specific Multicast) and ASM (Any-source Multicast)
Comparison between IGMPv1, IGMPv2 and IGMPv3
IGMPv3 - Internet Group Management Protocol Version 3