In this tutorial, we will be covering the IGMP protocol in the Network layer in Computer Networks.
IGMP is an abbreviated form of Internet Group Management Protocol(IGMP). Mainly the Internet Protocol can be involved in the two types of communication i.e, Unicasting and multicasting.IGMP is one of the necessary but not the efficient protocol that is involved in Multicasting.
IGMP is basically a companion of Internet Protocol(IP).
IGMP is not a multicasting routing protocol but it is a protocol that manages the group membership. This protocol mainly helps the multicast routers in order to create and update a list of loyal members that are related to each router interface.
This protocol is used in streaming videos, gaming, or web conferencing tools.
There are two versions of IGMP: IGMPv1 and IGMPv2.
The version IGMPv2 has three types of messages:
The Membership report
The Leave report.
There are two types of Query messages: General and Special
Let us now take a look at the format of IGMP(Version 2):
This is an 8-bit field and is mainly used to define the type of the message. The value of the type can be in both hexadecimal as well as binary notations.
|General or Special Query
||0x11 or 00010001
||0x16 or 00010110
||0x17 or 00010111
Maximum Response Time
The size of this field is also 8 bit and it mainly defines the amount of time in which query must be answered. The value of this field is nonzero in the query message; while its value is zero in the other two types.
The size of this field is 16 bit and it carries the checksum. The checksum is mainly calculated over the 8-byte message.
The value of this field is 0 in the case of the general query message. In the case of a special query, membership report, and leave report messages the value of this field defines the groupid.
Working of IGMP
This protocol mainly works on the device that has the capability of handling multiple groups and used for dynamic multicasting; these devices mainly allow the host in order to join or leave the membership in the multicast group.
Also, these devices are allowed to add and remove the clients from the group.
IGMP protocol mainly operates in between the host and local multicast router.
At the time when there is a creation of the multicast group, the multicast group address is in the range of class D (224-239) IP addresses and is forwarded as the destination IP address in the packet.
L2 means level-2 devices like switches; these are mainly used in between the host and multicast router for the snooping of IGMP.
IGMP snooping: It is a process that is used to listen to the IGMP network traffic in a controlled manner.
The switch mainly receives the message from the host and then forwards the membership report mainly to the local multicast router. After that, the multicast traffic is then further forwarded to remote routers from local multicast routers using PIM (Protocol Independent Multicast) protocol so that the clients can receive the message/data packets.
If the Clients wish to join the network then they can send a join message in the query and then the switch intercepts the message and then adds the ports of clients to its multicast routing table.
The Internet Group Management Protocol operates locally. The Multicast router that is connected to the network mainly has a list of multicast addresses of the group with at least one loyal member in that network. And for each group, there is mainly one router that has the duty of distributing the multicast packets destined for that group.
This simply indicates that in the case if there are three multicast routers connected to a network then their list of groupids are mutually exclusive.
Given below are the operations of IGMP:
Joining a Group
In this operation, both the host and the router can join a group. Whenever a process on the host wants to join a group then it simply sends the request to the host. After that, the host then adds the name of the process and the name of the group to its list.
In case, if this is the first entry of that particular group, then the host sends the membership report message to the multicast router of the group.
And if the entry is not the first entry then there is no need of sending such a message.
Leaving a group
Whenever the host finds that there is no process that is interested in the group then it mainly leaves a report message.
The membership is not disinfected by the multicast router of the group, rather than it immediately transmits the query packets repeatedly to see if anyone is still interested or not.
And in case if it gets the response in the form of a membership report message then the membership of the host or network is preserved.
Mainly the general query message does not define a particular group.
In order to prevent unnecessary traffic, the IGMP mainly makes use of a delayed response strategy.
Advantages of IGMP
The listed below are some of the benefits offered by the IGMP:
With the help of this protocol, the bandwidth is utilized efficiently aa because all the shared links are connected.
Using this protocol, the host can immediately leave a multicast group and then join another group.
The performance of this protocol is optimized as there is no transmission of junk packets to the host.
Disadvantages of IGMP
Given below are some of the drawbacks of the IGMP :
During filtering and security, it does not offers good efficiency.
This protocol is vulnerable to Denial of Service(DoS) attacks.
- Network congestion can occur due to a lack of TCP.