Open In App

What is IGMP(Internet Group Management Protocol)?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

IGMP is acronym for Internet Group Management Protocol. IGMP is a communication protocol used by hosts and adjacent routers for multicasting communication with IP networks and uses the resources efficiently to transmit the message/data packets. Multicast communication can have single or multiple senders and receivers and thus, IGMP can be used in streaming videos, gaming or web conferencing tools. This protocol is used on IPv4 networks and for using this on IPv6, multicasting is managed by Multicast Listener Discovery (MLD). Like other network protocols, IGMP is used on network layer. MLDv1 is almost same in functioning as IGMPv2 and MLDv2 is almost similar to IGMPv3. The communication protocol, IGMPv1 was developed in 1989 at Stanford University. IGMPv1 was updated to IGMPv2 in year 1997 and again updated to IGMPv3 in year 2002. 

The IGMP protocol is used by the hosts and router to identify the hosts in a LAN that are the members of a group. IGMP is a part of the IP layer and IGMP has a fixed- size message. The IGMP message is encapsulated within an IP datagram.

The IP protocol supports two types of communication:

  • Unicasting- It is a communication between one sender and one receiver. Therefore, we can say that it is one-to-one communication.
  • Multicasting: Sometimes the sender wants to send the same message to a large of receivers simultaneously. This process is known as multicasting which has one-to-many communication.

Applications:

  • Streaming – Multicast routing protocol are used for audio and video streaming over the network i.e., either one-to-many or many-to-many.
  • Gaming – Internet group management protocol is often used in simulation games which has multiple users over the network such as online games.
  • Web Conferencing tools – Video conferencing is a new method to meet people from your own convenience and IGMP connects to the users for conferencing and transfers the message/data packets efficiently.

Types: There are 3 versions of IGMP. These versions are backward compatible. Following are the versions of IGMP: 1. IGMPv1 : The version of IGMP communication protocol allows all the supporting hosts to join the multicast groups using membership request and include some basic features. But, host cannot leave the group on their own and have to wait for a timeout to leave the group. The message packet format in IGMPv1:

 

  • Version – Set to 1.
  • Type – 1 for Host Membership Query and Host Membership Report.
  • Unused – 8-bits of zero which are of no use.
  • Checksum – It is the one’s complement of the sum of IGMP messages.
  • Group Address – The group address field is zero when sent and ignored when received in membership query message. In a membership report message, the group address field takes the IP host group address of the group being reported.

2. IGMPv2 : IGMPv2 is the revised version of IGMPv1 communication protocol. It has added functionality of leaving the multicast group using group membership. The message packet format in IGMPv2:

 
Type:

0x11 for Membership Query
0x12 for IGMPv1 Membership Report
0x16 for IGMPv2 Membership Report
0x22 for IGMPv3 Membership Report
0x17 for Leave Group

  • Max Response Time – This field is ignored for message types other than membership query. For membership query type, it is the maximum time allowed before sending a response report. The value is in units of 0.1 seconds.
  • Checksum – It is the one’s complement of the sum of IGMP message. It determines the entire payload of the IP datagram in which IGMP message is encapsulated.
  • Group Address – It is set as 0 when sending a general query. Otherwise, multicast address for group-specific or source-specific queries. The behavior of this field depends on the type of the message sent.

For Membership Query, the group address is set to zero for General Query and set to multicast group address for a specific query. For Membership Report, the group address is set to the multicast group address is set to the multicast group address. For Leave Group, it is set to the multicast group address.

3. IGMPv3 : IGMPv2 was revised to IGMPv3 and added source-specific multicast and membership report aggregation. These reports are sent to 224.0.0.22. The message packet format in IGMPv3:

 

  • Max Response Time – This field is ignored for message types other than membership query. For membership query type, it is the maximum time allowed before sending a response report. The value is in units of 0.1 seconds.
  • Checksum – It is the one’s complement of the one’s complement of the sum of IGMP message.
  • Group Address – It is set as 0 when sending a general query. Otherwise, multicast address for group-specific or source-specific queries.
  • Resv – It is set zero of sent and ignored when received.
  • S flag – It represents Suppress Router-side Processing flag. When the flag is set, it indicates to suppress the timer updates that multicast routers perform upon receiving any query.
  • QRV – It represents Querier’s Robustness Variable. Routers keeps on retrieving the QRV value from the most recently received query as their own value until the most recently received QRV is zero.
  • QQIC – It represents Querier’s Query Interval Code.
  • Number of sources – It represents the number of source addresses present in the query. For general query or group-specific query, this field is zero and for group-and-source-specific query, this field is non-zero.
  • Source Address[i] – It represents the IP unicast address for N fields.

Working: IGMP works on devices that are capable of handling multicast groups and dynamic multicasting. These devices allows the host to join or leave the membership in the multicast group. These devices also allows to add and remove clients from the group. This communication protocol is operated between host and local multicast router. When a multicast group is created, the multicast group address is in range of class D (224-239) IP addresses and is forwarded as destination IP address in the packet.  
L2 or Level-2 devices such as switches are used in between host and multicast router for IGMP snooping. IGMP snooping is a process to listen to the IGMP network traffic in controlled manner. Switch receives the message from host and forwards the membership report to the local multicast router. The multicast traffic is further forwarded to remote routers from local multicast routers using PIM (Protocol Independent Multicast) so that clients can receive the message/data packets. Clients wishing to join the network sends join message in the query and switch intercepts the message and adds the ports of clients to its multicast routing table. 

Advantages:

  • IGMP communication protocol efficiently transmits the multicast data to the receivers and so, no junk packets are transmitted to the host which shows optimized performance.
  • Bandwidth is consumed totally as all the shared links are connected.
  • Hosts can leave a multicast group and join another.

Disadvantages:

  • It does not provide good efficiency in filtering and security.
  • Due to lack of TCP, network congestion can occur.
  • IGMP is vulnerable to some attacks such as DOS attack (Denial-Of-Service).

Frequently Asked Questions

Q1.Why is IGMP Necessary?

Answer:

IGMP is necessary to manage multicast group memberships in an IP network. It allows routers to determine which hosts belong to specific multicast groups and ensures that multicast traffic is only sent to those hosts interested in receiving it. This helps reduce network congestion.

Q2.How Does IGMP Work?

Answer:

IGMP works by enabling hosts to send messages to routers indicating their interest in joining or leaving specific multicast groups. Routers use this information to forward multicast traffic only to the hosts that have joined a particular group.



Last Updated : 13 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads