标签:维护 members 网络 组成 两种 状态 间隔 共享 png
IGMPv2的变化IGMPv2报文
与IGMPv1相比,IGMPv2的变化如下:
除了普遍组查询报文和成员报告报文之外,IGMPv2新增了两种报文:
? 成员离开报文(Leave):成员离开组播组时主动向查询器发送的报文,用于宣告自己离开了某个组播组。
? 特定组查询报文(Group-Specific Query):查询器向共享网段内指定组播组发送的查询报文,用于查询该组播组是否存在成员。
IGMPv2的文格式如下所示:
查询器选举机制
IGMPv2使用独立的查询器选举机制,当共享网段上存在多个组播路由器时,IP地址最小的路由器成为查询器。
相对于IGMPv1,IGMPv2使用独立的查询器选举机制。
? 所有IGMPv2路由器在初始状态时都认为自己是查询器,向本地网段内的所有主机和路由器发送普遍组查询报文。其他路由器在收到该报文后,将报文的源IP地址与自己的接口地址作比较。IP地址最小的路由器将成为查询器,其他路由器成为非查询器。如图所示,RTA的接口IP地址小于RTB的接口IP地址,则RTA当选为查询器。IGMP的查询器和非查询器都会处理IGMP组加入信息,但是只有查询器负责发送查询报文。IGMP非查询器不处理IGMPv2离开报文。
? 所有非查询器上都会启动一个定时器。如果在该定时器超时前收到了来自查询器的查询报文,则重置该定时器;否则就认为原查询器失效并发起新的查询器选举。
离开组机制
如图所示,在IGMPv2中,Client B离开组播组G2的过程如下:
1) Client B向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送针对组G2的离开报文。
2) 查询器收到离开报文,会发送针对G2的特定组查询报文,同时启动组成员关系定时器Timer-Membership=发送间隔x发送次数。缺省每隔1秒发送一次,一共发送两次,发送间隔和发送次数可以配置。
3) 如果网段内不存在其他组G2的成员,则路由器不会收到组G2的成员报告报文。在Timer-Membership超时后,删除组播转发表项中对应的下游接口。路由器将不再向该网段转发G2的组播数据。如果网段内还有G2的其他成员,则这些成员在收到特定组查询报文后,会在最大响应时间内发送G2的成员报告报文。路由器继续向该网段转发G2的组播数据。
标签:维护 members 网络 组成 两种 状态 间隔 共享 png
原文地址:https://blog.51cto.com/14417173/2493672