It was the first IGMP version that allowed to explicitly announce its willingness to receive particular multicast traffic. This version had two messages only:
The Membership Query and
The Membership Query was always sent to 188.8.131.52 by multicast routers, and the Membership Report was always sent by stations to the group that a station wanted to join.
There was no message to announce that a station is leaving (unsubscribing) a multicast group, resulting in situations that a multicast stream was fed to a segment even after all stations have left the particular group.
Only after a timeout period the router discovered that there are no more subscribers to the group, and stopped the multicast feed.
The next version of IGMP among other IGMP versions had some enhancement –
- Membership Query was of both types i.e. general (sent to 184.108.40.206) and group-specific (sent to a particular multicast group). The general Membership Query is used to find out all multicast groups that the stations are subscribed to. The group-specific Membership Query is used to find out if there is a subscriber for a particular group.
- Leave a message (A new message )to advertise that a station is unsubscribing from a multicast group, allowing the router to stop an unnecessary multicast stream feed much more promptly.
- IGMPv2 cleared the way how a multicast querier (a router that sends Queries) is elected if there are multiple multicast routers connected to a common network. In IGMPv1, all multicast routers were expected to send Queries. The IGMPv2 stipulates that only the multicast router with the lowest IP address on the segment shall become the Querier and send Queries. Other routers are free to listen to the Replies (they have to do it anyway) but they do not send Queries themselves.
It was introduced as a need to support source-specific multicast. The IGMPv1/IGMPv2 does not have the capability to specify a particular sender. The extensions of the IGMP to support the source-specific multicast led to the creation of the IGMPv3.
IGMPv1 vs IGMPv2 vs IGMPv3
|1st Octet value for Query message||0x11||0x11||0x11
|Group address for General query||0.0.0.0||0.0.0.0||0.0.0.0
|Destination address for General query||220.127.116.11||18.104.22.168||22.214.171.124
|Default Query Interval||60 sec||125 sec||125 sec|
|1st octet value for Report||0x12||0x16||0x22
|Group address for the report||Joining multicast group address||Joining multicast group address||Joining multicast group address and source address
|Is report suppression mechanism available||Yes||Yes||No|
|Can max response time be configured||No , fixed at 10 sec||Yes,0 to 25.5 sec||Yes,0 to 53 min
|Can a host send a leave group message||No||Yes||Yes|
|Destination address for leave group message||-||126.96.36.199||188.8.131.52
|Can a Router send Group-specific query?||No||Yes||Yes|
|Can a Host send Source and group specific reports?||No||No||Yes|
|Can router end Source and Group specific Queries?||No||No||Yes|
|Rule for Electing a Querier?||None (depends on multicast routing protocol)||Router with the lowest IP address on the subnet||Router with the lowest IP address on the subnet
|Compatible with other Versions of IGMP?||No||Yes, only with IGMP v1||Yes, with both IGMP v1 and v2
Download the difference table here.
For more information on IGMPv1 IGMPv2 and IGMPv3 watch this video –