IP组播协议基础4(IGMPv2) | 您所在的位置:网站首页 › igmpv2协议报文 › IP组播协议基础4(IGMPv2) |
IGMPv2
IGMPv2是为了改进IGMPv1两方面不足而产生的改进版,一是IGMPv2增加了独立的查询机制(IGMPv1中的查询器是由PIM协议选举指定路由器(DR)担当查询器的)二是增加了离开组机制,包含了离开信息,允许迅速向组播路由协议(PIM)报告组成员终止情况(IGMPv1中没有离开机制),这对高带宽组播组或易变型组播成员而言,是非常重要的。 本文根据以下拓扑图对IGMPv2进行讲解: 该拓扑图也是我上一篇文章:IP组播协议基础(三)所使用的拓扑图,但为了方便抓包观察,本拓扑RA、RB下联网段都为192.168.1.0/24。 拓扑配置思路: 1、IP配置 2、路由配置,保障拓扑互通。 3、配置PIM-DM(全局开启后,路由器所有接口使能) 4、配置IGMPv2(全局开启后,RA、RB的G0/0/1上使能) 5、配置组播源G1、G2,并运行组播应用 6、PC机加入各自对应的组 详细配置本文不做赘述。 如上图所示的组播网络中,RA、RB连接主机网段,在主机网段上由HostA、B、C 3个接收者,假设A和B想要接收发往组播组G1的数据,C想要接收发往组播组G2的数据。 查询器选举机制IGMPv2使用独立的查询器选举机制,当共享网段上存在多个组播路由器时,运行IGMP的接口的IP地址最小的路由器成为查询器。 最初,所有运行IGMPv2的组播路由器(RA、RB)都认为自己是查询器,便以224.0.0.1为目的地址向本网段内所有主机和组播路由器发送查询报文。 RA和RB在收到彼此发送的普遍组查询报文后,讲报文的源IP地址与自己的接口地址进行比较,通过比较,IP地址小的组播路由器将成为查询器,其他组播路由器成为非查询器(Non-Querier),本拓扑图中由于RB接口地址小于RA,则RB成为查询器。此后,查询器RB向本网段内的所有主机和其他组播路由器发送普遍组查询报文,而非查询器RA将不再发送查询报文。 如下图所示:经过选举后,RB成为查询器,网段中不再出现RA(192.168.1.254)的查询报文。
缺省情况下,其他IGMP查询器的存活时间(Other Querier Present Timer)计算公式为: 健壮系数×IGMP普遍查询消息发送间隔 +(1/2)最大响应时间 健壮系数: 是用来弥补可能发生的网络丢包而设置的消息重传次数,取值范围为2~5的整数,缺省情况下取值为2。 IGMP普遍查询消息发送间隔: 即发送查询报文的时间间隔,取值范围为1~1800s,缺省为60s。 最大响应时间: 查询报文的最大响应时间,取值范围为1~25s,缺省情况下为10s,响应时间越小,IGMP设备获知组播成员的速度越快,但是网络带宽和设备资源占用也就越大。 前面说到,IGMPv2与IGMPv1相比,除了增加查询器选举机制外,还增加了组离开机制。 在拓扑中,将主机A,B先加入组播源G1中(恢复前面RB与交换机连接的链路): 假设此时主机A退出G1(255.1.1.1),则主机A会向本网段所有主机和组播路由器发送针对组G1的离开报文,当组播路由器接收到组成员的离开报文后,会对报文中所涉及的组(本拓扑中为主机A原来加入的组G1)发送特定组查询报文(缺省情况下每隔1s发送一次,共发送两次),由于G1中还有另一个组成员HostB的存在,所以,查询器发出特定组查询报文后主机B会立即发送针对G1的报告报文,查询器收到该报文后将继续维护该组(G1)成员关系,如下图所示: 但如果,网段中不存在G1的其他成员,查询器不再受到针对组G1的报告报文后,查询器在发送两次特定组查询报文后将会删除(*,G1)对应的IGMP组表项,如下图所示,将主机B也退出G1: |
CopyRight 2018-2019 实验室设备网 版权所有 |