首页 > 其他分享 >IGMP V1

IGMP V1

时间:2023-12-12 19:31:49浏览次数:26  
标签:组播 报文 查询器 组成员 V1 查询 IGMP

IGMP原理与配置

      IGMP:因特网组管理协议,运行在成员端网络,最后一跳设备到组播组成员之间,用来感知组成员状态,以及建立维护组成员表项

               工作在网络层,IP协议为2

               现网IGMP存在三个版本:IGMPv1,IGMPv2,IGMPv3

                目前常用IGMPv2版本,华为设备默认IGMPv2版本

        IGMP协议能够建立IGMP组成员表项和IGMP组成员表项(*,G)协助PIM生成组播路由表项


—————————————————————————————IGMPv1

     报文:

   普遍组查询报文:IGMP查询器周期性(60s)发送该报文,用来查询该接口是否存在组成员,以及成员加入的组播组信息

  成员关系报告报文:组成员通过发送该报文来通知查询器自己加入组播组,并且携带加入的组播组信息

      字段:

IGMP V1_组播

  Version:IGMP版本

                  Type:报文类型

                  Unused:未使用,保留字段

                  Checksum:校验和字段

                  Group address:组播组地址字段

                           如果是普遍组查询报文该字段固定为0.0.0.0

                         如果是成员关系报告报文,该字段为成员加入的组播组地址


          普遍组查询报文原理:

1、 IGMP查询器会周期性(60S)朝224.0.0.1发送普遍组查询报文

其中组地址字段为0.0.0.0,用来查询该接口下是否存在组成员

2、 组成员收到查询报文后,会朝224.0.0.1回应成员关系报告报文

其中组播组地址字段为自己加入的组播组,用来通告自己加入的组播组信息

3、 IGMP查询器收到成员关系报告报文后,建立对应的IGMP组成员表项(组播组地址和接口),表项老化时间默认为130s

                                                    IGMP组成员表项老化定时器=周期性查询时间(60s)x健壮系数(2)+最大报告响应时间(10s)

           成员关系报告抑制:问题:

如果一个网段下存在多台相同组播组的成员,那么查询器在查询时会收到该组播组多个组成员的报告报文

但是实际上查询器并不关心该组播组成员数量,只关心是否存在组播组成员,无论组播组存在多少成员

IGMP查询器都是正常发送组播流量,收到多个报告报文,反而浪费资源

           

作用:

通过成员关系抑制机制,让一个组播组只由一个组成员进行报告报文的响应,节约网络资源

原理:

    组播组成员收到查询报文后,会启动最大响应时间定时器,0-10S随机值,定时器超时后会朝224.0.0.1发送成员关系报告报文进行响应

   携带加入的组播组地址,由于组播发送给224.0.0.1,所以网络中其他组播组成员也能收到该报文,收到后检查该报文加入的组播组和本设备加入的组播组是否相同

                               相同则说明其它成员已经进行响应,取消最大响应时间定时器,不再进行响应

                               不同则和自己没有关系,继续等待定时器老化进行报告响应

             成员加组主动发送报告:

                           成员加入组播组时,会立即主动发送成员关系报告报文,无需等待查询器的周期查询,加快组成员接收组播流量的时间

IGMP查询器选举:

                           问题:

                                   如果网络中存在多台运行IGMP的设备,每台设备都会周期性发送查询报文,浪费网络资源

                           作用:

                                   通过在网络中进行IGMP查询器选举,选举出唯一一台设备来进行查询报文的发送,该设备就叫IGMP查询器

                           选举:

                                    IGMPv1自身并不支持IGMP查询器的选举,直接将PIM的DR充当IGMPv1查询器

                           备注:

                                    IGMP查询器负责周期性发送查询报文,但是网络中所有 IGMP设备,设备都会建立对应的IGMP组成员表项

             组成员离开机制:静默离开

                           IGMPv1没有专门的离开报文和离开机制,成员离开采取静默离开,不发送任何报文

IGMP查询器只能等待表项130s老化才能感知到成员的离开,在该时间内组播组流量还在正常转发,造成资源浪费 

查询器需要检测机制发现组成员的离组:普遍组查询间隔时间60S x 健壮系数(2)+最大响应时间10S=130S

          查询器在130S内未收到关于组播组成员的报告报文,则认为该组不存在接收者,则删除IGMP组成员表,IGMP路由表

