IGMPv2的工作机制与IGMPv1大致相同,最大的不同点在于IGMPv2增加了离开组机制,当组成员主动离开组播组时,会主动发送成员离开报文告知查询器。查询器收到组成员发送出的组成员离开报文后,会连续发送特定组查询报文,询问该组播组中是否还存在组成员,如果一段时间内没有收到成员主机发送的报告报文,那么IGMP查询器将不再维护该组的组成员关系,IGMPv2可以使IGMP查询器及时了解到网段内哪些组播组已不存在成员,从而及时更新组播组信息,减少网络中不必要的组播流量
IGMPv2报文与IGMPv1相比,IGMP新增了两种类型的报文:
-
成员离开报文(Leave):成员离开组播组时会主动向查询器发送该报文,告知查询器离开某个组播组
-
特定组查询报文(Group-Specific Query):查询器向网段内指定组播组发送的查询报文,用户查询某个组播组中是否还有成员,与普遍组查询报文的区别在于,普遍组查询报文的组号是0.0.0.0,而特定组是针对某个组播组,所以他会是一个组播地址
报文格式如下:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1