77范文网 - 专业文章范例文档资料分享平台

IGMP Snooping原理及应用(3)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1.3.3.3 查询选择过程

IGMPv2使用普遍查询信息的IP地址来选择IGMP查询路由器。在IGMPv2中,多访问网络上的每个路由器都初始假定自己是查询器并发出查询,它们都向所有主机组播组(224.0.0.1)发送源IP地址字段为自身的接口地址的IGMPv2普遍查询信息。每个路由器都将接收到从其它IGMPv2路由器发出的查询,如果一个IGMPv2路由器收到其他路由器发送的普遍查询信息,它就把此信息的源IP地址和它自己的接口地址作比较。具有最低IP地址的IGMPv2路由器将成为查询路由器。

所有非查询路由器启动一个查询计时器,无论何时只要收到来自当选的查询路由器的普遍查询信息,计时器就被复位。默认的计时器持续时间是查询间隔的2倍。如果查询计时器超时,就认为当选的查询路由器已经发生错误,比如重启,不再是查询路由器,则重新初始化查询过程。

1.3.3.4 小型拓扑图和包分析

下面以一个具体的小型拓扑结构来分析IGMPv2的数据报,图10是一个简单的组播拓扑图。

R222.99.99.111222.99.99.168222.99.99.114流媒体服务器H1H2H3

图10 组播拓扑图

如上图所示,H3为流媒体服务器,主机H1、H2通过多播路由器R连接到H3,H1、H2可以随时观看H3的视频,路由器R只是发查询包,下面给出这一过程Ethereal所抓到的包。

图11 IGMPv2查询、报告、离开包

如上图所示,包1为路由器发出的目的地址为224.0.0.1的查询包(224.0.0.1代表这个子网上的所有系统),H1、H2和H3响应了这个查询,H1没有点播任何服务,向默认的多播地址239.255.255.250发送一个关系报告,H2点播了视频服务,向点播的那个视频所在的

8

多播地址239.192.13.66发送一个关系报告,视频服务器H3向默认的多播地址239.255.255.254发送一个关系报告。如果H1也加入了视频点播,发送一个目的地址为239.192.13.66的关系报告,如包5所示。H2停止了视频点播,向目的地址224.0.0.2(这个子网上的所有路由器)发送一份离开报告,如包10所示。

下面给出这3种包的包结构。

图12 IGMPv2查询报文

图13 IGMPv2成员关系报告报文

图14 IGMPv2离开报文

注意:图12所示的是一个一般查询报文,因为多播组地址为0.0.0.0。一般查询报文和离开报文封装在IP头的目的地址和IGMP的目的地址是不同的。

1.3.4 IGMPv3

IGMPv3增加Group Source Report(组源节点报告)和Group Source Leave(组源节点离开)消息,使得端节点能够选择仅仅收听来自组中特定源节点的组播信息。

9

1.3.4.1 成员关系查询报文

IGMPv3定义了两种报文类型:成员关系查询报文和成员关系报告报文。图10为成员关系查询报文,表3为几个不同的IGMP的类型列表。

0类型8RESP CODE16检验和31群组地址RESSQRVQQIC源地址1源地址2? ? 源地址N源地址数

图15 IGMP成员关系查询报文的格式

表3 IGMPv3报文类型 类型 0x11 0x22 0x12 0x16 0x17

当路由器探寻群组成员时,标记为RESP CODE的字段指定了群组成员在计算延时所用的最大间隔。IGMP允许路由器在每个查询报文中设置一个最大值,是为了让管理员能够控制IGMP通信量。群组地址字段或者用于指定特定的群组,或者包含0来代表一个通用查询。S字段指示路由器是否要抑制当一个更新到达时计数器应当执行的正常更新动作,这个比特对主机不起作用。QRV字段允许IGMP在损耗较大的网络上多次发送同一个分组,从而控制了其健壮性。QQIC字段指明了查询报文的查询间隔(Querier’s Query Interval),即成员关系查询之间的间隔时间。

