组播基础-2-IGMP协议
文章目录
- IGMP
- IGMPv1
- IGMPv2
- IGMPv3
- IGMP总结
- IGMP Snooping
IGMP
运行于主机和路由器之间
因特网组管理协议,TCP/IP 协议族中负责 IP 组播成员管理的协议,用来在接收者与其他直接相邻的组播路由器之间建立、维护组播组成员关系
- 负责组播成员管理,运行在主机和组播路由器之间
- 主机侧:通过IGMP向路由器通告组成员关系
- 路由器侧:通过IGMP协议维护组成员关系
- 所有IGMP版本都支持ASM模型 - IGMPv3可以直接应用于SSM模型,而 IGMPv1 和 IGMPv2 则需要 SSM-Mapping 技术的支持 - 运行 IGMP 高版本的路由器可以识别低版本的成员报告(向前兼容)
组播组管理协议工作机制:
- 主机加入或离开组播组
- 路由器维护组播组
- 查询器选举
- 成员报告抑制
IGMPv1
定义基本的组成员查询和报告过程
类型
- 成员关系查询 0x11
- 成员关系查询 0x12
组地址
- 当一个成员关系报告正被发送时,组地址字段包含组播地址
- 当用于成员关系查询时,本字段为0,并被主机忽略
路由器周期性发送成员关系查询,默认查询周期为 60s,
成员关系报告的发送可以被动发送也可主动发送
被动发送:主机收到成员关系查询消息后,发送成员关系报告
主动发送:主机主动发送成员关系报告工作机制
- 普遍组查询与响应
- 响应抑制机制(当发现已经有人向自己感兴趣的组发送过数据之后,本地这边就不会再次发送报告)
每个收到查询的主机会启动一个计时器,默认0——10秒随机值,超时后发送报告
静默离开
记时130秒,即组成员关系超时时间=IGMP普遍查询消息发送间隔 x 健壮系数 + 最大查询响应时间
查询器选举
查询器依靠组播路由协议PIM,PIM中选择的DR会充当IGMPv1里面的查询器
IGMPv2
IGMPv2为默认版本,在IGMPv1的基础上添加了查询器选举和离开组机制
类型
- 成员关系查询 0x11
常规查询:用于确定哪些组播组有效,该组播组是否还有成员在使用,常规查询地址全零表示
指定组查询:用于查询特定的组播组是否还有组成员,在一台设备发送离开报文后进行特定查询该组是否还有使用者两次- 版本2的成员关闭报告 0x16;版本1的成员关系报告 0x12
- 离开组信息 0x17
组地址
- 在成员查询消息中,发送一个常规查询时组地址设为0,当发送一个特定组查询时,则应设置为组的地址
- 在成员报告或离开组的消息中,组的地址保留了要报告或要离开的地址
IGMPv2增加了最大响应时间字段,以动态地调整主机对组查询报文的响应时间
工作机制
- 独立的查询器选举机制
- 存在多个组播源的时候IP地址小的获胜,成为查询者,进行普遍组查询
IGMPv3
成员可以指定接受或不接受某个组播源的报文
- 服务于 SSM 模型
- 增加了主机的控制能力,对组播源进行过滤
- 取消了成员报告抑制机制
- 过滤模式包含 Include 和 Exclude
工作机制
- 周期性地向 224.0.0.1 发送普通查询
- 接受端发送成员报告,指出希望加入或拒绝某些组播发送的数据
- 独立的查询器选举机制
- 存在多个组播源的时候IP地址小的获胜,成为查询者,进行普遍组查询
IGMPv3主机发送类型
组数和地址数为1
- Mode Is Include:接收从指定源列表发往该组播组的数据
- Mode Is Exclude:不接收源地址列表中包含的源发往该组的组播数据
- Change To Include Mode:表示组播组与源列表之间的对应方式由EXCLUDE转换到INCLUDE
- Change To Exclude Mode:表示组播组与源列表之间的对应方式由INCLUDE转换到EXCLUDE
- Allow New Source:现有基础上,还希望从某些组播源接收组播数据
- Block Old Sources:现有基础上,不再希望从某些组播源接收组播数据
特定源组查询
无离开报文,通过这种方式进行离开
- 针对某个源某个组进行特定组的查询,确保组还有成员在使用
IGMP总结
机制 IGMPv1 IGMPv2 IGMPv3 查询器选举 依靠其他协议 自己选举 自己选举 普遍组查询 支持 支持 支持 成员报告报文 支持 支持 支持 特定组查询报文 不支持 支持 支持 成员离开方式 静默离开 主动发送离开报文 未定义专门的离开报文,通过特定类型的报告报文传达 特定源、组查询报文 不支持 不支持 支持 指定组播源 不支持 不支持 支持 可识别协议报文 IGMPv1 IGMPv1 IGMPv2 IGMPv1 IGMPv2 IGMPv3 ASM模型 支持 支持 支持 SSM模型 需要IGMP Mapping 需要IGMP Mapping 支持
IGMP Snooping
组播数据在二层被泛洪
- 网络资源浪费
- 存在安全隐患
IGMP Snooping概述
- 解决组播报文在二层泛洪的问题
- 运行在数据链路层,是二层交换机上的组播约束机制,用于管理和控制组播组
- 通过监听 IGMP 报文,建立组播MAC地址表
端口角色
路由器端口:接受组播数据----上游接口
- 收到源地址不为 0.0.0.0 的 IGMP 普遍组查询报文或PIM Hello 报文的接口都将被叫做动态路由器端口
- 手工配置的路由器端口叫做静态路由器端口
成员端口:发送组播数据----下游接口
- 收到 IGMP Report 报文的接口,叫做动态成员端口
- 手动配置的成员叫做静态成员端口
工作原理
启用 IGMP Snooping 机制后,查询响应仅向路由器接口转发
模拟器环境会出现BUG,报告可以,但是普遍组查询和离开报文会被隔离,这种情况要想实现 IGMP 操作就需要在组管理设备上配置静态的 IGMP表项
相关文章:
组播基础-2-IGMP协议
文章目录 IGMPIGMPv1IGMPv2IGMPv3IGMP总结IGMP Snooping IGMP 运行于主机和路由器之间 因特网组管理协议,TCP/IP 协议族中负责 IP 组播成员管理的协议,用来在接收者与其他直接相邻的组播路由器之间建立、维护组播组成员关系 负责组播成员管理…...
基于Springboot+Vue的视频点播系统设计与实现登录 (含源码数据库)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…...
执行力怎么培养?
执行力怎么培养? 并行:适合在初期养成习惯,不抱对结果的期望天才就是强迫症:适合中期修身:适合高级 并行:适合在初期养成习惯,不抱对结果的期望 在你开始做任何事情的时候,不要一开…...
Power apps:一次提交多项申请
1、添加一个Form,导入sharepoint列表,添加确认,继续,取消按钮 2、在页面的onvisible属性中添加 Set(applynumber,Last(付款申请表).申请编号1); #定义一个申请编号变量,每次申请,就将列表最后一个…...
Oracle数据库物理结构操作管理
实验步骤 (1)查询数据库初始化参数中参数名包含sga的参数的名称、值和描述信息。 SQL> select name,value,description from V$PARAMETER where name like %sga%; (2)设置sga_max_size的大小为1G SQL> alter system set sg…...
Python自然语言处理之spacy模块介绍、安装与常见操作案例
文章目录 spacy模块介绍安装spacy常见操作案例及代码1. 加载模型并处理文本2. 词性标注3. 命名实体识别4. 依存句法分析5. 可视化(在Jupyter Notebook中) spacy模块介绍 spacy是一个强大的Python库,用于自然语言处理(NLP…...
DSPy101
DSPy 介绍 DSPy(Declarative Self-improved Language Programs in Python) 是一个用于系统化和增强在流水线内使用语言模型的框架,它通过数据驱动和意图驱动的系统来优化大型语言模型(LLM)的使用。 DSPy 的核心是模块…...
网格交易策略:从原理、应用到实战Python回测
01 引言 随着金融市场的快速发展,量化交易成为投资者追求收益的一种重要手段。在众多的量化交易策略中,网格交易策略(Grid Trading Strategy)因其简单易用、风险控制灵活等优点而备受青睐。网格交易策略的核心思想是“低买高卖”&…...
软考论文《论大数据处理架构及其应用》精选试读
论文真题 模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型…...
fatfs API使用手册
配置 /*---------------------------------------------------------------------------/ / Configurations of FatFs Module /---------------------------------------------------------------------------*/#define FFCONF_DEF 80286 /* Revision ID *//*---------------…...
9.23作业
仿照string类,自己手动实现 My_string 代码如下 MyString.h #ifndef MYSTRING_H #define MYSTRING_H #include <iostream> #include <cstring>using namespace std;class My_string { private:char *ptr; //指向字符数组的指针int size; …...
Unity3D 房间去重叠化算法详解
前言 在Unity3D游戏开发中,经常需要生成和处理多个房间的场景,特别是在地牢生成、房屋布局或迷宫设计等应用中。为了确保生成的房间不会重叠,我们需要一种有效的去重叠化算法。以下将详细介绍该算法的原理和代码实现。 对惹,这里有…...
mybatis 配置文件完成增删改查(五) :单条件 动态sql查询,相当于switch
文章目录 单条件 动态sql查询写测试方法 疑问总结 单条件 动态sql查询 <select id"selectByConditionBySingle" resultMap"brandResultMap">.select *from tb_brandwhere<choose>/*相当于switch*/<when test"status ! null">…...
全球IP归属地查询-IP地址查询-IP城市查询-IP地址归属地-IP地址解析-IP位置查询-IP地址查询API接口
IP地址城市版查询接口 API是指能够根据IP地址查询其所在城市等地理位置信息的API接口。这类接口在网络安全、数据分析、广告投放等多个领域有广泛应用。以下是一些可用的IP地址城市版查询接口API及其简要介绍 1. 快证 IP归属地查询API 特点:支持IPv4 提供高精版、…...
Vue3+FastAPI中Token的刷新机制(含代码示例)
在Vue3和FastAPI的应用中,token刷新机制通常涉及以下几个步骤: 登录过程:用户登录时,后端FastAPI验证用户信息,验证通过后生成一个访问令牌(access token)和一个刷新令牌(refresh t…...
【GAN 图像生成】
理论知识学习: PART 1: 生成对抗网络GAN 深度学习模型,用于生成数据 对抗式训练,生成器v判别器 DCGAN>WGAN>StyleGAN技术不断进化 GAN在艺术创作。数据增强领域应用越来越广泛 应用: GAN在图像合成&#x…...
【自然语言处理】词嵌入模型
词嵌入(Word Embedding) 是一种将词汇表示为实数向量的技术,通常是低维度的连续向量。这些向量被设计为捕捉词汇之间的语义相似性,使得语义相似的词在嵌入空间中的距离也更近。词嵌入可以看作是将离散的语言符号(如单词…...
了解针对基座大语言模型(类似 ChatGPT 的架构,Decoder-only)的重头预训练和微调训练
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 随着自然语言处理(NLP)技术的飞速进步,基于 Transformer 架构的大语言模型在众多任务中取得了显著成就。特别是 Decoder-only 架构,如 GPT 系列模型&…...
cmake如何在编译时区分-std=c++17和-std=gnu++17?检查宏
如何在编译时区分-stdc17和-stdgnu17?检查宏?-腾讯云开发者社区-腾讯云 我正在使用__int128扩展的g。-stdc17的问题是,一些C库不具备对该扩展的全部支持(即std::make_unsigned<>失败)。当使用-stdgnu17时,它工作得很好。 我…...
速通数据结构与算法第七站 排序
系列文章目录 速通数据结构与算法系列 1 速通数据结构与算法第一站 复杂度 http://t.csdnimg.cn/sxEGF 2 速通数据结构与算法第二站 顺序表 http://t.csdnimg.cn/WVyDb 3 速通数据结构与算法第三站 单链表 http://t.csdnimg.cn/cDpcC 4 速通…...
终极frpc-desktop版本发布checklist:确保质量的10个关键步骤
终极frpc-desktop版本发布checklist:确保质量的10个关键步骤 frpc-desktop是一款FRP跨平台桌面客户端,通过可视化配置帮助用户轻松实现内网穿透。本文将分享确保版本发布质量的10个关键步骤,帮助开发团队打造稳定可靠的桌面应用。 1. 版本号…...
从基础循迹到圆环挑战:红外传感器的进阶应用
1. 红外传感器循迹基础:从单传感器到多传感器布局 第一次接触红外循迹时,我和大多数新手一样,以为只要一个传感器就能搞定所有场景。实际测试后发现,单个传感器确实能实现基本的直线循迹,但就像骑独轮车走钢丝…...
如何用插件化架构实现跨平台音乐数据智能统一?
如何用插件化架构实现跨平台音乐数据智能统一? 【免费下载链接】MusicFree 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/mu/MusicFree 你是否曾经在网易云音乐收藏了一首好歌,想在QQ音乐上听却发现歌…...
Cursor Free VIP:终极指南解锁AI编程助手完整功能
Cursor Free VIP:终极指南解锁AI编程助手完整功能 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial r…...
2026最权威的AI科研神器推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek AI写作软件是智能工具,它基于自然语言处理跟深度学习技术,有着辅助用…...
OBS背景移除插件:零绿幕实现专业级直播虚化的终极指南
OBS背景移除插件:零绿幕实现专业级直播虚化的终极指南 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https://…...
上班摸鱼神器:Boss-Key终极隐私保护工具,一键隐藏所有尴尬窗口!
上班摸鱼神器:Boss-Key终极隐私保护工具,一键隐藏所有尴尬窗口! 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-…...
Qwen3智能字幕系统部署案例:中小企业视频号运营字幕自动化方案
Qwen3智能字幕系统部署案例:中小企业视频号运营字幕自动化方案 1. 引言:视频运营的字幕痛点与解决方案 在短视频内容爆发的时代,中小企业视频号运营面临一个共同难题:字幕制作。传统手动添加字幕的方式不仅耗时耗力,…...
WAN2.2文生视频+SDXL Prompt风格保姆级教程:零基础5分钟生成你的第一段AI视频
WAN2.2文生视频SDXL Prompt风格保姆级教程:零基础5分钟生成你的第一段AI视频 1. 教程目标与准备工作 1.1 你能学到什么 通过本教程,你将掌握: 如何在5分钟内完成WAN2.2文生视频环境的搭建使用中文提示词直接生成高质量视频的完整流程SDXL…...
Qwen3-4B模型在STM32嵌入式开发中的应用:代码注释生成与调试日志分析
Qwen3-4B模型在STM32嵌入式开发中的应用:代码注释生成与调试日志分析 如果你是一位STM32开发者,下面这个场景你一定不陌生:面对一段几个月前自己写的、涉及复杂定时器配置或CAN总线通信的代码,你皱着眉头看了半天,愣是…...
