小结: IGMP协议
IGMP(Internet Group Management Protocol)协议详解
IGMP(Internet Group Management Protocol)是IPv4 组播(Multicast)通信的控制协议,主要用于主机和路由器之间的组播成员管理。IGMP 允许主机加入或离开组播组,路由器根据 IGMP 消息维护组播转发表,从而决定是否在某个网络接口上转发组播流量。
1. IGMP 作用
- 主机加入组播组(加入特定的组播地址)
- 主机离开组播组(通知路由器不再接收组播流量)
- 路由器维护组播成员关系(定期查询、更新组播组成员)
- 提高带宽利用率(仅向有需求的主机转发组播流量)
2. IGMP 版本
| IGMP 版本 | 标准 | 特点 |
|---|---|---|
| IGMPv1 | RFC 1112(1989) | - 组播成员定期报告 - 只有 Leave 机制(超时后删除成员) |
| IGMPv2 | RFC 2236(1997) | - 支持 Leave Group(更快离开组)- 组播查询器(Querier)选举 |
| IGMPv3 | RFC 3376(2002) | - 支持源特定组播(SSM,Source-Specific Multicast) - 允许主机指定要接收或屏蔽的源 IP |
注:IPv6 组播使用的是 MLD(Multicast Listener Discovery),而不是 IGMP。
3. IGMP 消息类型
IGMP 主要有以下几种消息类型:
| 消息类型 | 作用 | IGMP 版本 |
|---|---|---|
| Membership Query(成员查询) | 路由器询问哪些主机仍然需要某个组播流量 | IGMPv1、IGMPv2、IGMPv3 |
| Membership Report(成员报告) | 主机响应查询,报告自己要加入的组播组 | IGMPv1、IGMPv2、IGMPv3 |
| Leave Group(离开组) | 主机通知路由器自己不再需要某个组播流量 | IGMPv2、IGMPv3 |
🔹 IGMPv1 组播加入流程
- 主机发送 Membership Report(组播成员报告)
- 路由器收到后,向上游申请组播流量
- 主机不再需要时,不主动通知,路由器超时后移除
🔹 IGMPv2 组播离开流程
- 主机发送 Leave Group(离开组播组)
- 路由器发送 Group-Specific Query(特定组播查询)
- 如果没有主机回应,路由器移除该组播组
🔹 IGMPv3 的增强
- 支持源特定组播(SSM),可以选择性接收来自特定源的组播流量
- 支持“允许/拒绝特定源”,增加组播安全性和控制能力
4. IGMP 工作原理
🔹 组播成员管理流程
-
主机加入组播组
- 发送 IGMP Membership Report(组播成员报告)
- 路由器记录该主机的 IP,并请求上游设备转发组播流量
-
组播查询(定期维护)
- 组播路由器定期发送 IGMP Membership Query
- 组播成员响应 Membership Report,继续接收组播流量
- 若无响应,路由器删除该组播组
-
主机离开组播组
- IGMPv1:主机不发送 Leave,路由器超时后自动删除
- IGMPv2、IGMPv3:主机主动发送 IGMP Leave Group
- 路由器查询是否还有其他主机,若无,则删除该组播组
5. IGMP 配置(华为路由器示例)
🔹 开启 IGMP
system-view
interface GigabitEthernet 0/0/1igmp enable
在接口上启用 IGMP 监听功能
🔹 IGMP 版本设置
interface GigabitEthernet 0/0/1igmp version 2
指定 IGMP 版本(1、2 或 3)
🔹 配置 IGMP 组播成员
interface GigabitEthernet 0/0/2igmp static-group 239.1.1.1
使接口永久加入组播组 239.1.1.1
🔹 组播查询器配置
interface GigabitEthernet 0/0/1igmp query-interval 60
设置 IGMP 查询器(Querier)定期查询间隔为 60 秒
6. IGMP 与 PIM 组播协议
IGMP 管理主机和路由器之间的组播成员,但不负责组播路由转发。组播路由协议(如 PIM)负责在路由器之间转发组播流量。
| 协议 | 作用 |
|---|---|
| IGMP | 组播成员管理(主机 ↔ 路由器) |
| PIM(Protocol Independent Multicast) | 组播路由协议(路由器 ↔ 路由器) |
🔹 组播协议如何协作
- IGMP 让主机加入组播组(主机 ↔ 组播路由器)
- PIM 负责组播流量转发(路由器 ↔ 其他组播路由器)
- 最终路由器通过 IGMP 把组播流量发送到主机
7. IGMP 组播优化与问题
🔹 IGMP Snooping(监听)
- 作用:在二层交换机上控制组播流量,仅向需要的端口转发组播流量
- 命令:
system-view interface VLAN10igmp-snooping enable - 优势:避免组播流量泛洪,优化带宽利用率
🔹 IGMP 常见问题
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 主机无法接收组播流量 | IGMP 版本不匹配 | igmp version 2 |
| 组播流量泛洪 | 交换机未开启 IGMP Snooping | igmp-snooping enable |
| 组播延迟高 | 组播查询间隔过长 | igmp query-interval 30 |
8. 结论
| 知识点 | 核心内容 |
|---|---|
| IGMP 作用 | 让主机加入/离开组播组,通知路由器转发组播流量 |
| IGMP 版本 | IGMPv1(超时离开)、IGMPv2(快速离开)、IGMPv3(支持 SSM) |
| IGMP 工作机制 | 查询器发送 Membership Query,主机发送 Report,路由器维护组播成员 |
| IGMP 配置 | igmp enable,igmp static-group,igmp version 2 |
| IGMP Snooping | 交换机监听 IGMP,防止组播流量泛洪 |
🚀 IGMP 是组播网络的基础,结合 PIM 和 IGMP Snooping 可优化组播流量传输!
相关文章:
小结: IGMP协议
IGMP(Internet Group Management Protocol)协议详解 IGMP(Internet Group Management Protocol)是IPv4 组播(Multicast)通信的控制协议,主要用于主机和路由器之间的组播成员管理。IGMP 允许主机…...
Dify 本地部署教程
目录 一、下载安装包 二、修改配置 三、启动容器 四、访问 Dify 五、总结 本篇文章主要记录 Dify 本地部署过程,有问题欢迎交流~ 一、下载安装包 从 Github 仓库下载最新稳定版软件包,点击下载~,当然也可以克隆仓库或者从仓库里直接下载zip源码包。 目前最新版本是V…...
ConcurrentHashMap从源码总结使用注意事项(源码)
ConcurrentHashMap实现原理 目录 ConcurrentHashMap实现原理核心源码解读(1)数据结构: 采用数组链表/红黑树(2)初始化(3)并发扩容(4)put 操作流程(5)计数 siz…...
前端 UI 框架发展史
上一小节我们了解了前端 UI 框架的作用和意义,接下来我们再来了解前端 UI 框架的发展历史。 虽然是讲历史,但我不想讲得太复杂,也不打算搞什么编年史记录啥的,毕竟我们不是来学历史的。 我会简单描述一下前端 UI 框架的发展历程…...
【工控】线扫相机小结 第五篇
背景介绍 线扫相机通过光栅尺的脉冲触发, 我在调试线扫过程中,发现图像被拉伸,预设调节分配器。图像正常后,我提高的相机的扫描速度(Y轴动的更快了)。 动的更快的发现,图像变短了(以…...
AI与SEO关键词智能解析
内容概要 人工智能技术正重塑搜索引擎优化的底层逻辑,其核心突破体现在关键词解析维度的结构性升级。通过机器学习算法对海量搜索数据的动态学习,AI不仅能够识别传统TF-IDF模型中的高频词汇,更能捕捉语义网络中隐含的关联特征。下表展示了传…...
STM32---FreeRTOS消息队列
一、简介 1、队列简介: 队列:是任务到任务,任务到中断、中断到任务数据交流的一种机制(消息传递)。 FreeRTOS基于队列,实现了多种功能,其中包括队列集、互斥信号量、计数型信号量、二值信号量…...
开关模式电源转换器 EMI/EMC 的集成仿真
介绍 在电力电子领域,电磁干扰 (EMI) 和电磁兼容性 (EMC) 问题可以决定设计的成败。开关模式电源转换器虽然高效且紧凑,但却是电磁噪声的常见来源,可能会对附近的组件和系统造成严重破坏。随着…...
Java虚拟机之垃圾收集(一)
目录 一、如何判定对象“生死”? 1. 引用计数算法(理论参考) 2. 可达性分析算法(JVM 实际使用) 3. 对象的“缓刑”机制 二、引用类型与回收策略 三、何时触发垃圾回收? 1. 分代回收策略 2. 手动触发…...
linux---天气爬虫
代码概述 这段代码实现了一个天气查询系统,支持实时天气、未来天气和历史天气查询。用户可以通过终端菜单选择查询类型,并输入城市名称来获取相应的天气信息。程序通过 TCP 连接发送 HTTP 请求,并解析返回的 JSON 数据来展示天气信息。 #in…...
字节顺序(大小端序)
在弄明白字节顺序之前先了解一下一些基础概念. 基础概念 字节(byte): 字节是计算机中数据处理的基本单位,通常由8个位组成,即1字节等于8位。一个字节可以存储一个ASCII码,两个字节可以存放一个汉字国标…...
可复用的 Vue 轮播图组件
大家好,今天我想和大家分享一下如何开发一个通用的 Vue 轮播图组件。轮播图在各种网站中都很常见,无论是展示产品、活动还是文章,都能派上用场。我们今天要实现的这个组件会具备良好的可配置性和易用性,同时保证代码的可维护性。 …...
AI编程: 一个案例对比CPU和GPU在深度学习方面的性能差异
背景 字节跳动正式发布中国首个AI原生集成开发环境工具(AI IDE)——AI编程工具Trae国内版。 该工具模型搭载doubao-1.5-pro,支持切换满血版DeepSeek R1&V3, 可以帮助各阶段开发者与AI流畅协作,更快、更高质量地完…...
Linux红帽:RHCSA认证知识讲解(五)从红帽和 DNF 软件仓库下载、安装、更新和管理软件包
Linux红帽:RHCSA认证知识讲解(五)从红帽和 DNF 软件仓库下载、安装、更新和管理软件包 前言一、DNF 软件包管理基础1.1 核心操作命令安装软件包卸载软件包重新安装软件包 1.2 软件仓库原理 二、配置自定义软件仓库步骤 1:清理默认…...
云上特权凭证攻防启示录:从根账号AK泄露到安全体系升级的深度实践
事件全景:一场持续17分钟的云上攻防战 2025年3月9日15:39,阿里云ActionTrail日志突现异常波纹——根账号acs:ram::123456789:root(已脱敏)从立陶宛IP(164.92.91.227)发起高危操作。攻击者利用泄露的AccessKey(AK)在17分钟内完成侦察→提权→持久化攻击链,完整操作序列…...
从3b1b到课堂:教育3D化的理想与现实鸿沟
从3b1b到课堂:教育3D化的理想与现实鸿沟 3Blue1Brown(3b1b)凭借精妙的三维动画与直观的知识可视化,重新定义了数学教育的可能性。然而,当前教育实践中,3D技术的渗透仍显不足,多数课堂停留在平面…...
FPGA入门教程
引言 FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种灵活且强大的硬件设备,广泛应用于数字电路设计、信号处理、嵌入式系统等领域。与传统的ASIC(专用集成电路)不同,FPGA允许用户…...
Liunx系统 : 进程间通信【IPC-Shm共享内存】
文章目录 System V共享内存创建共享内存shmget 控制共享内存shmctl shm特性 System V System V是Liunx中的重要的进程间通信机制,它包括(shm)共享内存,(msg)消息队列和(sem)信号量。…...
KafkaRocketMQ
Kafka 消息生产与消费流程 1. 消息生产 生产者创建消息: 指定目标 Topic、Key(可选)、Value。可附加 Header 信息(如时间戳、自定义元数据)。 选择分区(Partition): 若指定 Key&am…...
HarmonyOS Next 中的状态管理
在声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染,在ArkU…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