IGMP报文的最后一部分由0或多个源组成。源地址数字段指定了随后的表项数目。每个源地址包含一个32位IP地址。在通用查询和特定群组查询报文中,源的数目为0.对于特定群组和源的查询,报文中包含了一个或多个源,路由器用这样的报文查询多播群组和任何指定源的组合的接受状态。

版本 3 3 1 2 2 含义 成员关系查询 成员关系报告 成员关系报告 成员关系报告 退出群组 1.3.4.2 成员关系报告报文

图11为IGMPv3成员关系报告报文。

10

0类型8保留保留16检验和群组记录数(K)群组记录1群组记录2? ? 群组记录K31

图16 IGMP成员关系报告报文的格式

图12为每个群组记录的格式

0记录类型8零16源地址数多播地址源地址1源地址2? ? 源地址N31

图17 群组记录格式

记录类型字段允许发送方指定记录中的源列表对应的是包含过滤器、排除过滤器还是对上一个报告的更改(例如,还需要包含或排除一个源)。多播地址字段指定了该群组记录所指的多播地址,源地址数字段指定了群组记录中包含的源地址数目。

版本3中没有为主机提供能够主动退出一个群组的显示报文,或监听某个群组的所有通信的显示报文。事实上,为退出一个群组,主机会发送一个成员关系报告报文,它定义了一个具有空IP源地址列表的包含过滤器。而为了监听所有的源,主机会发送一个定义了具有空IP源地址列表的排除过滤器的成员关系报告报文。

192.168.1.1224.1.1.1192.168.1.2224.1.1.1R1R2R3加入192.168.1.1,224.1.1.1离开192.168.1.2,224.1.1.1224.1.1.1H1

图18 接受特定源的组信息

11

主机H1已经加入组224.1.1.1,但只希望收到从源192.168.1.1的传输。使用IGMPv3的机制,主机H1可以通过指定路由器R3,它只对信源192.168.1.1发至组224.1.1.1的组播传输感兴趣。因此路由器R3即可只对主机H1所感兴趣的源192.168.1.1所发送的组播信息进行转发,而对不感兴趣的源192.168.1.2进行抑制。

1.4 多播转发和路由选择信息

为什么多播路由选择如此困难呢?为什么不把传统的路由选择方法扩展成处理多播呢?答案是,多播路由选择和常规路由选择在基本方法上是不同的,因为多播转发与常规转发不同。为了展示其差别,可考虑在图14所示的结构上实现多播转发。

网络1224.1.1.1224.1.1.1H2网络3224.1.1.1RH3H4H5224.2.2.2224.2.2.2网络2H1H6224.2.2.2H7

图19 多播转发

即使对于图14所示的简单拓扑结构,多播转发也和单播转发不同。例如,该图显示了2个多播群组:H1、H2、H3组成的224.1.1.1群组和H4、H5、H6组成的224.2.2.2群组。为了避免不必要的浪费带宽,路由器根本不应该让发往224.1.1.1的分组通过网络2,但是主机可以在任何是否参加任何群组。

如果主机H5和H6各自给224.2.2.2发送一个数据报,路由器R将接受并转发这些数据报。因为2个数据报发往同一个群组,目的地址是相同的,但正确的转发动作不同:R把H5的数据报发往网络2,而把H6的数据报发送到网络1。当R接收到主机H1发往224.2.2.2的数据报时,采取了第3种动作:转发2个副本,一个给网络1,另一个给网络2。 IP允许任意主机(不一定是群组的成员)向群组发送数据报。在图中,虽然主机H7不是任何群组的成员,并且H7所在的网络没有224.1.1.1群组的成员,但是H7可以给224.1.1.1群组发送数据报。更重要的是,该数据报在通过互联网时,很可能穿过其他没有群组成员的网络。

通过上面的简单介绍可以总结出多播路由转发的特点: 一个应用程序加入或退出多播群组就会造成多播路由的变化。 多播转发时路由器要检查的不只是目的地址。

多播数据报可以从非多播群组成员的计算机发起,并且可能转发经过没有任何群组成员的网络。

12

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库IGMP Snooping原理及应用(3)在线全文阅读。

IGMP Snooping原理及应用(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/525047.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: