Introduction to IGMP v2 & IGMP v3
IGMPv2 was developed to address the issues and shortcomings of IGMPv1 protocol.
There are some differences between IGMPv1 and IGMPv2 which is addressed here:
- In IGMPv2, the IGMP Query is broken in to two categories. General Queries and Group specific Query.
- Another difference is IGMPv1 membership reports and IGMPv2 membership reports have different IGMP code types.
- IGMPv2 is backward compatible with IGMPv1.
Following are some key feature added on IGMPv2.
Querier Election process:
In this IGMPv2 has capability to elect its own Querier rather than depending upon any Multicast routing protocol to perform this process. It uses IP address in General Query Message to elect IGMP query router via following method:
- When IGMPv2 Process starts on routers, each router multicast an IGMPv2 General Query message to the All-Multicast-Systems group (126.96.36.199) with their interface address in the Source IP Address field of the message.
- When an IGMPv2 router receives a General Query message, the election of IGMPv2 Querier starts by comparing the source IP address in the message with its own interface address. The router having the lowest IP address on the subnet will be elected the IGMP Querier
- Whenever a General Query message is received from the IGMP Querier all non-Querier routers reset their querier timer. The default duration of the Querier timer is two times the Query Interval, or say as 250 seconds. If the querier timer expires and no general query message is received to any one of non-Querier router than IGMP Querier may have gone down, and the election process will run again to elect a new IGMP Querier.
Member response Time:
When a Query message is send by query router, it adds the maximum response time under which all host must have to respond for query message. The default value of response time is 10 sec.
Membership Query message:
In IGMPv2 the query message is broken down to two message:
- General Query: This Message is used to determine which multicast group are active and it is used to identify which host are still desirable to listen to specific multicast stream.
- Group Specific Query: It is used to find that if any host is still active and is willing to listen for any specific multicast group or we can say that it is used to determine whether a specific multicast group has any remaining members. Default timer is 1 sec and dead timer is 2 sec.