IGMP——组播成员端网络协议

目录

一.IGMP基本概念

(1)组播转发困境

(2)感知组播成员方式

(3)IGMP版本

二.IGMP各版本的区别与联系

(1)IGMPV1

1.普遍组查询报文

2.成员关系报告报文

3.IGMPV1报文格式

4.IGMPv1工作机制

5.IGMPV1查询器选举机制

6.IGMPV1离组机制

(2)IGMPv2

1.添加离组机制

2.添加查询器选举机制

(3)IGMPV3

1.添加特定源组查询报文

2.无专门Leave报文

三.IGMP特性

(1)IGMP Snooping——嗅探

(2)IGMP SSM Mapping

(3)IGMP代理


一.IGMP基本概念

用于组播成员端网络,感知组播组ID,组播成员位置。

(1)组播转发困境

组播工作原理是将组播信息发给一组特定组播成员,组播源发出组播数据时并不在意接收者的位置,所以需要IGMP感知组播成员的位置

(2)感知组播成员方式

静态——当然可以静态绑定,但这样不方便大型组网

动态——IGMP感知

接收者与最后一跳路由器建立维护组播成员关系。

(3)IGMP版本

有v1 v2 v3 三个版本

维护IGMP路由表项(组播组)和IGMP组表项(入接口)

组表项(*,G),用户向组播组发送IGMP加入报文,包括组ID,不知道出接口,*表示未知组播源

路由表项(S,G),用户加入组播组,包括组播组和出接口,S表示源IP地址

二.IGMP各版本的区别与联系

已知IGMP可发现组播成员,是组播网络的构成的一部分,那么IGMP如何实现发现成员网络,或者说如何获取出接口与组播组信息呐?

(1)IGMPV1

IGMPv1包含两个报文——普遍组查询报文,成员关系报告报文

1.普遍组查询报文

查询器(路由器)向共享网络中所有路由器和主机发送的查询报文,感知组播组成员

2.成员关系报告报文

成员向查询器(router)发,申请加入组,响应普通组查询报文

(查询器是发送组播查询报文的路由器,只有一台,如果最后一跳路由器有两个就选出一个作为查询器)

3.IGMPV1报文格式

version ——版本

type ——报文类型

0x11—普通组查询报文

0x12——成员关系报告报文

group address —— 加入组播组地址

4.IGMPv1工作机制

成员关系报告报文工作机制

(1)启动随机定时器(0-10S之间),PC1,PC2的定时器时间为随机数

        假设PC1为4S,PC2为6S

(2).PC1先倒计时结束,PC1先发送成员关系报告报文,是组播报文,

(3)PC2可以收到组播报文(PC1的成员关系报告报文),PC2倒计时结束时,发现PC1已经发         了,开启成员关抑抑制报文,不再发成员关系报告报文

5.IGMPV1查询器选举机制

无选举机制,依靠PIM选举

6.IGMPV1离组机制

不主动离组,静默离开

(2)IGMPv2

是在IGMPV1基础上建立的,普遍组查询报文和成员关系报告报文与IGMPV1相同

1.添加离组机制

IGMPV1静默离开,离组时间130S很长,IGMPV2进行改进

IGMPv2 是主动离开。

特定组查询报文与Leave报文一起完成成员主动离开

超过4S没收到成员关系报告报文就认为超时

2.添加查询器选举机制

(3)IGMPV3

IGMPV2都没有组播源的信息,属于ASM,

IGMPV3添加组播源信息,支持SSM网络

1.添加特定源组查询报文

成员关系报告报文有组播源信息

可能同组用户有不同源,取消成员抑制报文

2.无专门Leave报文

成员关系报告报文添加include (接收某些源)exclude(拒接某些源)

三.IGMP特性

(1)IGMP Snooping——嗅探

成员端网络希望最后一跳路由器按组发送组播数据,但最后一跳路由器与主机之间会有交换机,

交换机依靠泛洪传输数据,这就与广播处理的问题一样了

我们就利用IGMP Snooping——嗅探来解决这个问题

二层交换机侦听查询器与成员之间的IGMP报文,学习到组播组与出接口关系,在二层(数据链路层按需转发)

端口角色

路由器端口——二层组播朝向三层组播转发设备

成员端口——组播接口映射关系

关注成员离开,成员报告报文,普通查询报文

(2)IGMP SSM Mapping

用于不支持IGMPV3的情况

v1 v2无组播源信息,无法构建SSM网络

静态方式绑定组播组和组播源

(3)IGMP代理

有些情况下,成员离组或加组并不会改变组播路由表项或组播组表项,查询器却会收到报文,会处理大量组成员情况

就有了IGMP Proxy 代理接收成员关系报告报文,Leave,不影响组播表项的就不发给查询器

接口角色

主机接口——代理的接口,面向查询器,

路由器接口——面向组成员

这个要记清楚,与他名字的意思相反

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java第十七课 —— 递归

方法递归调用 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂问题,同时可以让代码变得简洁。 递归重要规则 执行一个方法时,就创建一个新的受保护的独立空间(栈空间)。方…

922. 按奇偶排序数组 II - 力扣

1. 题目 给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。 对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 ;当 nums[i] 为偶数时, i 也是 偶数 。 你可以返回 任何满足上述…

微服务架构-异步消息传递设计模式

微服务架构-异步消息传递设计模式 异步消息允许服务发送消息后立即返回,而不需要等待消息被处理完毕,这种异步方式可以大大提高系统的处理速度、和吞吐量。 微服务架构,通常涉及多个服务之间的相互调用,如果通信只是在少数几个微…

lama-cleaner中的Paint-by-Example使用

