IGMPv1,v2,v3详解

这篇具有很好参考价值的文章主要介绍了IGMPv1,v2,v3详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介-IGMP

IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

IGMP协议运行在主机与组播路由器之间。

IGMP协议的作用:

  • 主机侧:通过IGMP协议向路由器通告组成员关系;

  • 路由器侧:通过IGMP协议维护组成员关系。

IGMP查询器(Querier):在多路访问网络中发送查询报文的路由器(IGMP报文是组播报文,因此只需要一个组播路由器来担任IGMP查询器)。

IGMPv1

1.1 IGMPv1支持的两种报文类型:

普遍组查询报文(General Query):路由器周期性地向224.0.0.1地址(表示同一网段内所有足迹和路由器)发送通用查询报文,默认查询周期为60秒,发送周期可配置。

成员关系报告报文(Membership Report):主机向查询器发送的报告报文,用于加入某个组播组或者应答查询报文。

1.2 IGMPv1工作机制:

IGMPv1,v2,v3详解

  • 普遍组查询与响应;

  • 响应抑制机制。

如上图所示(图中接口使能IGMP),假如PC1和PC3都想接收组播组G1的数据,而PC2想接收组播组G2的数据,则普遍组查询与响应机制如下:

  • AR1发送目的地址为224.0.0.1的普遍组查询报文(缺省情况下每隔60秒发送一次,可配置)。

  • 收到该查询报文的组成员启动定时器。PC1和PC3是组播组G1的成员,则在本地启动定时器Timer-G1,PC2是组播组G2的成员,本地启动定时器Timer-G2。定时器的范围是0~10秒之间的随机值,定时器先超时的主机发送针对该组的成员报告报文。假设PC1的定时器Timer-G1先超时,则向该网段发送目的地址为G1的成员报告报文,PC2的定时器Timer-G2超时,向该网段发送目的地址为G2的成员报告报文。

  • PC3侦听到PC1的成员报告报文,发现要加入同一组播组。则停止定时器Timer-G1,不再发送针对G1的成员报告报文,这就是响应抑制机制,可以减少网段上的协议流量。

  • AR1接收到成员报告报文后,了解到本网段内存在组播组G1和G2的成员,一旦AR1收到G1和G2的组播数据,将向该网段转发。

1.3 IGMPv1成员加入

① 主机申请加组

IGMPv1,v2,v3详解

新接入主机PC4想加入组播组G3,为了快速接收组播数据,不等待普遍组查询报文, 而立即发送G3的成员报告报文。AR1收到成员报告报文后,了解到本网段内出现了组播组 G3的成员。一旦有G3的组播数据到达AR1,将向该网段转发。

1.4 IGMPv1存在问题

问题一:查询器选举依赖于组播报文协议

IGMPv1,v2,v3详解

多台路由器同时连接到同一接收端网络时,只需要有一台路由器进行IGMP的查询。

IGMPv1无查询路由器选举机制,其依赖于组播路由协议在末端网络中选举一个查询器。由于不同的组播路由协议采用不同的选举机制,所以在IGMPv1中,同一末端网络中可能会存在多台查询器。

问题二:组成员离开为静默离开

IGMPv1,v2,v3详解

IGMPv1没有专门定义离开组消息。

当Client离开组播组时,将不会再对普遍组查询报文做出回应。假设所有Client退出组播组,Client将不再对普遍组查询报文进行响应。由于网段上不存在组播组的其他成员,RTA不会收到任何成员报告报文,则组成员关系超时(130秒=120*2+10,组成员关系超时时间=IGMP普遍查询消息发送间隔 × 健壮系数 + 最大查询响应时间)后,删除对应的组播转发项。

IGMPv2

2.1 IGMPv2对IGMPv1的改进

改进1:组成员离开

IGMPv1,v2,v3详解

如图所示,在IGMPv2中,Client B离开组播组G2的过程如下:

Client B向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送针对组G2的离开报文。

查询器收到离开报文,会发送针对G2的特定组查询报文,同时启动组成员关系定时器Timer-Membership=发送间隔x发送次数。缺省每隔1秒发送一次,一共发送两次,发送间隔和发送次数可以配置。

如果网段内不存在其他组G2的成员,则路由器不会收到组G2的成员报告报文。在Timer-Membership超时后,删除组播转发表项中对应的下游接口。路由器将不再向该网段转发G2的组播数据。如果网段内还有G2的其他成员,则这些成员在收到特定组查询报文后,会在最大响应时间内发送G2的成员报告报文。路由器继续向该网段转发G2的组播数据。

改进2:独立的查询器选举机制

IGMPv1,v2,v3详解

