码迷,mamicode.com
首页 > 其他好文 > 详细

【数通面试私房菜之组播专题】第二期: IGMPv2详解

时间:2020-05-10 11:16:19      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:维护   members   网络   组成   两种   状态   间隔   共享   png   

IGMPv2的变化
IGMPv2的工作机制与IGMPv1基本相同,最大的不同之处在于IGMPv2增加了离开组机制。成员主机离开组播组时,会主动发送成员离开报文通知IGMP查询器;IGMP查询器收到成员离开报文后,会连续发送特定组查询报文,询问该组播组是否还存在组成员。如果在一段时间内没有收到成员主机发送的报告报文,IGMP查询器将不再维护该组的组成员关系。IGMPv2可以使IGMP查询器及时了解到网段内哪些组播组已不存在成员,从而及时更新组成员关系,减少网络中冗余的组播流量。

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的组播数据。

【数通面试私房菜之组播专题】第二期: IGMPv2详解

标签:维护   members   网络   组成   两种   状态   间隔   共享   png   

原文地址:https://blog.51cto.com/14417173/2493672

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!