• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

IP组播协议基础5IGMPv3

武飞扬头像
Mr_Shass
帮助5

IGMPv3

  • 兼容和继承 IGMPv1 和 IGMPv2 的基础上进一步增强了主机的控制能力。
  • 支持指定组播源/组播组功能(即主机在加入某组播组 G 的同时能够明确地要求接收或不接收某特定组播源 S 发出的组播信息。 这主要是为了配合 SSM 模型发展起来的,提供了在报文中携带组播源信息的能力,使组播成员能加入指定源的组播组。)
  • 在IGMPv3中一个成员报告报文可以携带多个组播组信息(而之前的IGMP版本一个成员报告只能携带一个组播组)
  • IGMPv3没有定义专门的成员离开报文,成员离开通过特定类型的报告报文来传达。例如组225.1.1.1的成员想离开这个组,则会发送:
    (225.1.1.1,CHANGE_TO_INCLUDE_MODE,(0))的报告报文,通过清空里面的指定组播源来预示要离开对应的组播组。

IGMPv3报文

IGMPv3报文也包含两大类:查询报文和报告报文。相较IGMPv2,其变化如下:
(1)查询报文中除了普遍组查询特定组查询新增了特定源组查询报文(Group-and-Source-Specific Query)。 该报文由查询器向共享网段内特定组播组成员发送,用于查询该组成员是否愿意接收特定组播源发送的数据。特定源组查询通过在报文中携带一个或多个组播源地址来达到这一目的。
(2)报告报文不仅通知路由器主机要加入某组播组,并且可以指定只接收哪些组播源发往该组的数据。 IGMPv3增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),将组播组与源列表之间的对应关系简单地表示为(G,INCLUDE,(S1、S2…)),表示只接收来自指定组播源S1、S2……发往组G的数据;或(G,EXCLUDE,(S1、S2…)),表示接收除了组播源S1、S2……之外的组播源发给组G的数据,即S1、S2……在接收范围之外。
(3)当组播组与组播源列表的对应关系发生了变化,在组播成员发给查询器的IGMPv3报告报文的组记录(Group Record)字段中做出相应变化。组记录有 6种类型,如下表(IGMPv3报告报文中的组记录类型)所示:
学新通

IGMPv3工作机制

在工作机制上,与IGMPv2相比,IGMPv3增加了主机对组播源的选择能力,包括特定源组加入和特定源组查询两方面。

(1)特定源组加入
IGMPv3的成员报告报文的目的地址为224.0.0.22代表同一网段所有使能IGMPv3的路由器,也是一个永久组播地址)。通过在报告报文中携带组记录,主机在加入组播组的同时能够明确要求接收,或不接收特定组播源发出的组播数据。如下图所示,网络中存在S1和S2两个组播源,均向组播组G发送组播数据,但Host仅希望接收从组播源S2发往组播组G的信息。
学新通
拓扑配置思路:
PIM-DM IGMPv3
1、IP配置
2、路由互通
3、路由器所有接口使能pim dm
4、R3与Host侧接口(g0/0/0)使能igmp,版本为3。
5、组播源(S1,S2)开启组播源应用
6、Host设置IGMPv3,加入组。
如果主机和路由器之间运行的是IGMPv1或IGMPv2,Host加入组播组G时无法对组播源进行选择,无论其是否需要,都会同时接收到来自组播源S1和S2的数据。但如果运行的是IGMPv3,Host可以选择仅接收来自S2的组播数据。具体有以下两种方法:

  • Host发送 IGMPv3报告(G,MODE_IS_INCLUDE,(S2)),明确指定仅接收组播源S2向组播组G(225.1.1.1)发送的数据。这种方法最彻底,不受后面新增组播源的影响,均只接收来自S2的数据。
    学新通
    学新通
    学新通
    可以看到,Host成功接收了来自S2的组播数据。

  • Host发送 IGMPv3报告(G,MODE_IS_EXCLUDE,(S1)),明确排除不接收指定源 S2向组播组G(225.1.1.1)发送的数据,这样一来就间接地预示着仅接收来自S1的组播数据。这种方法不彻底,因为如果网络中有新增的组播要向组播组G发送数据时仍不能被排除。
    学新通

学新通
学新通
可以看到,Host仍然接收来自S2的组播数据。

(2)特定源组查询
当查询器接收到改变组播组与组播源列表的对应关系的报告时(如前面表格所示的后4种报告报文),会向组播成员发送特定源组查询报文。如果组播成员希望接收其中任意一个源的组播数据,将反馈报告报文。路由器根据反馈的组成员报告更新该组对应的源列表。

  • 组成员离开
    起那么讲到,由于IGMPv3没有专门定义成员离开的报文,成员离开只能发送特定类型的报告报文来传达(G,CHANGE_TO_INCLUDE_MODE,(0))。

组成员离开前查看PIM路由表信息:
学新通
设置Host组播源地址为空,地址数量为0,报文类型选择TO_IN,使Host离开组播组225.1.1.1:
学新通
学新通
如上图所示,查询器收到来自Host的TO_IN报文后,会连续发送两次特定组源的查询报文给所有主机,查询是否还存在该组源的成员,若不存在则查询器将删除相应组源关系表项:
学新通

  • TO_EXCLUDE
    若将组源地址设为空,报文类型设置为TO_EXCLUDE,则主机将接收所有组播源的数据:
    学新通
    学新通
    另外,主机侧设置IGMPv3时组播组和组播源之间可以是一对多,多对一,多对多的配置,具体配置根据需求进行。
  • 一对多
    学新通
    学新通
  • 多对一
    学新通
    学新通
  • 多对多
    学新通
    学新通
    以上是IGMPv3的相关学习内容,在实际运用中,由于硬件版本问题,可能某些主机并不支持IGMPv3,但是成员又有只接受特定组数据的需求,此时,就需要在查询器上配置IGMP SSM Mapping功能,该功能将在下一篇文章中进行介绍。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfbjejf
系列文章
更多 icon
同类精品
更多 icon
继续加载