相对于IGMPv1,IGMPv2使用独立的查询器选举机制。

所有IGMPv2路由器在初始状态时都认为自己是查询器,向本地网段内的所有主机和路由器 发送普遍组查询报文。其他路由器在收到该报文后,将报文的源IP地址与自己的接口地址 作比较。IP地址最小的路由器将成为查询器,其他路由器成为非查询器。如图所示,RTA 的接口IP地址小于RTB的接口IP地址,则RTA当选为查询器。IGMP的查询器和非查询器都 会处理IGMP组加入信息,但是只有查询器负责发送查询报文。IGMP非查询器不处理 IGMPv2离开报文。

所有非查询器上都会启动一个定时器。如果在该定时器超时前收到了来自查询器的查询报 文,则重置该定时器;否则就认为原查询器失效并发起新的查询器选举。

2.2 IGMPv2和IGMPv1报文比较

IGMPv1,v2,v3详解

IGMPv1报文:

  • 版本:包含IGMP版本标识,因此设置为1。

  • 类型:普遍组查询 (0x11),成员关系报告 (0x12)。

  • 组地址:普遍组查询报文中,组地址为0;成员关系报告报文中,组地址为成员想要加入的组播组的地址。

IGMPv2报文:

IGMPv2报文与IGMPv1报文略有不同,它取消了版本字段,增加了最大响应时间字段。

  • 类型:相比于IGMPv1,IGMPv2新增了两种报文:

  • 特定组查询报文(0x11):查询器向共享网段内指定组播组发送的查询报文,用于查询该组播组是否存在成员。

  • 成员离开报文(0x17):成员离开组播组时主动向路由器发送的报文,用于宣告自己离开了某个组播组。

最大响应时间:表示主机响应查询返回报告的最大时间。

  • 对于普遍组查询,最大响应时间默认为10秒。

  • 对于特定组查询,最大响应时间默认为1秒。

组地址:

  • 普遍组查询报文中,组地址设置为0。

  • 特定组查询报文中,组地址为需要查询的组地址。

  • 在成员报告或离开组的消息中,组地址为需要报告或离开的组地址。

IGMPv3

3.1 SSM模型的新需求:只接收特定源发送的组播数据

IGMPv1,v2,v3详解

如果Client A和RTC之间运行的是IGMPv1或IGMPv2,Client A无法对组播源进行选择,无论其是否需要,都会同时接收到来自组播源Source A和Source B的数据。

为了满足SSM模型的新需求,IGMPv3提供了在报文中携带指定组播源信息的能力。

3.2 IGMPv3工作机制

IGMPv1,v2,v3详解

为了满足SSM模型中的新需求,与IGMPv2相比,IGMPv3报文的变化如下:

① IGMPv3报文包含两大类:查询报文和成员报告报文。IGMPv3没有定义专门的成员离开报文,成员离开通过特定类型的报告报文来传达。查询报文中不仅包含普遍组查询报文和特定组查询报文,还新增了特定源组查询报文。

②(Group-and-Source-Specific Query)。该报文由查询器向共享网段内特定组播组成员发送,用于查询该组成员是否愿意接收特定源发送的数据。特定源组查询通过在报文中携带一个或多个组播源地址来达到这一目的。