标签:组播,报文,查询器,组成员,V1,查询,IGMP
From: https://blog.51cto.com/u_15735404/8790402

相关文章

  • centos7搭建kubernetes-v1.25.1集群(Containerd作为运行时)
    集群配置节点名称内存硬盘处理器内核总数ipmaster6GB40GB6192.168.67.166node16GB40GB6192.168.67.167node26GB40GB6192.168.67.168一、所有节点更改镜像源curl-o/etc/yum.repos.d/CentOS-Base.repo二、所有节点安装docker,注意:K8s在1.24以上......
  • 云原生周刊:Kubernetes v1.29 新特性一览 | 2023.12.11
    开源项目推荐kubedogKubedog是一个用于在CI/CD部署管道中监视和跟踪Kubernetes资源的库。这个库被用于werfCI/CD工具中,在部署过程中跟踪资源。RunWhenLocalrunwhen-local是一个工具,用于在本地环境中运行runwhen脚本。runwhen是一个灵活的任务调度工具,可以根据条......
  • 部署 Argo Rollouts v1.6.3
    创建nsargo-rollouts#kubectlcreatenamespaceargo-rolloutsnamespace/argo-rolloutscreated安装 argo-rollouts#kubectlapply-nargo-rollouts-fhttps://github.com/argoproj/argo-rollouts/releases/latest/download/install.yamlcustomresourcedefinition.api......
  • Kylin Linux Advanced Server V10 上安装 Nacos详细步骤
    要在KylinLinuxAdvancedServerV10上安装Nacos,可以按照以下进行操作:1.安装JavaJDK:首先确保已在KylinLinuxAdvancedServerV10上安装了JavaJDK。你可以按照前面提到的步骤进行JDK的安装和配置。2.下载Nacos:前往Nacos的官方GitHub仓库(https://github.com/ali......
  • 小米澎湃 os 技术白皮书V1.0
    2023年对于小米而言,是开启全新发展周期的一年,也是一系列的深刻变革进入深水区之时。集团正处于一个全新殿堂的门槛上,全新阶段的起跑线上。这一年我们的关键词是“稳健推进,蓄势待发”,这一年里,我们要不断夯实基础、构建强化体系能力,为未来5-10年的长期发展打下坚实基础,并为未......
  • Veeam ONE v12.1 (Windows) - 监控和分析
    VeeamONEv12.1(Windows)-监控和分析VeeamDataPlatform|面向混合云和多云的备份和恢复监控和分析恢复编排请访问原文链接:https://sysin.org/blog/veeam-one-12/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVEEAMONE赶快主动缓解威胁吧检测恶意备份......
  • Veeam Backup & Replication v12.1 (Windows) - 备份和恢复
    VeeamBackup&Replicationv12.1(Windows)-备份和恢复VeeamDataPlatform|面向混合云和多云的备份和恢复监控和分析恢复编排请访问原文链接:https://sysin.org/blog/veeam-backup-12/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org全球首屈一指的备份和......
  • 基于 alientek rv1126 快速启动调试那的写坑
    基于alientekrv1126快速启动调试那的写坑1.sdk编制准备工作1.1编译配置修改首先拿到sdk通过修改一下相关配置1.1.1修改DDR配置cd/home/alientek/rv1126/rkbin/RKBOOTviRV1126MINIALL_EMMC_TB.ini​ 修改相关内容如下[CHIP_NAME]NAME=RV1126[VERSION]......
  • k8s 安装kubevirt v0.59.0 (k3s v1.26.4)
    1.安装kubevirt-operator.yaml(可以直接指定VERSION=v0.59.0-alpha.2;可以直接先在浏览器访问github下载yaml)exportVERSION=$(curl-shttps://api.github.com/repos/kubevirt/kubevirt/releases|greptag_name|grep-v--'-rc'|sort-r|head-1|awk-F':'&#......
  • RISC-V内核突破百亿颗 RVV1.0如何解锁端侧AI市场应用潜能
    RISC-V内核增长迅猛,2022年就实现了破百亿颗出货量。作为一款开源的RISC架构,其凭借轻量化、优秀的可扩展性与不断增强的软件兼容性吸引越来越多的企业采用。不断扩张的生态版图之下,RISC-V内核的增长曲线也愈发陡峭。根据RISC-V基金会的数据和预测,2022年采用RISC-V芯片架构的处理器......