Lama Cleaner是一个免费的、开源的、完全自托管的修复工具,里面提供了很多最前沿的AIGC模型。可以使用它从图片中删除任何不需要的物体、缺陷、人物,或删除和替换图片上的任何内容。本文章详细介绍了该工具的所有功能,并体验了下每个功能的实…

Shell编程之正则表达式与文本处理器

一、正则表达式 之前学习了 Shell 脚本的基础用法,已经可以利用条件判断、循环等语句编辑 Shell 脚本。接下来我们将开始介绍一个很重要的概念——正则表达式(RegularExpression,RE)。 1.1正则表达式概述 下面先来了解一下正则表…

BUUCTF---web---[BJDCTF2020]ZJCTF,不过如此

1、点开连接,页面出现了提示 传入一个参数text,里面的内容要包括I have a dream。 构造:?/textI have a dream。发现页面没有显示。这里推测可能得使用伪协议 在文件包含那一行,我们看到了next.php的提示,我们尝试读取…

卢文岩博士受邀参与中国科学院大学校友论坛 解码DPU核心价值

近日,第五届中国科学院大学校友创新论坛正式举行,本次论坛聚焦科技前沿领域,旨在搭建高端对话平台,促进产学研深度融合。在大算力时代——AI技术前沿沙龙上,中科驭数高级副总裁、CTO卢文岩博士受邀分享《DPU——连接算…

Mac | Mac 移动硬盘无法分区问题

现象问题 电脑配置:MacBook Pro M1,系统 Sonoma Mac 系统新升级了 Sonoma,结果出现各种问题。外接屏幕居然不能旋转 90 ,查了一下是Sonoma系统导致的,以及莫名发热的问题。想着要么回退一下系统算了,于是网…

unity3D获取某天的0点和23点59分59秒

系列文章目录 unity工具 文章目录 系列文章目录unity工具 👉一、前言👉二、获取某一天的0点和23点59分59秒1-1.代码如下1-2.调用方法如下1-2-1.获取当天的时间1-2-2.获取某一天的时间 👉三、当月第一天0时0分0秒👉四、当月最后一…

3D点云焊缝提取 平面交线 投影

文章目录 1. 效果2. 思路3. 源码 1. 效果 2. 思路 计算点云法向量;计算点云位姿Pose;翻转Pose中的Z轴方向,使其一致;通过Pose的Z轴对点云进行方向过滤;对点云聚类;根据目标点云的高度提取目标点云;提取两块…

从 0 开始实现一个博客系统 (SSM 项目)

相关技术 Spring Spring Boot Spring MVC MyBatis Html Css JS pom 文件我就不放出来了, 之前用的 jdk8 做的, MySQL 用的 5.7, 都有点老了, 你们自己看着配版本就好 实现功能 用户注册 - 密码加盐加密 (md5 加密)前后端用户信息存储 - 令牌技术用户登录 - (使用 拦截…

外汇天眼:风险预警!以下平台监管牌照被撤销!

监管信息早知道!外汇天眼将每周定期公布监管牌照状态发生变化的交易商,以供投资者参考,规避投资风险。如果平台天眼评分过高,建议投资者谨慎选择,因为在外汇天眼评分高不代表平台没问题! 以下是监管牌照发生…

DISCO: Disentangled Control for Realistic Human Dance Generation

NTU&Microsoft CVPR24https://github.com/Wangt-CN/DisCo 问题引入 提高human motion transfer模型的泛化性;给出 f , g f,g f,g作为参考图片的前背景,然后给出单个pose p p t pp_t ppt​或者pose序列 p { p 1 , p 2 , ⋯ , p T } p \{p_1,p_2…

流水账(CPU设计实战)——lab3

Lab3 Rewrite V1.0 版本控制 版本描述V0V1.0相对V0变化: 修改了文件名,各阶段以_stage结尾(因为if是关键词,所以module名不能叫if,遂改为if_stage,为了统一命名,将所有module后缀加上_stage&a…

杭州威雅学校:在学业与生活平衡中找到更好的自己

进入威雅杭州校园, 沿湖边小道步行约5分钟, 四栋寄宿学院与教学区隔湖相望, 威雅人更喜欢叫他们: 「Cavell」&「Dove」 「Elgar」&「Hawking」 提起「寄宿制」,人们本能地会把它和「住校」划等号。 这种…

css中实现背景方格

background: rgba(241,241,241,0.1); background-image:linear-gradient(90deg, rgba(241,243,244,1) 10%, transparent 0),linear-gradient(rgba()241,243,244,1 10%, transparent 0); background-size: 10px 10px; 表现出来的样子就是这个样子

96.网络游戏逆向分析与漏洞攻防-ui界面的设计-角色管理功能的界面设计

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

机器之心 | 清华接手,YOLOv10问世:性能大幅提升,登上GitHub热榜

本文来源公众号“机器之心”,仅用于学术分享,侵权删,干货满满。 原文链接:清华接手,YOLOv10问世:性能大幅提升,登上GitHub热榜 相同性能情况下,延迟减少 46%,参数减少 2…

超市进销存|基于SprinBoot+vue的超市进销存系统(源码+数据库+文档)

超市进销存系统 目录 基于SprinBootvue的超市进销存系统 一、前言 二、系统设计 三、系统功能设计 1 登录注册 2 管理员功能模块 3员工功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#x…

多系统集成的项目周期为何普遍较长?

在现代企业的运营中,各种信息系统的集成已成为提升效率和竞争力的关键。然而,当工厂的ERP系统需要与MES、SRM、WMS、CRM等其他系统集成时,项目周期往往长达一年以上,这不仅耗费时间、人力和财力,还可能影响企业的正常运…