③ 成员报告报文不仅包含主机想要加入的组播组,而且包含主机想要接收来自哪些组播源的数据。IGMPv3增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),将组播组与源列表之间的对应关系简单的表示为(G,INCLUDE,(S1、S2...),表示只接收来自指定组播源S1、S2……发往组G的数据;或(G,EXCLUDE,(S1、S2...),表示接收除了组播源S1、S2……之外的组播源发给组G的数据。当组播组与组播源列表的对应关系发生了变化,IGMPv3报告报文会将该关系变化存放于组记录(Group Record)字段,发送给IGMP查询器。

④ 在IGMPv3中一个成员报告报文可以携带多个组播组信息,而之前的版本一个成员报告只能携带一个组播组。这样在IGMPv3中报文数量大大减少。

IGMP各版本之间的差异

IGMPv1,v2,v3详解

 IGMPv1,v2,v3详解

IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了查询器选举和组成员离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。三个版本在演进过程中对协议报文的处理是向前兼容的,因此尽管各个版本的协议报文格式不同,但是运行IGMP高版本的路由器可以识别低版本的IGMP报文。

所有IGMP版本都支持ASM(Any-Source Multicast)模型。IGMPv3可以直接应用于SSM(Source-Specific Multicast)模型,而IGMPv1和IGMPv2则需要IGMP SSM Mapping技术的支持才可以应用于SSM模型。文章来源地址https://www.toymoban.com/news/detail-490278.html

到了这里,关于IGMPv1,v2,v3详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MobileNet(V1、V2、V3)入门

    可以很好的使用在移动设备上做分类、检测、分割等任务 第一步:有多少个输入,就有多少个输出,这一步用来提取特征,然后使用1x1的过滤器增加通道数 第二步:在这一步进行1x1卷积,相当于分成两步提取特征 虽然麻烦了,但是可以减少参数量和计算量,均可以减少到卷

    2024年02月03日
    浏览(25)
  • Chrome扩展V2到V3的变化

    Chrome扩展manifest V3变化、升级迁移指南_chrome_ZK645945-华为云开发者联盟 (csdn.net) browser_action 改 为 action。

    2024年02月07日
    浏览(31)
  • 微信支付V2和V3的区别

    微信支付现在分为v2版和v3版 2014年9月10号之前申请的为v2版(旧版本),之后申请的为v3版。 V2版中的参数有 AppID AppSecret 支付专用签名串PaySignKey 商户号PartnerID 初始密钥PartnerKey 并且包含一个证书文件: 安全证书 V3版中的参数有 AppID AppSecret 商户号PartnerID 初始密钥PartnerKey 商户

    2024年02月09日
    浏览(29)
  • 我对DeepLab V3的理解(基于V1和V2)

    一、概述 1.前言 1.1 DeepLab v1 创新点: 空洞卷积(Atrous Conv); 解决编码过程中信号不断被下采样,细节丢失的问题 全连接条件随机场(Fully-connected Conditional Random Field)。 由于conv层提取的特征具有平移不变性,这就限制了定位精度。因此引入全连接CRF来提高模型捕获结构信息

    2024年02月11日
    浏览(19)
  • MobileNet v1&v2&v3 创新点及结构简述

    一、背景 二、MobileNet v1 1. 网络创新点 2. 网络结构 三、MobileNet v2 1. 网络创新点 2. 网络结构 四、MobileNet v3 1. 网络创新点 2. 网络结构 MobileNet v1是由google团队在2017年提出的, 专注于移动端或者嵌入式设备中的轻量级CNN网络。 相比传统卷积神经网络,在准确率小幅降低的前提下

    2024年02月09日
    浏览(32)
  • 微信支付开发 认清微信支付v2和v3

    2014年9月10号之前申请的为v2版(旧版本),之后申请的为v3版。 V2版中的参数有 AppID AppSecret 支付专用签名串PaySignKey 商户号PartnerID 初始密钥PartnerKey 并且包含一个证书文件: 安全证书 V3版中的参数有 AppID AppSecret 商户号PartnerID 初始密钥PartnerKey 商户号MCHID 申请编号 商户平台登

    2023年04月08日
    浏览(35)
  • Linux服务器snmp协议v2/v3配置方法

    1、确保本机已经安装了snmp服务 [root@idc ~]# rpm -qa |grep snmp net-snmp-libs-5.1.2-11.EL4.7 net-snmp-5.1.2-11.EL4.7 如果没有,可以使用: “yum install net-snmp” 使其自动上网下载安装。如果机器无法上网,最好使用光盘rpm包安装,一般需要安装三个文件: vi /etc/snmp/snmpd.conf net-snmp lm_sensors_libs

    2024年02月05日
    浏览(28)
  • 云之道知识付费V2小程序V3.2.6独立版源码

    云之道知识付费小程序是一款专注于知识付费的小程序源码,为内容创业者、自媒体和教育培训机构提供全方位的互联网解决方案。   由小编全套安装云之道知识付费V2独立版系统,系统支持无限多开,相比上几版出现的BUG,后台增加正常站点什么都正常。整体从后台体验至

    2024年02月06日
    浏览(37)
  • LwIP系列(3):以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式详解

    TCP/IP 本质上是软件协议,而LwIP也是对软件协议进行解析处理,所以我们有必要了解下以太网帧、IP、TCP、UDP、IGMP、ICMP帧格式,这样在代码中,才能有的放矢。 以太网帧是最底层的原始数据,帧框架如下图所示: 其中【前同步码】和【以太网尾部】我们在抓包的时候,并不

    2024年02月14日
    浏览(36)
  • MoblieNetV1、V2、V3、ViT四种Moblie模型的分析对比

    2017年提出,论文地址为:https://arxiv.org/pdf/1704.04861.pdf 1.1 相关知识 提到了标准卷积、深度可分卷积、点卷积,并分析了不同卷积结构的计算量,(假设 D k D_k D k ​ 为ksize,M为卷积的输入层通道数,N为卷积的输出层通道数, D f D_f D f ​ 位feature map的size)。 标准卷积 涉及到

    2024年02月12日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包