What is IGMP?
IGMP (Internet Group Management Protocol) is a Host-Router Multicast Signalling Protocol that provides dynamically registration of the hosts to the desired Multicast Groups.
With IGMP, Host requests to join to the Multicast Groups. This join request comes to the DR (Designated Router). DR translates this to the Multicast Routing Protocol (PIM).
You can test your IP Multicast knowledge with Multicast Quizes.
The hosts also stays connected to the Multicast Group with Internet Group Management Protocol. After a while, leaving from the Multicast Group is also a responsibility of Internet Group Management Protocol.
To sum up, IGMP provides three basic jobs between Hosts and Routers. These roles are:
• Join to the Multicast Group,
• Remain in the Multicast Group,
• Leave the Multicast Group
Now, let’s talk about some of the important operations of Internet Group Management Protocol. How a Receiver sends Multicast Group Join message? How an IGMP Multicast Query is sent?
Firstly let’s look at IGMP Join Request. As you can see below, firstly receiver tells that, it want to receive Multicast traffic. It also tellss the Multicast Source that it want to receive that Multicast Traffic. Because here, we are using IGMPv3. Then, this Join Request is sent to the Dr.
Another important operation is IGMP Query. DR sends IGMP Query to learn about that are there any membership requests. Hosts respond with IGMP reports to this periodic Query messages.
Routers in the Multicast Network sends periodic IGMP Quaries to the Multicast address 188.8.131.52.
When the hosts want to leave the Multicast group, it leaves the group silently or with a leave message. This is according to the used IGMP version.
The behaviours of the Internet Group Management Protocol operations changes according to the used version. So, we will talk about the IGMP operation detailly, for each version.
There are three IGMP versions. These are :
Each version has specific properties. Let’s check these one by one.
IGMPv1 is the first and the basic version of Internet Group Management Protocol. Basically IGMPv1 has two mechanims. These are “membership query” and “membership report”.
In the Multicast network that uses IGMPv1, routers send Membership Queries to 184.108.40.206 Multicast address every 60 seconds. This Membership Query wants to learn that if any multicast member interested in to join any multicast group. If a host interested in the multicast group, it sends a Membership Request. By this mechanism, IGMP table is filled and with DR translation from IGMP to PIM, multicast group member starts to get multicast traffic.
In IGMPv1, there is no leave message mechanism. If after three IGMP Query attempt, there is no Membership Report, then that multicast member deleted form the IGMP table of router.
IGMP1 is not compatible with other versions. If one version 1 routers exist in the network, all of them must work like it.
IGMPv1 packet is like below:
As a summary, IGMP messages used with IGMPv1 are:
• Membership Query
• Memberhsip Report
IGMPv2 is the second and advanced version of IGMPv1. And version 2 is the default IGMP version in Cisco devices.
Here, in IGMPv2 the Membership Queries sent by the router can be group specific or as the same as IGMPv1 (to all the routers). IGMPv2 works like version 1 but with a big difference. This difference is Leave Group Messages.
IGMPv2 has a Leave Group Message to leave the group. Memebers send this message to the 220.127.116.11 Multicast address and then it leaves the multicast group. These Leave Messages are very efficient. By using this Leave Messages, the multicast tree is updated more efficiently.
After Leave Group Message, multicast router sends a Group-Specific query to determine are there any hosts thatare interested in the multicast group or not. If there is no reply, then multicast forwarding of that group stops.
It is backwardcompatible with the previous version IGMPv1.
IGMPv2 packet consist of four areas. These areas are :
• Max Response Time
• Group Address
You can find the areas of IGMPv2 Packet below:
Here, let’s check the type field detailly. This field determines the type of the IGMPv2 Message. The values and the message type is given below:
• 0x11 Used for Membership Query and Group-Specific Query
• 0x12 Used for Version 1 Membership Report
• 0x16 Used for Version 2 Membership Report
• 0x17 Used for Leave Message
There are four IGMP messages used with IGMPv2. These messages are :
• Membership Query
• Memberhsip Report Version 1
• Memberhsip Report Version 2
• Leave Group
The last version is, IGMPv3. IGMPv3 is the extended version of IGMPv2. IGMPv3 provide to multicast clients to select specific Multicast Sources. Multicast clients select a specific Multicast Source and get Multicast traffic from only that Multicast source.
IGMPv3 hosts uses 18.104.22.168 Multicast address to send Membership Report.IGMPv3 routers listens this address about IGMPv3 facilities.
In IGMPv3 there is also another difference. All the hosts response to the Queries. In the other IGMP versions, only one host was responding, the others was suspended to reply.
IGMPv3 Message consist of more areas that the other IGMP versions. You can find the IGMPv3 message below: